diff --git a/providers/src/confluent/v00.00.00000/provider.yaml b/providers/src/confluent/v00.00.00000/provider.yaml index 2eb34966..eb1221c3 100644 --- a/providers/src/confluent/v00.00.00000/provider.yaml +++ b/providers/src/confluent/v00.00.00000/provider.yaml @@ -3,203 +3,257 @@ name: confluent version: v00.00.00000 providerServices: billing: - id: 'billing:v00.00.00000' + id: billing:v00.00.00000 name: billing preferred: true service: $ref: confluent/v00.00.00000/services/billing.yaml - title: Confluent Cloud APIs - Billing + title: billing API version: v00.00.00000 - description: Billing + description: confluent billing API catalog: - id: 'catalog:v00.00.00000' + id: catalog:v00.00.00000 name: catalog preferred: true service: $ref: confluent/v00.00.00000/services/catalog.yaml - title: Confluent Cloud APIs - Catalog + title: catalog API version: v00.00.00000 - description: Catalog + description: confluent catalog API + ccl: + id: ccl:v00.00.00000 + name: ccl + preferred: true + service: + $ref: confluent/v00.00.00000/services/ccl.yaml + title: ccl API + version: v00.00.00000 + description: confluent ccl API + ccpm: + id: ccpm:v00.00.00000 + name: ccpm + preferred: true + service: + $ref: confluent/v00.00.00000/services/ccpm.yaml + title: ccpm API + version: v00.00.00000 + description: confluent ccpm API connect: - id: 'connect:v00.00.00000' + id: connect:v00.00.00000 name: connect preferred: true service: $ref: confluent/v00.00.00000/services/connect.yaml - title: Confluent Cloud APIs - Connect + title: connect API version: v00.00.00000 - description: Connect + description: confluent connect API encryption_keys: - id: 'encryption_keys:v00.00.00000' + id: encryption_keys:v00.00.00000 name: encryption_keys preferred: true service: $ref: confluent/v00.00.00000/services/encryption_keys.yaml - title: Confluent Cloud APIs - Encryption Keys + title: encryption_keys API version: v00.00.00000 - description: Encryption Keys + description: confluent encryption_keys API + endpoints: + id: endpoints:v00.00.00000 + name: endpoints + preferred: true + service: + $ref: confluent/v00.00.00000/services/endpoints.yaml + title: endpoints API + version: v00.00.00000 + description: confluent endpoints API flink_artifacts: - id: 'flink_artifacts:v00.00.00000' + id: flink_artifacts:v00.00.00000 name: flink_artifacts preferred: true service: $ref: confluent/v00.00.00000/services/flink_artifacts.yaml - title: Confluent Cloud APIs - Flink Artifacts + title: flink_artifacts API version: v00.00.00000 - description: Flink Artifacts + description: confluent flink_artifacts API flink_compute_pools: - id: 'flink_compute_pools:v00.00.00000' + id: flink_compute_pools:v00.00.00000 name: flink_compute_pools preferred: true service: $ref: confluent/v00.00.00000/services/flink_compute_pools.yaml - title: Confluent Cloud APIs - Flink Compute Pools + title: flink_compute_pools API version: v00.00.00000 - description: Flink Compute Pools + description: confluent flink_compute_pools API iam: - id: 'iam:v00.00.00000' + id: iam:v00.00.00000 name: iam preferred: true service: $ref: confluent/v00.00.00000/services/iam.yaml - title: Confluent Cloud APIs - Iam + title: iam API version: v00.00.00000 - description: Iam + description: confluent iam API kafka: - id: 'kafka:v00.00.00000' + id: kafka:v00.00.00000 name: kafka preferred: true service: $ref: confluent/v00.00.00000/services/kafka.yaml - title: Confluent Cloud APIs - Kafka + title: kafka API version: v00.00.00000 - description: Kafka + description: confluent kafka API ksqldb_clusters: - id: 'ksqldb_clusters:v00.00.00000' + id: ksqldb_clusters:v00.00.00000 name: ksqldb_clusters preferred: true service: $ref: confluent/v00.00.00000/services/ksqldb_clusters.yaml - title: Confluent Cloud APIs - Ksqldb Clusters + title: ksqldb_clusters API version: v00.00.00000 - description: Ksqldb Clusters + description: confluent ksqldb_clusters API managed_kafka_clusters: - id: 'managed_kafka_clusters:v00.00.00000' + id: managed_kafka_clusters:v00.00.00000 name: managed_kafka_clusters preferred: true service: $ref: confluent/v00.00.00000/services/managed_kafka_clusters.yaml - title: Confluent Cloud APIs - Managed Kafka Clusters + title: managed_kafka_clusters API version: v00.00.00000 - description: Managed Kafka Clusters + description: confluent managed_kafka_clusters API networking: - id: 'networking:v00.00.00000' + id: networking:v00.00.00000 name: networking preferred: true service: $ref: confluent/v00.00.00000/services/networking.yaml - title: Confluent Cloud APIs - Networking + title: networking API version: v00.00.00000 - description: Networking + description: confluent networking API notifications: - id: 'notifications:v00.00.00000' + id: notifications:v00.00.00000 name: notifications preferred: true service: $ref: confluent/v00.00.00000/services/notifications.yaml - title: Confluent Cloud APIs - Notifications + title: notifications API version: v00.00.00000 - description: Notifications + description: confluent notifications API org: - id: 'org:v00.00.00000' + id: org:v00.00.00000 name: org preferred: true service: $ref: confluent/v00.00.00000/services/org.yaml - title: Confluent Cloud APIs - Org + title: org API version: v00.00.00000 - description: Org + description: confluent org API partner: - id: 'partner:v00.00.00000' + id: partner:v00.00.00000 name: partner preferred: true service: $ref: confluent/v00.00.00000/services/partner.yaml - title: Confluent Cloud APIs - Partner - version: v00.00.00000 - description: Partner - pipelines: - id: 'pipelines:v00.00.00000' - name: pipelines - preferred: true - service: - $ref: confluent/v00.00.00000/services/pipelines.yaml - title: Confluent Cloud APIs - Pipelines + title: partner API version: v00.00.00000 - description: Pipelines + description: confluent partner API provider_integrations: - id: 'provider_integrations:v00.00.00000' + id: provider_integrations:v00.00.00000 name: provider_integrations preferred: true service: $ref: confluent/v00.00.00000/services/provider_integrations.yaml - title: Confluent Cloud APIs - Provider Integrations + title: provider_integrations API version: v00.00.00000 - description: Provider Integrations + description: confluent provider_integrations API quotas: - id: 'quotas:v00.00.00000' + id: quotas:v00.00.00000 name: quotas preferred: true service: $ref: confluent/v00.00.00000/services/quotas.yaml - title: Confluent Cloud APIs - Quotas + title: quotas API version: v00.00.00000 - description: Quotas + description: confluent quotas API schema_registry: - id: 'schema_registry:v00.00.00000' + id: schema_registry:v00.00.00000 name: schema_registry preferred: true service: $ref: confluent/v00.00.00000/services/schema_registry.yaml - title: Confluent Cloud APIs - Schema Registry + title: schema_registry API version: v00.00.00000 - description: Schema Registry + description: confluent schema_registry API schema_registry_clusters: - id: 'schema_registry_clusters:v00.00.00000' + id: schema_registry_clusters:v00.00.00000 name: schema_registry_clusters preferred: true service: $ref: confluent/v00.00.00000/services/schema_registry_clusters.yaml - title: Confluent Cloud APIs - Schema Registry Clusters + title: schema_registry_clusters API version: v00.00.00000 - description: Schema Registry Clusters + description: confluent schema_registry_clusters API + share_group: + id: share_group:v00.00.00000 + name: share_group + preferred: true + service: + $ref: confluent/v00.00.00000/services/share_group.yaml + title: share_group API + version: v00.00.00000 + description: confluent share_group API sql: - id: 'sql:v00.00.00000' + id: sql:v00.00.00000 name: sql preferred: true service: $ref: confluent/v00.00.00000/services/sql.yaml - title: Confluent Cloud APIs - Sql + title: sql API version: v00.00.00000 - description: Sql + description: confluent sql API stream_sharing: - id: 'stream_sharing:v00.00.00000' + id: stream_sharing:v00.00.00000 name: stream_sharing preferred: true service: $ref: confluent/v00.00.00000/services/stream_sharing.yaml - title: Confluent Cloud APIs - Stream Sharing + title: stream_sharing API + version: v00.00.00000 + description: confluent stream_sharing API + streams_group: + id: streams_group:v00.00.00000 + name: streams_group + preferred: true + service: + $ref: confluent/v00.00.00000/services/streams_group.yaml + title: streams_group API version: v00.00.00000 - description: Stream Sharing + description: confluent streams_group API sts: - id: 'sts:v00.00.00000' + id: sts:v00.00.00000 name: sts preferred: true service: $ref: confluent/v00.00.00000/services/sts.yaml - title: Confluent Cloud APIs - Sts + title: sts API + version: v00.00.00000 + description: confluent sts API + tableflow: + id: tableflow:v00.00.00000 + name: tableflow + preferred: true + service: + $ref: confluent/v00.00.00000/services/tableflow.yaml + title: tableflow API + version: v00.00.00000 + description: confluent tableflow API + usm: + id: usm:v00.00.00000 + name: usm + preferred: true + service: + $ref: confluent/v00.00.00000/services/usm.yaml + title: usm API version: v00.00.00000 - description: Sts + description: confluent usm API config: auth: type: basic diff --git a/providers/src/confluent/v00.00.00000/services/billing.yaml b/providers/src/confluent/v00.00.00000/services/billing.yaml index a70baea0..7b9ff134 100644 --- a/providers/src/confluent/v00.00.00000/services/billing.yaml +++ b/providers/src/confluent/v00.00.00000/services/billing.yaml @@ -1,1095 +1,365 @@ openapi: 3.0.0 -servers: - - url: 'https://api.confluent.cloud' - description: Confluent Cloud API -info: - version: '' - contact: - name: Confluent Cloud - url: 'https://www.confluent.io/cloud-contact-us/' - email: support@confluent.io - x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b - x-audience: external-public - x-logo: - url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' - title: Confluent Cloud APIs - billing - description: billing -tags: - - name: API Keys (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. - - The API allows you to list, create, update and delete your API Keys. - - - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - - ## The API Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - - name: Environments (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. - - - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - - ## The Environments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - - name: Organizations (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). - - The API allows you to list, view, and update your organizations. - - - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - - ## The Organizations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - - name: Users (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `User` objects represent individuals who may access your Confluent resources. - - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. - - - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). - - ## The Users Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - - name: Service Accounts (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. - - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. - - - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). - - ## The Service Accounts Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - - name: Invitations (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. - - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. - - - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). - - ## The Invitations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - - name: IP Groups (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) - - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. - - - ## The IP Groups Model - - - name: IP Filters (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. - - - ## The IP Filters Model - - - name: Role Bindings (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A role binding grants a Principal a role on resources that match a pattern. - - The API allows you to perform create, delete, and list operations on role bindings. - - - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). - - ## The Role Bindings Model - - - name: Subscriptions (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. - - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Subscriptions Model - - - name: Integrations (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Integrations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - - name: Notification Types (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The type of notifications (and their corresponding metadata) supported by Confluent. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Notification Types Model - - - name: Clusters (cmk/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Kafka clusters. - - - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - - name: Clusters (ksqldbcm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. - - - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the following quotas: - - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - - name: Connectors (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for Managed Connectors or Custom Connectors in Confluent Cloud. - - The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. - - Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). - - Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - name: Lifecycle (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. - - name: Status (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. - - name: Managed Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for Managed connectors in Confluent Cloud. - - name: Offsets (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the offsets for a Managed Connector. - - Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) - - name: Custom Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Custom Connector Plugins Model - - - name: Presigned Urls (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Presigned Urls Model - - - name: Cluster (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Configs (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: ACL (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Consumer Group (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Partition (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Topic (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Records (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Cluster Linking (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Applied Quotas (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. - - - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - - ## The Applied Quotas Model - - - name: Scopes (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Gets a list of all available scopes for applied quotas. - - - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). - - ## The Scopes Model - - - name: Entitlements (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Entitlement` objects represent metadata about a marketplace entitlement. - - An entitlement includes metadata about a marketplace purchase - (start date, end date, billing information, partner IDs, etc). - The API allows partners to create, read, and list entitlements. (Unless you - need entitlement creation and customer registration to be separate, - we recommend using the Signup API to create an organization and entitlement - at the same time) - - The API only allows authorized partners to interact with the Entitlements API. - - name: Regions (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. - - - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Regions Model - - - name: Clusters (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list, create, read, and delete your Schema Registry clusters. - - - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Clusters Model - - - name: Clusters (srcm/v3) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list and read your Schema Registry clusters. - - - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - - ## The Clusters Model - - - name: Compatibility (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to test schema compatibility. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Config (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to manage and query schema compatibility settings and cluster configurations. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Contexts (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to retrieve information about schema contexts. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Exporters (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete exporters. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Modes (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects modes of operation. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Schemas (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schemas. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Subjects (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects and versions. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Key Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete key encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Data Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete data encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Entity (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Search (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to search for entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Types (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Provider Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. - - - ## The Provider Shared Resources Model - - - name: Provider Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderShare` object respresents the share that you have created through Stream Sharing. - - - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). - - ## The Provider Shares Model - - - name: Consumer Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. - - - ## The Consumer Shared Resources Model - - - name: Consumer Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerShare` object respresents the share that you received through Stream Sharing. - - - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). - - ## The Consumer Shares Model - - - name: Shared Tokens (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Encrypted Token shared with consumer - - - ## The Shared Tokens Model - - - name: Opt Ins (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Stream sharing opt in options - - ## The Opt Ins Model - - - name: Organizations (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Organizations` objects represent an entire Confluent Cloud organization. - Partners are allowed to get an organization they have signed up or - list all organizations they have signed up. - - name: Signup (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Signup` APIs can only be performed by partners. - - name: Networks (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. - - The API allows you to list, create, read, update, and delete your networks. - - - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - - ## The Networks Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - - name: Peerings (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - - - ## The Peerings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - - name: Transit Gateway Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AWS Transit Gateway Attachments - - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - - ## The Transit Gateway Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - - name: Private Link Accesses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. - - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). - - - ## The Private Link Accesses Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - - name: Network Link Services (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Services Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - - name: Network Link Endpoints (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Endpoints Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - - name: Network Link Service Associations (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - List of incoming Network Link Enpoints associated with the Network Link Service. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Service Associations Model - - - name: Gateways (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A gateway is a resource that defines network access to Confluent cloud resources. - - - ## The Gateways Model - - - name: IP Addresses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - IP Addresses - - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) - - ## The IP Addresses Model - - - name: Private Link Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. - - - ## The Private Link Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - - name: Private Link Attachment Connections (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. - - - ## The Private Link Attachment Connections Model - - - name: Identity Providers (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Identity Provider. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Identity Providers Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - - name: Jwks (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. - - The API allows you to refresh JWKS public key data. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Jwks Model - - - name: Identity Pools (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. - - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. - - - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). - - ## The Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - - name: OAuth Tokens (sts/v1) - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of - external identities to access Confluent Cloud APIs - - name: Client Quotas (kafka-quotas/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ClientQuota` objects represent Client Quotas you can set at the service account level. - - The API allows you to list, create, read, update, and delete your client quotas. - - - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - - ## The Client Quotas Model - - - name: Pipelines (sd/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. - - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. - - - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). - - ## The Pipelines Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - - name: Keys (byok/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. - - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. - - - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). - - ## The Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - - name: Costs (billing/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cost` objects represent the aggregated billing costs for an organization - - - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). - - ## The Costs Model - - - name: Group Mappings (iam/v2/sso) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. - - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. - - - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). - - ## The Group Mappings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - - name: Compute Pools (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. - - - ## The Compute Pools Model - - - name: Regions (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. - - - ## The Regions Model - - - name: Statements (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - - name: Statement Results (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementResult` represents a result of a `Statement` resource. - The API allows you to read your statement's results. - ## The Statement Results Model - - - name: Statement Exceptions (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementException` represents an exception of a `Statement` resource. - The API allows you to read your statement's exceptions. - ## The Statement Exceptions Model - - - name: Connections (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Connection` represents a core resource used to model SQL connections for execution. - A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - - name: DNS Forwarders (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add, remove, and update DNS forwarder for your gateway. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - - - ## The DNS Forwarders Model - - - name: Access Points (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. - - - ## The Access Points Model - - - name: DNS Records (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - - ## The DNS Records Model - - - name: Certificate Authorities (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Certificate Authority. - - - Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). - - ## The Certificate Authorities Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `certificate_authorities_per_org` | Number of certificate authorities per organization | - - name: Certificate Identity Pools (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Identitypool` objects represent workload identities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities - - - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). - - ## The Certificate Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - - name: Integrations (pim/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). - - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. - - - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). - - ## The Integrations Model - - - name: Flink Artifacts (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. +info: + title: billing API + description: confluent billing API + version: 1.0.0 +paths: + /billing/v1/costs: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listBillingV1Costs + summary: List of Costs + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Flink Artifacts Model - - - name: Presigned Urls (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + Retrieve a sorted, filtered, paginated list of all costs. + parameters: + - name: start_date + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: '2022-10-12' + description: Filter the results by exact match for start_date. + - name: end_date + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: '2022-10-15' + description: Filter the results by exact match for end_date. + - name: page_size + in: query + required: false + schema: + type: integer + default: 5000 + maximum: 10000 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Costs (billing/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Cost. + content: + application/json: + schema: + type: object + description: >- + `Cost` objects represent the aggregated billing costs for an + organization - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - ## The Presigned Urls Model - - - name: Flink Artifact Versions (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + Related guide: [Retrieve costs for a range of + dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). - FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + ## The Costs Model - ## The Flink Artifact Versions Model - + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - billing/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CostList + metadata: + type: object + description: >- + CostListMeta describes metadata that resource collections + may have + properties: + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `Cost` objects represent the aggregated billing costs + for an organization + + + + Related guide: [Retrieve costs for a range of + dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + + ## The Costs Model + + + properties: + api_version: + type: string + enum: + - billing/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - Cost + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + start_date: + type: string + format: date + example: '2022-10-12' + description: >- + Start date of time period (inclusive) to retrieve + billing costs. It is represented in RFC3339 format + and is in UTC. + end_date: + type: string + format: date + example: '2022-10-15' + description: >- + End date of time period (exclusive) to retrieve + billing costs. It is represented in RFC3339 format + and is in UTC. + granularity: + type: string + x-extensible-enum: + - DAILY + default: DAILY + description: Granularity at which each line item is aggregated. + network_access_type: + type: string + x-extensible-enum: + - INTERNET + - TRANSIT_GATEWAY + - PRIVATE_LINK + - PEERED_VPC + - PNI + - MULTI + example: INTERNET + description: Network access type for the cluster. + product: + type: string + x-extensible-enum: + - KAFKA + - CONNECT + - KSQL + - AUDIT_LOG + - STREAM_GOVERNANCE + - CLUSTER_LINK + - CUSTOM_CONNECT + - FLINK + - TABLEFLOW + - SUPPORT_CLOUD_BASIC + - SUPPORT_CLOUD_DEVELOPER + - SUPPORT_CLOUD_BUSINESS + - SUPPORT_CLOUD_PREMIER + - USM + example: KAFKA + description: Product name. + line_type: + type: string + x-extensible-enum: + - KAFKA_STORAGE + - KAFKA_PARTITION + - KAFKA_NETWORK_READ + - KAFKA_NETWORK_WRITE + - KAFKA_BASE + - KAFKA_NUM_CKUS + - KAFKA_REST_PRODUCE + - KSQL_NUM_CSUS + - CONNECT_CAPACITY + - CONNECT_NUM_TASKS + - CONNECT_THROUGHPUT + - CONNECT_NUM_RECORDS + - SUPPORT + - CLUSTER_LINKING_PER_LINK + - CLUSTER_LINKING_WRITE + - CLUSTER_LINKING_READ + - AUDIT_LOG_READ + - GOVERNANCE_BASE + - SCHEMA_REGISTRY + - PROMO_CREDIT + - CUSTOM_CONNECT_NUM_TASKS + - CUSTOM_CONNECT_THROUGHPUT + - NUM_RULES + - FLINK_NUM_CFUS + - TABLEFLOW_DATA_PROCESSED + - TABLEFLOW_NUM_TOPICS + - TABLEFLOW_STORAGE + - USM_CONNECTED_NODE + - KAFKA_STREAMS + example: KAFKA_NUM_CKUS + description: Type of the line item. + price: + type: number + format: double + example: 1.5 + description: Price for the line item in dollars. + unit: + type: string + example: GB + description: Unit of the line item. + quantity: + type: number + format: double + example: 99.9 + description: Quantity of the line item. + original_amount: + type: number + format: double + example: 149.85 + description: Original amount accrued for this line item. + discount_amount: + type: number + format: double + example: 20.85 + description: >- + Amount discounted from the original amount in + dollars. + amount: + type: number + format: double + example: 129 + description: Final amount after deducting discounts. + description: + type: string + example: KAFKA101 + description: Additional details about promotional offers/credits. + tier_dimensions: + type: object + additionalProperties: + type: string + description: >- + Tier dimensions which exist for tiered pricing cost + items only. + x-go-type: map[string]string + example: + provider: aws + region: us-east-1 + connector_type: BigQuerySink + resource: + description: The resource for a given object + type: object + properties: + id: + type: string + description: ID of the resource. + example: lkc-12345 + display_name: + type: string + description: Display name of the resource. + example: prod-kafka-cluster + environment: + description: The environment associated with this resource + nullable: true + type: object + properties: + id: + type: string + description: ID of the environment. + example: env-123 + required: + - id + - start_date + - end_date + - unit + - original_amount + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true components: schemas: SearchFilter: @@ -1097,13 +367,18 @@ components: type: string billing.v1.CostList: type: object - description: |- - `Cost` objects represent the aggregated billing costs for an organization + description: >- + `Cost` objects represent the aggregated billing costs for an + organization + - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + Related guide: [Retrieve costs for a range of + dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + ## The Costs Model + required: - api_version @@ -1115,7 +390,9 @@ components: type: string enum: - billing/v1 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string @@ -1124,51 +401,260 @@ components: enum: - CostList metadata: - allOf: - - $ref: '#/components/schemas/CostListMeta' - - properties: - next: - example: 'https://api.confluent.cloud/billing/v1/costs?page_token=UvmDWOB1iwfAIBPj6EYb' + type: object + description: CostListMeta describes metadata that resource collections may have + properties: + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb data: type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. items: - allOf: - - $ref: '#/components/schemas/billing.v1.Cost' - - type: object - required: - - id - - start_date - - end_date - - unit - - original_amount + type: object + description: >- + `Cost` objects represent the aggregated billing costs for an + organization + + + + Related guide: [Retrieve costs for a range of + dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + + ## The Costs Model + + + properties: + api_version: + type: string + enum: + - billing/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Cost + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + start_date: + type: string + format: date + example: '2022-10-12' + description: >- + Start date of time period (inclusive) to retrieve billing + costs. It is represented in RFC3339 format and is in UTC. + end_date: + type: string + format: date + example: '2022-10-15' + description: >- + End date of time period (exclusive) to retrieve billing costs. + It is represented in RFC3339 format and is in UTC. + granularity: + type: string + x-extensible-enum: + - DAILY + default: DAILY + description: Granularity at which each line item is aggregated. + network_access_type: + type: string + x-extensible-enum: + - INTERNET + - TRANSIT_GATEWAY + - PRIVATE_LINK + - PEERED_VPC + - PNI + - MULTI + example: INTERNET + description: Network access type for the cluster. + product: + type: string + x-extensible-enum: + - KAFKA + - CONNECT + - KSQL + - AUDIT_LOG + - STREAM_GOVERNANCE + - CLUSTER_LINK + - CUSTOM_CONNECT + - FLINK + - TABLEFLOW + - SUPPORT_CLOUD_BASIC + - SUPPORT_CLOUD_DEVELOPER + - SUPPORT_CLOUD_BUSINESS + - SUPPORT_CLOUD_PREMIER + - USM + example: KAFKA + description: Product name. + line_type: + type: string + x-extensible-enum: + - KAFKA_STORAGE + - KAFKA_PARTITION + - KAFKA_NETWORK_READ + - KAFKA_NETWORK_WRITE + - KAFKA_BASE + - KAFKA_NUM_CKUS + - KAFKA_REST_PRODUCE + - KSQL_NUM_CSUS + - CONNECT_CAPACITY + - CONNECT_NUM_TASKS + - CONNECT_THROUGHPUT + - CONNECT_NUM_RECORDS + - SUPPORT + - CLUSTER_LINKING_PER_LINK + - CLUSTER_LINKING_WRITE + - CLUSTER_LINKING_READ + - AUDIT_LOG_READ + - GOVERNANCE_BASE + - SCHEMA_REGISTRY + - PROMO_CREDIT + - CUSTOM_CONNECT_NUM_TASKS + - CUSTOM_CONNECT_THROUGHPUT + - NUM_RULES + - FLINK_NUM_CFUS + - TABLEFLOW_DATA_PROCESSED + - TABLEFLOW_NUM_TOPICS + - TABLEFLOW_STORAGE + - USM_CONNECTED_NODE + - KAFKA_STREAMS + example: KAFKA_NUM_CKUS + description: Type of the line item. + price: + type: number + format: double + example: 1.5 + description: Price for the line item in dollars. + unit: + type: string + example: GB + description: Unit of the line item. + quantity: + type: number + format: double + example: 99.9 + description: Quantity of the line item. + original_amount: + type: number + format: double + example: 149.85 + description: Original amount accrued for this line item. + discount_amount: + type: number + format: double + example: 20.85 + description: Amount discounted from the original amount in dollars. + amount: + type: number + format: double + example: 129 + description: Final amount after deducting discounts. + description: + type: string + example: KAFKA101 + description: Additional details about promotional offers/credits. + tier_dimensions: + type: object + additionalProperties: + type: string + description: >- + Tier dimensions which exist for tiered pricing cost items + only. + x-go-type: map[string]string + example: + provider: aws + region: us-east-1 + connector_type: BigQuerySink + resource: + description: The resource for a given object + type: object + properties: + id: + type: string + description: ID of the resource. + example: lkc-12345 + display_name: + type: string + description: Display name of the resource. + example: prod-kafka-cluster + environment: + description: The environment associated with this resource + nullable: true + type: object + properties: + id: + type: string + description: ID of the environment. + example: env-123 + required: + - id + - start_date + - end_date + - unit + - original_amount uniqueItems: true CostListMeta: type: object description: CostListMeta describes metadata that resource collections may have properties: next: - description: 'A link to the next page of results. If a response does not contain a next link, then there is no more data available.' + description: >- + A link to the next page of results. If a response does not contain a + next link, then there is no more data available. type: string format: uri nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb' + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb billing.v1.Cost: type: object - description: |- - `Cost` objects represent the aggregated billing costs for an organization + description: >- + `Cost` objects represent the aggregated billing costs for an + organization - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + + Related guide: [Retrieve costs for a range of + dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + ## The Costs Model + properties: api_version: type: string enum: - billing/v1 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string @@ -1177,7 +663,13 @@ components: enum: - Cost id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). type: string maxLength: 255 readOnly: true @@ -1186,12 +678,16 @@ components: type: string format: date example: '2022-10-12' - description: Start date of time period (inclusive) to retrieve billing costs. It is represented in RFC3339 format and is in UTC. + description: >- + Start date of time period (inclusive) to retrieve billing costs. It + is represented in RFC3339 format and is in UTC. end_date: type: string format: date example: '2022-10-15' - description: End date of time period (exclusive) to retrieve billing costs. It is represented in RFC3339 format and is in UTC. + description: >- + End date of time period (exclusive) to retrieve billing costs. It is + represented in RFC3339 format and is in UTC. granularity: type: string x-extensible-enum: @@ -1205,6 +701,8 @@ components: - TRANSIT_GATEWAY - PRIVATE_LINK - PEERED_VPC + - PNI + - MULTI example: INTERNET description: Network access type for the cluster. product: @@ -1218,10 +716,12 @@ components: - CLUSTER_LINK - CUSTOM_CONNECT - FLINK + - TABLEFLOW - SUPPORT_CLOUD_BASIC - SUPPORT_CLOUD_DEVELOPER - SUPPORT_CLOUD_BUSINESS - SUPPORT_CLOUD_PREMIER + - USM example: KAFKA description: Product name. line_type: @@ -1240,310 +740,112 @@ components: - CONNECT_THROUGHPUT - CONNECT_NUM_RECORDS - SUPPORT - - CLUSTER_LINKING_PER_LINK - - CLUSTER_LINKING_WRITE - - CLUSTER_LINKING_READ - - AUDIT_LOG_READ - - GOVERNANCE_BASE - - SCHEMA_REGISTRY - - PROMO_CREDIT - - CUSTOM_CONNECT_NUM_TASKS - - CUSTOM_CONNECT_THROUGHPUT - - NUM_RULES - - FLINK_NUM_CFUS - example: KAFKA_NUM_CKUS - description: Type of the line item. - price: - type: number - format: double - example: 1.5 - description: Price for the line item in dollars. - unit: - type: string - example: GB - description: Unit of the line item. - quantity: - type: number - format: double - example: 99.9 - description: Quantity of the line item. - original_amount: - type: number - format: double - example: 149.85 - description: Original amount accrued for this line item. - discount_amount: - type: number - format: double - example: 20.85 - description: Amount discounted from the original amount in dollars. - amount: - type: number - format: double - example: 129 - description: Final amount after deducting discounts. - resource: - description: The resource for a given object - allOf: - - $ref: '#/components/schemas/billing.v1.Resource' - AclOperation: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - AclPatternType: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - MATCH - - LITERAL - - PREFIXED - AclPermission: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - DENY - - ALLOW - AclResourceType: - type: string - enum: - - UNKNOWN - - ANY - - TOPIC - - GROUP - - CLUSTER - - TRANSACTIONAL_ID - - DELEGATION_TOKEN - BrokerTaskType: - type: string - enum: - - add-broker - - remove-broker - MirrorTopicStatus: - enum: - - ACTIVE - - FAILED - - LINK_FAILED - - LINK_PAUSED - - PAUSED - - PENDING_STOPPED - - SOURCE_UNAVAILABLE - - STOPPED - - PENDING_MIRROR - - PENDING_SYNCHRONIZE - - PENDING_SETUP_FOR_RESTORE - - PENDING_RESTORE - type: string - Failure: - type: object - description: Provides information about problems encountered while performing an operation. - required: - - errors - properties: - errors: - description: List of errors which caused this operation to fail - type: array - items: - $ref: '#/components/schemas/Error' - uniqueItems: true - AlterConfigBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - operation: - type: string - x-extensible-enum: - - SET - - DELETE - nullable: true - validate_only: - type: boolean - CreateAclRequestData: - type: object - required: - - resource_type - - resource_name - - pattern_type - - principal - - host - - operation - - permission - properties: - resource_type: - $ref: '#/components/schemas/AclResourceType' - resource_name: - type: string - pattern_type: - $ref: '#/components/schemas/AclPatternType' - principal: - type: string - host: - type: string - operation: - $ref: '#/components/schemas/AclOperation' - permission: - $ref: '#/components/schemas/AclPermission' - CreateAclRequestDataList: - allOf: - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/CreateAclRequestData' - CreateTopicRequestData: - type: object - required: - - topic_name - properties: - topic_name: - type: string - partitions_count: - type: integer - replication_factor: - type: integer - configs: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - validate_only: - type: boolean - ProduceRequest: - type: object - properties: - partition_id: - type: integer - nullable: true - format: int32 - headers: - type: array - items: - $ref: '#/components/schemas/ProduceRequestHeader' - key: - $ref: '#/components/schemas/ProduceRequestData' - value: - $ref: '#/components/schemas/ProduceRequestData' - timestamp: - type: string - format: date-time - nullable: true - UpdateConfigRequestData: - type: object - properties: - value: - type: string - nullable: true - CreateLinkRequestData: - properties: - source_cluster_id: - type: string - destination_cluster_id: - type: string - remote_cluster_id: - description: The expected remote cluster ID. - type: string - cluster_link_id: - description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' - type: string - configs: - items: - $ref: '#/components/schemas/ConfigData' - type: array - type: object - UpdateLinkConfigRequestData: - properties: - value: - type: string - required: - - value - type: object - CreateMirrorTopicRequestData: - properties: - source_topic_name: + - CLUSTER_LINKING_PER_LINK + - CLUSTER_LINKING_WRITE + - CLUSTER_LINKING_READ + - AUDIT_LOG_READ + - GOVERNANCE_BASE + - SCHEMA_REGISTRY + - PROMO_CREDIT + - CUSTOM_CONNECT_NUM_TASKS + - CUSTOM_CONNECT_THROUGHPUT + - NUM_RULES + - FLINK_NUM_CFUS + - TABLEFLOW_DATA_PROCESSED + - TABLEFLOW_NUM_TOPICS + - TABLEFLOW_STORAGE + - USM_CONNECTED_NODE + - KAFKA_STREAMS + example: KAFKA_NUM_CKUS + description: Type of the line item. + price: + type: number + format: double + example: 1.5 + description: Price for the line item in dollars. + unit: type: string - mirror_topic_name: + example: GB + description: Unit of the line item. + quantity: + type: number + format: double + example: 99.9 + description: Quantity of the line item. + original_amount: + type: number + format: double + example: 149.85 + description: Original amount accrued for this line item. + discount_amount: + type: number + format: double + example: 20.85 + description: Amount discounted from the original amount in dollars. + amount: + type: number + format: double + example: 129 + description: Final amount after deducting discounts. + description: type: string - replication_factor: - type: integer - configs: - type: array - items: - $ref: '#/components/schemas/ConfigData' - required: - - source_topic_name - type: object - AlterMirrorsRequestData: - properties: - mirror_topic_names: - description: The mirror topics specified as a list of topic names. - type: array - items: + example: KAFKA101 + description: Additional details about promotional offers/credits. + tier_dimensions: + type: object + additionalProperties: type: string - mirror_topic_name_pattern: - description: The mirror topics specified as a pattern. - type: string - type: object - RemoveBrokersRequestData: - properties: - broker_ids: - type: array - items: - type: integer - required: - - broker_ids - type: object - BrokerReplicaExclusionBatchRequestData: + description: Tier dimensions which exist for tiered pricing cost items only. + x-go-type: map[string]string + example: + provider: aws + region: us-east-1 + connector_type: BigQuerySink + resource: + description: The resource for a given object + type: object + properties: + id: + type: string + description: ID of the resource. + example: lkc-12345 + display_name: + type: string + description: Display name of the resource. + example: prod-kafka-cluster + environment: + description: The environment associated with this resource + nullable: true + type: object + properties: + id: + type: string + description: ID of the environment. + example: env-123 + Failure: type: object + description: >- + Provides information about problems encountered while performing an + operation. required: - - data + - errors properties: - data: + errors: + description: List of errors which caused this operation to fail type: array items: - $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + $ref: '#/components/schemas/Error' + uniqueItems: true billing.v1.Resource: type: object - description: | - The resource associated with this object. The resource can be one of Kafka Cluster ID (example: lkc-12345), + description: > + The resource associated with this object. The resource can be one of + Kafka Cluster ID (example: lkc-12345), + Connector ID (example: lcc-12345), Schema Registry Cluster ID (example: lsrc-12345), or ksqlDB Cluster ID (example: lksqlc-12345). + May be null or omitted if not associated with a resource. properties: id: @@ -1557,8 +859,12 @@ components: environment: description: The environment associated with this resource nullable: true - allOf: - - $ref: '#/components/schemas/billing.v1.Environment' + type: object + properties: + id: + type: string + description: ID of the environment. + example: env-123 Error: type: object description: Describes a particular error encountered while performing an operation. @@ -1568,23 +874,36 @@ components: type: string maxLength: 255 status: - description: 'The HTTP status code applicable to this problem, expressed as a string value.' + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. type: string code: - description: 'An application-specific error code, expressed as a string value.' + description: An application-specific error code, expressed as a string value. type: string title: - description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. type: string detail: - description: A human-readable explanation specific to this occurrence of the problem. + description: >- + A human-readable explanation specific to this occurrence of the + problem. type: string source: type: object - description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. properties: pointer: - description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. type: string parameter: description: A string indicating which query parameter caused the error. @@ -1596,52 +915,6 @@ components: type: string nullable: true additionalProperties: false - ProduceRequestHeader: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - format: byte - nullable: true - ProduceRequestData: - type: object - properties: - type: - type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - data: - $ref: '#/components/schemas/AnyValue' - nullable: true - ConfigData: - example: - name: name - value: value - properties: - name: - type: string - value: - nullable: true - type: string - required: - - name - - value - BrokerReplicaExclusionRequestData: - type: object - required: - - broker_id - - reason - properties: - broker_id: - type: integer - reason: - type: string billing.v1.Environment: type: object description: | @@ -1651,253 +924,6 @@ components: type: string description: ID of the environment. example: env-123 - AnyValue: - nullable: true - parameters: - AclHost: - name: host - description: The ACL host. - in: query - required: false - schema: - type: string - AclOperation: - name: operation - description: The ACL operation. - in: query - required: false - schema: - $ref: '#/components/schemas/AclOperation' - AclOperationRequired: - name: operation - description: The ACL operation. - in: query - required: true - schema: - $ref: '#/components/schemas/AclOperation' - AclPatternType: - name: pattern_type - description: The ACL pattern type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPatternType' - AclPatternTypeRequired: - name: pattern_type - description: The ACL pattern type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPatternType' - AclPermission: - name: permission - description: The ACL permission. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPermission' - AclPermissionRequired: - name: permission - description: The ACL permission. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPermission' - AclPrincipal: - name: principal - description: The ACL principal. This is the Service Account name or user name. - in: query - required: false - schema: - type: string - AclResourceName: - name: resource_name - description: The ACL resource name. - in: query - required: false - schema: - type: string - AclResourceType: - name: resource_type - description: The ACL resource type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclResourceType' - AclResourceTypeRequired: - name: resource_type - description: The ACL resource type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclResourceType' - BrokerId: - name: broker_id - description: The Kafka broker ID. - in: path - required: true - schema: - type: integer - example: 1 - ClusterId: - name: cluster_id - description: The Kafka cluster ID. - in: path - required: true - schema: - type: string - example: cluster-1 - ConfigName: - name: name - description: The configuration parameter name. - in: path - required: true - schema: - type: string - example: compression.type - ConsumerGroupId: - name: consumer_group_id - description: The consumer group ID. - in: path - required: true - schema: - type: string - example: consumer-group-1 - ConsumerId: - name: consumer_id - description: The consumer ID. - in: path - required: true - schema: - type: string - example: consumer-1 - IncludeAuthorizedOperations: - name: include_authorized_operations - description: Specify if authorized operations should be included in the response. - in: query - required: false - schema: - type: boolean - PartitionId: - name: partition_id - description: The partition ID. - in: path - required: true - schema: - type: integer - example: 0 - TopicName: - name: topic_name - description: The topic name. - in: path - required: true - schema: - type: string - example: topic-1 - BrokerTaskType: - name: task_type - description: The Kafka broker task type. - in: path - required: true - schema: - $ref: '#/components/schemas/BrokerTaskType' - example: remove-broker - ShouldShutdown: - name: should_shutdown - description: 'To shutdown the broker or not, Default: true' - in: query - required: false - schema: - type: boolean - example: true - ValidateOnly: - name: validate_only - description: 'To validate the action can be performed successfully or not. Default: false' - in: query - required: false - schema: - type: boolean - example: false - ValidateLink: - name: validate_link - description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' - in: query - required: false - schema: - type: boolean - example: false - IncludeTasks: - name: include_tasks - description: 'Whether to include cluster linking tasks in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludeStateTransitionErrors: - name: include_state_transition_errors - description: 'Whether to include mirror state transition errors in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - Force: - name: force - description: 'Force the action. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludePartitionLevelTruncationData: - name: include_partition_level_truncation_data - description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - LinkName: - name: link_name - description: The link name - in: path - required: true - schema: - type: string - example: link-sb1 - LinkConfigName: - name: config_name - description: The link config name - in: path - required: true - schema: - type: string - example: consumer.offset.sync.enable - MirrorTopicStatus: - name: mirror_status - description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' - in: query - required: false - schema: - $ref: '#/components/schemas/MirrorTopicStatus' - example: ACTIVE - MirrorTopicName: - name: mirror_topic_name - description: Cluster Linking mirror topic name - in: path - required: true - schema: - type: string - example: topic-1 - QueryParamLinkName: - name: link_name - description: The link name - in: query - required: true - schema: - type: string - example: link-sb1 responses: BadRequestError: description: Bad Request @@ -1931,7 +957,9 @@ components: schema: type: string description: The unique identifier for the API request. - example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + example: >- + Basic error="invalid_key", error_description="The API Key is + invalid" content: application/json: schema: @@ -1961,7 +989,9 @@ components: status: '403' code: user_unauthorized title: User Access Unauthorized - detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + detail: >- + The user 'mcfly' is not allowed to access the 'delorean' + resource without the 'plutonium' role. RateLimitError: description: Rate Limit Exceeded headers: @@ -1972,7 +1002,9 @@ components: X-RateLimit-Limit: schema: type: integer - description: The maximum number of requests you're permitted to make per time period. + description: >- + The maximum number of requests you're permitted to make per time + period. X-RateLimit-Remaining: schema: type: integer @@ -1980,16 +1012,21 @@ components: X-RateLimit-Reset: schema: type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. + description: >- + The relative time in seconds until the current rate-limit window + resets. - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. Retry-After: schema: type: integer - description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. DefaultSystemError: - description: 'Oops, something went wrong!' + description: Oops, something went wrong! headers: X-Request-Id: schema: @@ -2005,395 +1042,16 @@ components: status: '500' code: out_of_gas title: DeLorean Out Of Gas - detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' - securitySchemes: - cloud-api-key: - type: http - scheme: basic - description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. - confluent-sts-access-token: - type: oauth2 - description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' - scopes: {} - api-key: - type: http - scheme: basic - description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. - resource-api-key: - type: http - scheme: basic - description: | - Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID - as the username and resource-specific API Key Secret as the password. - external-access-token: - type: oauth2 - description: Authenticate with OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https:///token' - scopes: {} - oauth: - type: oauth2 - description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. - flows: - clientCredentials: - tokenUrl: /oauth2/token - scopes: - 'partner:alter': enables partners to alter entitlements - 'partner:create': enables partners to create entitlements and signup on behalf of customers - 'partner:delete': enables partners to delete entitlements and organizations - 'partner:describe': enables partners to read and list entitlements and organizations - requestBodies: - AlterBrokerConfigBatchRequest: - description: The alter broker configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterClusterConfigBatchRequest: - description: The alter cluster configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterTopicConfigBatchRequest: - description: The alter topic configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - examples: - batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only_batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only: true - CreateAclRequest: - description: The ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestData' - example: - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - BatchCreateAclRequest: - description: The batch ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestDataList' - example: - data: - - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - - resource_type: TOPIC - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: READ - permission: ALLOW - CreateTopicRequest: - description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTopicRequestData' - examples: - uniform_replication: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - configs: - - name: cleanup.policy - value: compact - - name: compression.type - value: gzip - dry_run_create_topic: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - validate_only: true - ProduceRequest: - description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' - content: - application/json: - schema: - $ref: '#/components/schemas/ProduceRequest' - examples: - binary_and_json: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - partition_id: 1 - headers: - - name: Header-1 - value: SGVhZGVyLTE= - - name: Header-2 - value: SGVhZGVyLTI= - key: - type: BINARY - data: Zm9vYmFy - value: - type: JSON - data: - foo: bar - timestamp: '2021-02-05T19:14:42Z' - string: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - value: - type: STRING - data: My message - empty_value: - description: key or value can be omitted entirely. - value: - key: - data: 1000 - UpdateBrokerConfigRequest: - description: The broker configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateClusterConfigRequest: - description: The cluster configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateTopicConfigRequest: - description: The topic configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - CreateLinkRequest: - description: Create a cluster link - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLinkRequestData' - examples: - destination_initiated_link: - description: Create a destination initiated cluster link - value: - source_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: acl.sync.enable - value: 'false' - - name: consumer.offset.sync.ms - value: '30000' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_source_cluster: - description: Create a source initiated cluster link at source cluster - value: - destination_cluster_id: cluster-2 - configs: - - name: bootstrap.servers - value: cluster-2-bootstrap-server - - name: link.mode - value: SOURCE - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_destination_cluster: - description: Create a source initiated cluster link at destination cluster - value: - destination_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: link.mode - value: DESTINATION - - name: connection.mode - value: INBOUND - - name: acl.sync.enable - value: 'false' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_east: - description: Create a bidirectional cluster link in east - value: - remote_cluster_id: cluster-west - configs: - - name: bootstrap.servers - value: cluster-west-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: west. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_west: - description: Create a bidirectional cluster link in west - value: - remote_cluster_id: cluster-east - cluster_link_id: eEBkTffYSESld6EO898x3w - configs: - - name: bootstrap.servers - value: cluster-east-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: east. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - UpdateLinkConfigRequest: - content: - application/json: - example: - value: '300000' - schema: - $ref: '#/components/schemas/UpdateLinkConfigRequestData' - description: Link config value to update - AlterLinkConfigBatchRequest: - content: - application/json: - example: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - CreateMirrorTopicRequest: - description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateMirrorTopicRequestData' - examples: - generic_example: - description: Generic example of creating a mirror topic - value: - source_topic_name: topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 1 - example_with_mirror_topic_name: - description: Example using optional mirror_topic_name flag - value: - source_topic_name: topic-1 - mirror_topic_name: link1_topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 3 - AlterMirrorsRequest: - description: Mirror topics to be altered. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterMirrorsRequestData' - examples: - mirror_topic_names: - description: Example using mirror topic names - value: - mirror_topic_names: - - topic-1 - - topic-2 - mirror_topic_name_pattern: - description: Example using mirror topic name pattern - value: - mirror_topic_name_pattern: .* - RemoveBrokersRequest: - content: - application/json: - example: - broker_ids: - - 1 - - 2 - - 3 - schema: - $ref: '#/components/schemas/RemoveBrokersRequestData' - description: Broker ids to remove - BrokerReplicaExclusionBatchRequest: - description: Alter Broker Replica Exclusions. - content: - application/json: - schema: - $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' - example: - data: - - broker_id: 1 - reason: The broker is to be removed. - - broker_id: 2 - reason: The broker is to be removed. + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap x-stackQL-resources: costs: id: confluent.billing.costs name: costs title: Costs methods: - list_billing_v1costs: + list_billing_v1_costs: operation: $ref: '#/paths/~1billing~1v1~1costs/get' response: @@ -2402,170 +1060,11 @@ components: objectKey: $.data sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/costs/methods/list_billing_v1costs' + - $ref: >- + #/components/x-stackQL-resources/costs/methods/list_billing_v1_costs insert: [] update: [] - replace: [] delete: [] -paths: - /billing/v1/costs: - get: - operationId: listBillingV1Costs - summary: List of Costs - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all costs. - parameters: - - name: start_date - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: '2022-10-12' - description: Filter the results by exact match for start_date. - - name: end_date - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: '2022-10-15' - description: Filter the results by exact match for end_date. - - name: page_size - in: query - required: false - schema: - type: integer - default: 5000 - maximum: 10000 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Costs (billing/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Cost. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/billing.v1.CostList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/billing/v1/costs?start_date=2022-10-12&end_date=2022-10-15' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/billing/v1/costs?start_date=2022-10-12&end_date=2022-10-15") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/billing/v1/costs?start_date=2022-10-12&end_date=2022-10-15\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/billing/v1/costs?start_date=2022-10-12&end_date=2022-10-15", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/billing/v1/costs?start_date=2022-10-12&end_date=2022-10-15", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/billing/v1/costs?start_date=2022-10-12&end_date=2022-10-15"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/billing/v1/costs?start_date=2022-10-12&end_date=2022-10-15"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/catalog.yaml b/providers/src/confluent/v00.00.00000/services/catalog.yaml index d446b2b2..503e3fa0 100644 --- a/providers/src/confluent/v00.00.00000/services/catalog.yaml +++ b/providers/src/confluent/v00.00.00000/services/catalog.yaml @@ -1,1095 +1,1008 @@ openapi: 3.0.0 -servers: - - url: 'https://api.confluent.cloud' - description: Confluent Cloud API info: - version: '' - contact: - name: Confluent Cloud - url: 'https://www.confluent.io/cloud-contact-us/' - email: support@confluent.io - x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b - x-audience: external-public - x-logo: - url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' - title: Confluent Cloud APIs - catalog - description: catalog -tags: - - name: API Keys (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. - - The API allows you to list, create, update and delete your API Keys. - - - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - - ## The API Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - - name: Environments (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. - - - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - - ## The Environments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + title: catalog API + description: confluent catalog API + version: 1.0.0 +paths: + /catalog/v1/types/businessmetadatadefs: + get: + summary: Bulk Read Business Metadata Definitions + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - - name: Organizations (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). + Bulk retrieval API for retrieving business metadata definitions. + operationId: getAllBusinessMetadataDefs + tags: + - Types (v1) + parameters: + - description: The prefix of a business metadata definition name + explode: true + in: query + name: prefix + required: false + schema: + type: string + style: form + responses: + '200': + content: + application/json: + schema: + items: + $ref: '#/components/schemas/BusinessMetadataDefResponse' + type: array + description: The business metadata definitions + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + post: + summary: Bulk Create Business Metadata Definitions + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to list, view, and update your organizations. + Bulk create API for business metadata definitions. + operationId: createBusinessMetadataDefs + tags: + - Types (v1) + requestBody: + content: + application/json: + schema: + items: + $ref: '#/components/schemas/BusinessMetadataDef' + type: array + description: The business metadata definitions to create + responses: + '200': + content: + application/json: + schema: + items: + $ref: '#/components/schemas/BusinessMetadataDefResponse' + type: array + description: >- + The business metadata definitions. Errored business metadata + definitions will have an additional error property. + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + put: + summary: Bulk Update Business Metadata Definitions + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - ## The Organizations Model - + Bulk update API for business metadata definitions. + operationId: updateBusinessMetadataDefs + tags: + - Types (v1) + requestBody: + content: + application/json: + schema: + items: + $ref: '#/components/schemas/BusinessMetadataDef' + type: array + description: The business metadata definitions to update + responses: + '200': + content: + application/json: + schema: + items: + $ref: '#/components/schemas/BusinessMetadataDefResponse' + type: array + description: >- + The business metadata definitions. Errored business metadata + definitions will have an additional error property. + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: >- + Confluent Cloud Schema Registry Endpoint. For example + https://psrc-00000.region.provider.confluent.cloud + /catalog/v1/types/businessmetadatadefs/{bmName}: + delete: + summary: Delete Business Metadata Definition + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - - name: Users (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Delete API for business metadata definition identified by its name. + operationId: deleteBusinessMetadataDef + tags: + - Types (v1) + parameters: + - description: The name of the business metadata definition + explode: false + in: path + name: bmName + required: true + schema: + type: string + style: simple + responses: + '204': + description: No Content + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + get: + summary: Read Business Metadata Definition + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `User` objects represent individuals who may access your Confluent resources. - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. + Get the business metadata definition with the given name. + operationId: getBusinessMetadataDefByName + tags: + - Types (v1) + parameters: + - description: The name of the business metadata definition + explode: false + in: path + name: bmName + required: true + schema: + type: string + style: simple + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/BusinessMetadataDef' + description: The business metadata definition + '400': + description: Bad Request + '404': + description: Business metadata definition not found + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: >- + Confluent Cloud Schema Registry Endpoint. For example + https://psrc-00000.region.provider.confluent.cloud + /catalog/v1/entity/businessmetadata: + post: + summary: Bulk Create Business Metadata + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). + Bulk API to create multiple business metadata. + operationId: createBusinessMetadata + tags: + - Entity (v1) + requestBody: + content: + application/json: + schema: + items: + $ref: '#/components/schemas/BusinessMetadata' + type: array + description: The business metadata + responses: + '200': + content: + application/json: + schema: + items: + $ref: '#/components/schemas/BusinessMetadataResponse' + type: array + description: >- + The business metadata. Errored business metadata will have an + additional error property. + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + put: + summary: Bulk Update Business Metadata + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Users Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + Bulk API to update multiple business metadata. + operationId: updateBusinessMetadata + tags: + - Entity (v1) + requestBody: + content: + application/json: + schema: + items: + $ref: '#/components/schemas/BusinessMetadata' + type: array + description: The business metadata + responses: + '200': + content: + application/json: + schema: + items: + $ref: '#/components/schemas/BusinessMetadataResponse' + type: array + description: >- + The business metadata. Errored business metadata will have an + additional error property. + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: >- + Confluent Cloud Schema Registry Endpoint. For example + https://psrc-00000.region.provider.confluent.cloud + /catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata: + get: + summary: Read Business Metadata for an Entity + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - - name: Service Accounts (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. + Gets the list of business metadata for a given entity represented - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. + by a qualified name. + operationId: getBusinessMetadata + tags: + - Entity (v1) + parameters: + - description: The type of the entity + explode: false + in: path + name: typeName + required: true + schema: + type: string + style: simple + - description: The qualified name of the entity + explode: false + in: path + name: qualifiedName + required: true + schema: + type: string + style: simple + responses: + '200': + content: + application/json: + schema: + items: + $ref: '#/components/schemas/BusinessMetadataResponse' + type: array + description: The business metadata + '400': + description: Bad Request + '404': + description: Entity not found + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: >- + Confluent Cloud Schema Registry Endpoint. For example + https://psrc-00000.region.provider.confluent.cloud + /catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata/{bmName}: + delete: + summary: Delete a Business Metadata for an Entity + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). - - ## The Service Accounts Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - - name: Invitations (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. - - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. - - - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). - - ## The Invitations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - - name: IP Groups (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) - - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. - - - ## The IP Groups Model - - - name: IP Filters (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. + Delete a business metadata on an entity. + operationId: deleteBusinessMetadata + tags: + - Entity (v1) + parameters: + - description: The type of the entity + explode: false + in: path + name: typeName + required: true + schema: + type: string + style: simple + - description: The qualified name of the entity + explode: false + in: path + name: qualifiedName + required: true + schema: + type: string + style: simple + - description: The name of the business metadata + explode: false + in: path + name: bmName + required: true + schema: + type: string + style: simple + responses: + '204': + description: No Content + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: >- + Confluent Cloud Schema Registry Endpoint. For example + https://psrc-00000.region.provider.confluent.cloud + /catalog/v1/entity/tags: + put: + summary: Bulk Update Tags + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The IP Filters Model - - - name: Role Bindings (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Bulk API to update multiple tags. + tags: + - Entity (v1) + operationId: updateTags + requestBody: + description: The tags + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Tag' + responses: + '200': + description: The tags. Errored tags will have an additional error property. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TagResponse' + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + post: + summary: Bulk Create Tags + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - A role binding grants a Principal a role on resources that match a pattern. - The API allows you to perform create, delete, and list operations on role bindings. + Bulk API to create multiple tags. + tags: + - Entity (v1) + operationId: createTags + requestBody: + description: The tags + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Tag' + responses: + '200': + description: The tags. Errored tags will have an additional error property. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TagResponse' + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: >- + Confluent Cloud Schema Registry Endpoint. For example + https://psrc-00000.region.provider.confluent.cloud + /catalog/v1/entity/type/{typeName}/name/{qualifiedName}: + get: + summary: Read an Entity + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + Fetch complete definition of an entity given its type and unique + attribute. + operationId: getByUniqueAttributes + parameters: + - name: typeName + in: path + description: The type of the entity + required: true + schema: + type: string + - name: qualifiedName + in: path + description: The qualified name of the entity + required: true + schema: + type: string + - name: minExtInfo + in: query + description: Whether to populate on header and schema attributes + schema: + type: boolean + default: false + - name: ignoreRelationships + in: query + description: Whether to ignore relationships + schema: + type: boolean + default: false + tags: + - Entity (v1) + responses: + '200': + description: The entity + content: + application/json: + schema: + $ref: '#/components/schemas/EntityWithExtInfo' + '400': + description: Bad Request + '404': + description: Entity not found + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: >- + Confluent Cloud Schema Registry Endpoint. For example + https://psrc-00000.region.provider.confluent.cloud + /catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags: + get: + summary: Read Tags for an Entity + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Role Bindings Model - - - name: Subscriptions (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. + Gets the list of tags for a given entity represented by a qualified + name. + operationId: getTags + parameters: + - name: typeName + in: path + description: The type of the entity + required: true + schema: + type: string + - name: qualifiedName + in: path + description: The qualified name of the entity + required: true + schema: + type: string + tags: + - Entity (v1) + responses: + '200': + description: The tags + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TagResponse' + '400': + description: Bad Request + '404': + description: Entity not found + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: >- + Confluent Cloud Schema Registry Endpoint. For example + https://psrc-00000.region.provider.confluent.cloud + /catalog/v1/entity: + put: + summary: Update an Entity Attribute + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + Partially update an entity attribute. + operationId: partialEntityUpdate + requestBody: + description: The entity to update + content: + application/json: + schema: + $ref: '#/components/schemas/EntityWithExtInfo' + tags: + - Entity (v1) + responses: + '200': + description: The updated entity + content: + application/json: + schema: + $ref: '#/components/schemas/EntityPartialUpdateResponse' + '400': + description: Bad Request + '404': + description: Entity not found + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: >- + Confluent Cloud Schema Registry Endpoint. For example + https://psrc-00000.region.provider.confluent.cloud + /catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags/{tagName}: + delete: + summary: Delete a Tag for an Entity + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - ## The Subscriptions Model - - - name: Integrations (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Delete a tag for an entity. + operationId: deleteTag + parameters: + - name: typeName + in: path + description: The type of the entity + required: true + schema: + type: string + - name: qualifiedName + in: path + description: The qualified name of the entity + required: true + schema: + type: string + - name: tagName + in: path + description: The name of the tag + required: true + schema: + type: string + tags: + - Entity (v1) + responses: + '204': + description: No Content + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: >- + Confluent Cloud Schema Registry Endpoint. For example + https://psrc-00000.region.provider.confluent.cloud + /catalog/v1/search/attribute: + get: + summary: Search by Attribute + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Integrations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - - name: Notification Types (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The type of notifications (and their corresponding metadata) supported by Confluent. + Retrieve data for the specified attribute search query. + operationId: searchUsingAttribute + parameters: + - name: type + in: query + description: Limit the result to only entities of specified types + style: form + explode: true + schema: + type: array + items: + type: string + - name: attr + in: query + description: One of more additional attributes to return in the response + style: form + explode: true + schema: + type: array + items: + type: string + - name: attrName + in: query + description: The attribute to search + style: form + explode: true + schema: + type: array + items: + type: string + - name: attrValuePrefix + in: query + description: The prefix for the attribute value to search + style: form + explode: true + schema: + type: array + items: + type: string + - name: tag + in: query + description: Limit the result to only entities tagged with the given tag + schema: + type: string + - name: sortBy + in: query + description: An attribute to sort by + schema: + type: string + - name: sortOrder + in: query + description: Sort order, either ASCENDING (default) or DESCENDING + schema: + type: string + enum: + - ASCENDING + - DESCENDING + - name: deleted + in: query + description: Whether to include deleted entities + schema: + type: boolean + - name: limit + in: query + description: Limit the result set to only include the specified number of entries + schema: + type: integer + format: int32 + - name: offset + in: query + description: Start offset of the result set (useful for pagination) + schema: + type: integer + format: int32 + tags: + - Search (v1) + responses: + '200': + description: >- + On successful search query with some results, might return an empty + list if execution succeeded without any results + content: + application/json: + schema: + $ref: '#/components/schemas/SearchResult' + '400': + description: Invalid wildcard or query parameters + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: >- + Confluent Cloud Schema Registry Endpoint. For example + https://psrc-00000.region.provider.confluent.cloud + /catalog/v1/search/basic: + get: + summary: Search by Fulltext Query + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - ## The Notification Types Model - - - name: Clusters (cmk/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Retrieve data for the specified fulltext query. + operationId: searchUsingBasic + parameters: + - name: query + in: query + description: The full-text query + schema: + type: string + - name: type + in: query + description: Limit the result to only entities of specified types + style: form + explode: true + schema: + type: array + items: + type: string + - name: attr + in: query + description: One of more additional attributes to return in the response + style: form + explode: true + schema: + type: array + items: + type: string + - name: tag + in: query + description: Limit the result to only entities tagged with the given tag + schema: + type: string + - name: sortBy + in: query + description: An attribute to sort by + schema: + type: string + - name: sortOrder + in: query + description: Sort order, either ASCENDING (default) or DESCENDING + schema: + type: string + enum: + - ASCENDING + - DESCENDING + - name: deleted + in: query + description: Whether to include deleted entities + schema: + type: boolean + - name: limit + in: query + description: Limit the result set to only include the specified number of entries + schema: + type: integer + format: int32 + - name: offset + in: query + description: Start offset of the result set (useful for pagination) + schema: + type: integer + format: int32 + tags: + - Search (v1) + responses: + '200': + description: >- + On successful fulltext query with some results, might return an + empty list if execution succeeded without any results + content: + application/json: + schema: + $ref: '#/components/schemas/SearchResult' + '400': + description: Invalid fulltext or query parameters + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: >- + Confluent Cloud Schema Registry Endpoint. For example + https://psrc-00000.region.provider.confluent.cloud + /catalog/v1/types/tagdefs: + get: + summary: Bulk Read Tag Definitions + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Kafka clusters. + Bulk retrieval API for retrieving tag definitions. + operationId: getAllTagDefs + parameters: + - name: prefix + in: query + description: The prefix of a tag definition name + schema: + type: string + tags: + - Types (v1) + responses: + '200': + description: The tag definitions + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TagDefResponse' + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + put: + summary: Bulk Update Tag Definitions + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + Bulk update API for tag definitions. + tags: + - Types (v1) + operationId: updateTagDefs + requestBody: + description: The tag definitions to update + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TagDef' + responses: + '200': + description: >- + The tag definitions. Errored tag definitions will have an additional + error property. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TagDefResponse' + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + post: + summary: Bulk Create Tag Definitions + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Clusters Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + Bulk create API for tag definitions. + tags: + - Types (v1) + operationId: createTagDefs + requestBody: + description: The tag definitions to create + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TagDef' + responses: + '200': + description: >- + The tag definitions. Errored tag definitions will have an additional + error property. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TagDefResponse' + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: >- + Confluent Cloud Schema Registry Endpoint. For example + https://psrc-00000.region.provider.confluent.cloud + /catalog/v1/types/tagdefs/{tagName}: + get: + summary: Read Tag Definition + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - - name: Clusters (ksqldbcm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. - - - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the following quotas: - - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - - name: Connectors (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for Managed Connectors or Custom Connectors in Confluent Cloud. - - The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. - - Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). - - Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - name: Lifecycle (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. - - name: Status (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. - - name: Managed Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for Managed connectors in Confluent Cloud. - - name: Offsets (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the offsets for a Managed Connector. - - Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) - - name: Custom Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Custom Connector Plugins Model - - - name: Presigned Urls (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Presigned Urls Model - - - name: Cluster (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Configs (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: ACL (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Consumer Group (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Partition (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Topic (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Records (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Cluster Linking (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Applied Quotas (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. - - - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - - ## The Applied Quotas Model - - - name: Scopes (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Gets a list of all available scopes for applied quotas. - - - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). - - ## The Scopes Model - - - name: Entitlements (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Entitlement` objects represent metadata about a marketplace entitlement. - - An entitlement includes metadata about a marketplace purchase - (start date, end date, billing information, partner IDs, etc). - The API allows partners to create, read, and list entitlements. (Unless you - need entitlement creation and customer registration to be separate, - we recommend using the Signup API to create an organization and entitlement - at the same time) - - The API only allows authorized partners to interact with the Entitlements API. - - name: Regions (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. - - - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Regions Model - - - name: Clusters (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list, create, read, and delete your Schema Registry clusters. - - - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Clusters Model - - - name: Clusters (srcm/v3) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list and read your Schema Registry clusters. - - - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - - ## The Clusters Model - - - name: Compatibility (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to test schema compatibility. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Config (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to manage and query schema compatibility settings and cluster configurations. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Contexts (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to retrieve information about schema contexts. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Exporters (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete exporters. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Modes (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects modes of operation. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Schemas (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schemas. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Subjects (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects and versions. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Key Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete key encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Data Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete data encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Entity (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Search (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to search for entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Types (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Provider Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. - - - ## The Provider Shared Resources Model - - - name: Provider Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderShare` object respresents the share that you have created through Stream Sharing. - - - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). - - ## The Provider Shares Model - - - name: Consumer Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. - - - ## The Consumer Shared Resources Model - - - name: Consumer Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerShare` object respresents the share that you received through Stream Sharing. - - - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). - - ## The Consumer Shares Model - - - name: Shared Tokens (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Encrypted Token shared with consumer - - - ## The Shared Tokens Model - - - name: Opt Ins (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Stream sharing opt in options - - ## The Opt Ins Model - - - name: Organizations (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Organizations` objects represent an entire Confluent Cloud organization. - Partners are allowed to get an organization they have signed up or - list all organizations they have signed up. - - name: Signup (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Signup` APIs can only be performed by partners. - - name: Networks (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. - - The API allows you to list, create, read, update, and delete your networks. - - - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - - ## The Networks Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - - name: Peerings (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - - - ## The Peerings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - - name: Transit Gateway Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AWS Transit Gateway Attachments - - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - - ## The Transit Gateway Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - - name: Private Link Accesses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. - - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). - - - ## The Private Link Accesses Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - - name: Network Link Services (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Services Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - - name: Network Link Endpoints (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Endpoints Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - - name: Network Link Service Associations (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - List of incoming Network Link Enpoints associated with the Network Link Service. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Service Associations Model - - - name: Gateways (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A gateway is a resource that defines network access to Confluent cloud resources. - - - ## The Gateways Model - - - name: IP Addresses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - IP Addresses - - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) - - ## The IP Addresses Model - - - name: Private Link Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. - - - ## The Private Link Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - - name: Private Link Attachment Connections (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. - - - ## The Private Link Attachment Connections Model - - - name: Identity Providers (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Identity Provider. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Identity Providers Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - - name: Jwks (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. - - The API allows you to refresh JWKS public key data. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Jwks Model - - - name: Identity Pools (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. - - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. - - - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). - - ## The Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - - name: OAuth Tokens (sts/v1) - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of - external identities to access Confluent Cloud APIs - - name: Client Quotas (kafka-quotas/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ClientQuota` objects represent Client Quotas you can set at the service account level. - - The API allows you to list, create, read, update, and delete your client quotas. - - - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - - ## The Client Quotas Model - - - name: Pipelines (sd/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. - - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. - - - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). - - ## The Pipelines Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - - name: Keys (byok/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. - - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. - - - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). - - ## The Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - - name: Costs (billing/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cost` objects represent the aggregated billing costs for an organization - - - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). - - ## The Costs Model - - - name: Group Mappings (iam/v2/sso) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. - - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. - - - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). - - ## The Group Mappings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - - name: Compute Pools (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. - - - ## The Compute Pools Model - - - name: Regions (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. - - - ## The Regions Model - - - name: Statements (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - - name: Statement Results (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementResult` represents a result of a `Statement` resource. - The API allows you to read your statement's results. - ## The Statement Results Model - - - name: Statement Exceptions (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementException` represents an exception of a `Statement` resource. - The API allows you to read your statement's exceptions. - ## The Statement Exceptions Model - - - name: Connections (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Connection` represents a core resource used to model SQL connections for execution. - A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - - name: DNS Forwarders (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add, remove, and update DNS forwarder for your gateway. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - - - ## The DNS Forwarders Model - - - name: Access Points (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. - - - ## The Access Points Model - - - name: DNS Records (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - - ## The DNS Records Model - - - name: Certificate Authorities (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Certificate Authority. - - - Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). - - ## The Certificate Authorities Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `certificate_authorities_per_org` | Number of certificate authorities per organization | - - name: Certificate Identity Pools (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Identitypool` objects represent workload identities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities - - - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). - - ## The Certificate Identity Pools Model - + Get the tag definition with the given name. + operationId: getTagDefByName + parameters: + - name: tagName + in: path + description: The name of the tag definiton + required: true + schema: + type: string + tags: + - Types (v1) + responses: + '200': + description: The tag definition + content: + application/json: + schema: + $ref: '#/components/schemas/TagDef' + '400': + description: Bad Request + '404': + description: Tag definition not found + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + delete: + summary: Delete Tag Definition + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - - name: Integrations (pim/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). - - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. - - - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). - - ## The Integrations Model - - - name: Flink Artifacts (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. - - - ## The Flink Artifacts Model - - - name: Presigned Urls (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - - ## The Presigned Urls Model - - - name: Flink Artifact Versions (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. - - - ## The Flink Artifact Versions Model - + Delete API for tag definition identified by its name. + operationId: deleteTagDef + parameters: + - name: tagName + in: path + description: The name of the tag definition + required: true + schema: + type: string + tags: + - Types (v1) + responses: + '204': + description: No Content + '400': + description: Bad Request + '429': + description: Rate Limit Error + '500': + description: Internal Server Error + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: >- + Confluent Cloud Schema Registry Endpoint. For example + https://psrc-00000.region.provider.confluent.cloud components: schemas: BusinessMetadataDefResponse: @@ -1154,380 +1067,6 @@ components: error: $ref: '#/components/schemas/ErrorMessage' type: object - AttributeDef: - type: object - properties: - name: - type: string - description: The name - typeName: - type: string - description: The type name - isOptional: - type: boolean - description: Whether is optional - cardinality: - type: string - description: The cardinality - enum: - - SINGLE - - LIST - - SET - valuesMinCount: - type: integer - description: The values min count - format: int32 - valuesMaxCount: - type: integer - description: The values max count - format: int32 - isUnique: - type: boolean - description: Whether is unique - isIndexable: - type: boolean - description: Whether is indexable - includeInNotification: - type: boolean - description: Whether to include in notifications - defaultValue: - type: string - description: The default value - description: - type: string - description: The description - searchWeight: - type: integer - description: The search weight - format: int32 - indexType: - type: string - description: The index type - enum: - - DEFAULT - - STRING - constraints: - type: array - description: The constraints - items: - $ref: '#/components/schemas/ConstraintDef' - options: - type: object - description: The options - additionalProperties: - type: string - displayName: - type: string - description: The display name - ErrorMessage: - type: object - properties: - error_code: - type: integer - description: The error code - format: int32 - message: - type: string - description: The error message - description: Error message of this operation - AclOperation: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - AclPatternType: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - MATCH - - LITERAL - - PREFIXED - AclPermission: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - DENY - - ALLOW - AclResourceType: - type: string - enum: - - UNKNOWN - - ANY - - TOPIC - - GROUP - - CLUSTER - - TRANSACTIONAL_ID - - DELEGATION_TOKEN - BrokerTaskType: - type: string - enum: - - add-broker - - remove-broker - MirrorTopicStatus: - enum: - - ACTIVE - - FAILED - - LINK_FAILED - - LINK_PAUSED - - PAUSED - - PENDING_STOPPED - - SOURCE_UNAVAILABLE - - STOPPED - - PENDING_MIRROR - - PENDING_SYNCHRONIZE - - PENDING_SETUP_FOR_RESTORE - - PENDING_RESTORE - type: string - AlterConfigBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - operation: - type: string - x-extensible-enum: - - SET - - DELETE - nullable: true - validate_only: - type: boolean - CreateAclRequestData: - type: object - required: - - resource_type - - resource_name - - pattern_type - - principal - - host - - operation - - permission - properties: - resource_type: - $ref: '#/components/schemas/AclResourceType' - resource_name: - type: string - pattern_type: - $ref: '#/components/schemas/AclPatternType' - principal: - type: string - host: - type: string - operation: - $ref: '#/components/schemas/AclOperation' - permission: - $ref: '#/components/schemas/AclPermission' - CreateAclRequestDataList: - allOf: - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/CreateAclRequestData' - CreateTopicRequestData: - type: object - required: - - topic_name - properties: - topic_name: - type: string - partitions_count: - type: integer - replication_factor: - type: integer - configs: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - validate_only: - type: boolean - ProduceRequest: - type: object - properties: - partition_id: - type: integer - nullable: true - format: int32 - headers: - type: array - items: - $ref: '#/components/schemas/ProduceRequestHeader' - key: - $ref: '#/components/schemas/ProduceRequestData' - value: - $ref: '#/components/schemas/ProduceRequestData' - timestamp: - type: string - format: date-time - nullable: true - UpdateConfigRequestData: - type: object - properties: - value: - type: string - nullable: true - CreateLinkRequestData: - properties: - source_cluster_id: - type: string - destination_cluster_id: - type: string - remote_cluster_id: - description: The expected remote cluster ID. - type: string - cluster_link_id: - description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' - type: string - configs: - items: - $ref: '#/components/schemas/ConfigData' - type: array - type: object - UpdateLinkConfigRequestData: - properties: - value: - type: string - required: - - value - type: object - CreateMirrorTopicRequestData: - properties: - source_topic_name: - type: string - mirror_topic_name: - type: string - replication_factor: - type: integer - configs: - type: array - items: - $ref: '#/components/schemas/ConfigData' - required: - - source_topic_name - type: object - AlterMirrorsRequestData: - properties: - mirror_topic_names: - description: The mirror topics specified as a list of topic names. - type: array - items: - type: string - mirror_topic_name_pattern: - description: The mirror topics specified as a pattern. - type: string - type: object - RemoveBrokersRequestData: - properties: - broker_ids: - type: array - items: - type: integer - required: - - broker_ids - type: object - BrokerReplicaExclusionBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' - ConstraintDef: - type: object - properties: - type: - type: string - description: The type - params: - type: object - description: The params - additionalProperties: - type: object - ProduceRequestHeader: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - format: byte - nullable: true - ProduceRequestData: - type: object - properties: - type: - type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - data: - $ref: '#/components/schemas/AnyValue' - nullable: true - ConfigData: - example: - name: name - value: value - properties: - name: - type: string - value: - nullable: true - type: string - required: - - name - - value - BrokerReplicaExclusionRequestData: - type: object - required: - - broker_id - - reason - properties: - broker_id: - type: integer - reason: - type: string - AnyValue: - nullable: true BusinessMetadataDef: properties: category: @@ -1594,8 +1133,8 @@ components: type: string description: The business metadata name attributes: - type: object - description: The business metadata attributes + type: string + description: The business metadata attributes (opaque JSON object) entityType: type: string description: The entity type @@ -1609,8 +1148,8 @@ components: type: string description: The business metadata name attributes: - type: object - description: The business metadata attributes + type: string + description: The business metadata attributes (opaque JSON object) entityType: type: string description: The entity type @@ -1627,8 +1166,8 @@ components: type: string description: The tag name attributes: - type: object - description: The tag attributes + type: string + description: The tag attributes (opaque JSON object) entityGuid: type: string description: The internal entity guid @@ -1663,8 +1202,8 @@ components: type: string description: The tag name attributes: - type: object - description: The tag attributes + type: string + description: The tag attributes (opaque JSON object) entityGuid: type: string description: The internal entity guid @@ -1694,18 +1233,6 @@ components: description: The qualified name of the entity error: $ref: '#/components/schemas/ErrorMessage' - TimeBoundary: - type: object - properties: - startTime: - type: string - description: 'The start time of format yyyy/MM/dd HH:mm:ss' - endTime: - type: string - description: 'The end time of format yyyy/MM/dd HH:mm:ss' - timeZone: - type: string - description: The time zone (see java.util.TimeZone) EntityWithExtInfo: type: object properties: @@ -1716,19 +1243,291 @@ components: $ref: '#/components/schemas/Entity' entity: $ref: '#/components/schemas/Entity' - Entity: + EntityPartialUpdateResponse: type: object - description: The entity properties: - typeName: - type: string - description: The type name - attributes: + mutatedEntities: + $ref: '#/components/schemas/EntityPartialUpdate' + description: The type name + SearchResult: + type: object + properties: + searchParameters: + $ref: '#/components/schemas/SearchParams' + types: + type: array + description: The types + items: + type: string + entities: + type: array + description: The entities + items: + $ref: '#/components/schemas/EntityHeader' + referredEntities: type: object - description: The type attributes - guid: + description: The referred entities + additionalProperties: + $ref: '#/components/schemas/EntityHeader' + TagDefResponse: + type: object + properties: + category: type: string - description: The internal guid + description: The category + enum: + - PRIMITIVE + - OBJECT_ID_TYPE + - ENUM + - STRUCT + - CLASSIFICATION + - ENTITY + - ARRAY + - MAP + - RELATIONSHIP + - BUSINESS_METADATA + guid: + type: string + description: The internal guid + createdBy: + type: string + description: The creator + updatedBy: + type: string + description: The updater + createTime: + type: integer + description: The create time + format: int64 + updateTime: + type: integer + description: The update time + format: int64 + version: + type: integer + description: The version + format: int32 + name: + type: string + description: The name + description: + type: string + description: The description + typeVersion: + type: string + description: The type version + serviceType: + type: string + description: The service type + options: + type: object + description: The options + additionalProperties: + type: string + attributeDefs: + type: array + description: The attribute definitions + items: + $ref: '#/components/schemas/AttributeDef' + superTypes: + uniqueItems: true + type: array + description: The supertypes + items: + type: string + entityTypes: + uniqueItems: true + type: array + description: The entity types + items: + type: string + subTypes: + uniqueItems: true + type: array + description: The subtypes + items: + type: string + error: + $ref: '#/components/schemas/ErrorMessage' + TagDef: + type: object + properties: + category: + type: string + description: The category + enum: + - PRIMITIVE + - OBJECT_ID_TYPE + - ENUM + - STRUCT + - CLASSIFICATION + - ENTITY + - ARRAY + - MAP + - RELATIONSHIP + - BUSINESS_METADATA + guid: + type: string + description: The internal guid + createdBy: + type: string + description: The creator + updatedBy: + type: string + description: The updater + createTime: + type: integer + description: The create time + format: int64 + updateTime: + type: integer + description: The update time + format: int64 + version: + type: integer + description: The version + format: int32 + name: + type: string + description: The name + description: + type: string + description: The description + typeVersion: + type: string + description: The type version + serviceType: + type: string + description: The service type + options: + type: object + description: The options + additionalProperties: + type: string + attributeDefs: + type: array + description: The attribute definitions + items: + $ref: '#/components/schemas/AttributeDef' + superTypes: + uniqueItems: true + type: array + description: The supertypes + items: + type: string + entityTypes: + uniqueItems: true + type: array + description: The entity types + items: + type: string + subTypes: + uniqueItems: true + type: array + description: The subtypes + items: + type: string + AttributeDef: + type: object + properties: + name: + type: string + description: The name + typeName: + type: string + description: The type name + isOptional: + type: boolean + description: Whether is optional + cardinality: + type: string + description: The cardinality + enum: + - SINGLE + - LIST + - SET + valuesMinCount: + type: integer + description: The values min count + format: int32 + valuesMaxCount: + type: integer + description: The values max count + format: int32 + isUnique: + type: boolean + description: Whether is unique + isIndexable: + type: boolean + description: Whether is indexable + includeInNotification: + type: boolean + description: Whether to include in notifications + defaultValue: + type: string + description: The default value + description: + type: string + description: The description + searchWeight: + type: integer + description: The search weight + format: int32 + indexType: + type: string + description: The index type + enum: + - DEFAULT + - STRING + constraints: + type: array + description: The constraints + items: + $ref: '#/components/schemas/ConstraintDef' + options: + type: object + description: The options + additionalProperties: + type: string + displayName: + type: string + description: The display name + ErrorMessage: + type: object + properties: + error_code: + type: integer + description: The error code + format: int32 + message: + type: string + description: The error message + description: Error message of this operation + TimeBoundary: + type: object + properties: + startTime: + type: string + description: The start time of format yyyy/MM/dd HH:mm:ss + endTime: + type: string + description: The end time of format yyyy/MM/dd HH:mm:ss + timeZone: + type: string + description: The time zone (see java.util.TimeZone) + Entity: + type: object + description: The entity + properties: + typeName: + type: string + description: The type name + attributes: + type: string + description: The type attributes (opaque JSON object) + guid: + type: string + description: The internal guid homeId: type: string description: The home id @@ -1769,8 +1568,8 @@ components: description: The version format: int32 relationshipAttributes: - type: object - description: The relationship attributes + type: string + description: The relationship attributes (opaque JSON object) classifications: type: array description: The classifications (tags) @@ -1790,7 +1589,8 @@ components: type: object description: The business attributes additionalProperties: - type: object + type: string + description: (opaque JSON object) labels: uniqueItems: true type: array @@ -1800,7 +1600,95 @@ components: proxy: type: boolean description: Whether is a proxy - Classification: + EntityPartialUpdate: + type: object + properties: + UPDATE: + type: array + description: The updated entities. + items: + $ref: '#/components/schemas/PartialUpdateParams' + description: The updated entities. + SearchParams: + type: object + description: Search paramas to filter results + properties: + includeDeleted: + type: boolean + description: Whether to include deleted + limit: + type: integer + description: The limit + format: int32 + offset: + type: integer + description: The offset + format: int32 + EntityHeader: + type: object + properties: + typeName: + type: string + description: The type name + attributes: + type: object + description: The attributes + additionalProperties: true + guid: + type: string + description: The internal guid + status: + type: string + description: The status + enum: + - ACTIVE + - DELETED + - PURGED + displayText: + type: string + description: The display text + classificationNames: + type: array + description: The classification (tag) names + items: + type: string + classifications: + type: array + description: The classifications (tags) + items: + $ref: '#/components/schemas/Classification' + meaningNames: + type: array + description: The meaning names + items: + type: string + meanings: + type: array + description: The meanings + items: + $ref: '#/components/schemas/TermAssignmentHeader' + isIncomplete: + type: boolean + description: Whether is incomplete + labels: + uniqueItems: true + type: array + description: The labels + items: + type: string + ConstraintDef: + type: object + properties: + type: + type: string + description: The type + params: + type: object + description: The params + additionalProperties: + type: string + description: (opaque JSON object) + Classification: type: object properties: typeName: @@ -1810,7 +1698,8 @@ components: type: object description: The tag attributes additionalProperties: - type: object + type: string + description: (opaque JSON object) entityGuid: type: string description: The internal entity guid @@ -1874,21 +1763,6 @@ components: - DEPRECATED - OBSOLETE - OTHER - EntityPartialUpdateResponse: - type: object - properties: - mutatedEntities: - $ref: '#/components/schemas/EntityPartialUpdate' - description: The type name - EntityPartialUpdate: - type: object - properties: - UPDATE: - type: array - description: The updated entities. - items: - $ref: '#/components/schemas/PartialUpdateParams' - description: The updated entities. PartialUpdateParams: type: object properties: @@ -1896,8 +1770,8 @@ components: type: string description: The type name attributes: - type: object - description: The attributes + type: string + description: The attributes (opaque JSON object) guid: type: string description: The internal guid @@ -1943,878 +1817,6 @@ components: removePropagationsOnEntityDelete: type: boolean description: Whether to remove propagations on entity delete - SearchResult: - type: object - properties: - searchParameters: - $ref: '#/components/schemas/SearchParams' - types: - type: array - description: The types - items: - type: string - entities: - type: array - description: The entities - items: - $ref: '#/components/schemas/EntityHeader' - referredEntities: - type: object - description: The referred entities - additionalProperties: - $ref: '#/components/schemas/EntityHeader' - SearchParams: - type: object - description: Search paramas to filter results - properties: - includeDeleted: - type: boolean - description: Whether to include deleted - limit: - type: integer - description: The limit - format: int32 - offset: - type: integer - description: The offset - format: int32 - EntityHeader: - type: object - properties: - typeName: - type: string - description: The type name - attributes: - type: object - description: The attributes - additionalProperties: true - guid: - type: string - description: The internal guid - status: - type: string - description: The status - enum: - - ACTIVE - - DELETED - - PURGED - displayText: - type: string - description: The display text - classificationNames: - type: array - description: The classification (tag) names - items: - type: string - classifications: - type: array - description: The classifications (tags) - items: - $ref: '#/components/schemas/Classification' - meaningNames: - type: array - description: The meaning names - items: - type: string - meanings: - type: array - description: The meanings - items: - $ref: '#/components/schemas/TermAssignmentHeader' - isIncomplete: - type: boolean - description: Whether is incomplete - labels: - uniqueItems: true - type: array - description: The labels - items: - type: string - TagDefResponse: - type: object - properties: - category: - type: string - description: The category - enum: - - PRIMITIVE - - OBJECT_ID_TYPE - - ENUM - - STRUCT - - CLASSIFICATION - - ENTITY - - ARRAY - - MAP - - RELATIONSHIP - - BUSINESS_METADATA - guid: - type: string - description: The internal guid - createdBy: - type: string - description: The creator - updatedBy: - type: string - description: The updater - createTime: - type: integer - description: The create time - format: int64 - updateTime: - type: integer - description: The update time - format: int64 - version: - type: integer - description: The version - format: int32 - name: - type: string - description: The name - description: - type: string - description: The description - typeVersion: - type: string - description: The type version - serviceType: - type: string - description: The service type - options: - type: object - description: The options - additionalProperties: - type: string - attributeDefs: - type: array - description: The attribute definitions - items: - $ref: '#/components/schemas/AttributeDef' - superTypes: - uniqueItems: true - type: array - description: The supertypes - items: - type: string - entityTypes: - uniqueItems: true - type: array - description: The entity types - items: - type: string - subTypes: - uniqueItems: true - type: array - description: The subtypes - items: - type: string - error: - $ref: '#/components/schemas/ErrorMessage' - TagDef: - type: object - properties: - category: - type: string - description: The category - enum: - - PRIMITIVE - - OBJECT_ID_TYPE - - ENUM - - STRUCT - - CLASSIFICATION - - ENTITY - - ARRAY - - MAP - - RELATIONSHIP - - BUSINESS_METADATA - guid: - type: string - description: The internal guid - createdBy: - type: string - description: The creator - updatedBy: - type: string - description: The updater - createTime: - type: integer - description: The create time - format: int64 - updateTime: - type: integer - description: The update time - format: int64 - version: - type: integer - description: The version - format: int32 - name: - type: string - description: The name - description: - type: string - description: The description - typeVersion: - type: string - description: The type version - serviceType: - type: string - description: The service type - options: - type: object - description: The options - additionalProperties: - type: string - attributeDefs: - type: array - description: The attribute definitions - items: - $ref: '#/components/schemas/AttributeDef' - superTypes: - uniqueItems: true - type: array - description: The supertypes - items: - type: string - entityTypes: - uniqueItems: true - type: array - description: The entity types - items: - type: string - subTypes: - uniqueItems: true - type: array - description: The subtypes - items: - type: string - parameters: - AclHost: - name: host - description: The ACL host. - in: query - required: false - schema: - type: string - AclOperation: - name: operation - description: The ACL operation. - in: query - required: false - schema: - $ref: '#/components/schemas/AclOperation' - AclOperationRequired: - name: operation - description: The ACL operation. - in: query - required: true - schema: - $ref: '#/components/schemas/AclOperation' - AclPatternType: - name: pattern_type - description: The ACL pattern type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPatternType' - AclPatternTypeRequired: - name: pattern_type - description: The ACL pattern type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPatternType' - AclPermission: - name: permission - description: The ACL permission. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPermission' - AclPermissionRequired: - name: permission - description: The ACL permission. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPermission' - AclPrincipal: - name: principal - description: The ACL principal. This is the Service Account name or user name. - in: query - required: false - schema: - type: string - AclResourceName: - name: resource_name - description: The ACL resource name. - in: query - required: false - schema: - type: string - AclResourceType: - name: resource_type - description: The ACL resource type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclResourceType' - AclResourceTypeRequired: - name: resource_type - description: The ACL resource type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclResourceType' - BrokerId: - name: broker_id - description: The Kafka broker ID. - in: path - required: true - schema: - type: integer - example: 1 - ClusterId: - name: cluster_id - description: The Kafka cluster ID. - in: path - required: true - schema: - type: string - example: cluster-1 - ConfigName: - name: name - description: The configuration parameter name. - in: path - required: true - schema: - type: string - example: compression.type - ConsumerGroupId: - name: consumer_group_id - description: The consumer group ID. - in: path - required: true - schema: - type: string - example: consumer-group-1 - ConsumerId: - name: consumer_id - description: The consumer ID. - in: path - required: true - schema: - type: string - example: consumer-1 - IncludeAuthorizedOperations: - name: include_authorized_operations - description: Specify if authorized operations should be included in the response. - in: query - required: false - schema: - type: boolean - PartitionId: - name: partition_id - description: The partition ID. - in: path - required: true - schema: - type: integer - example: 0 - TopicName: - name: topic_name - description: The topic name. - in: path - required: true - schema: - type: string - example: topic-1 - BrokerTaskType: - name: task_type - description: The Kafka broker task type. - in: path - required: true - schema: - $ref: '#/components/schemas/BrokerTaskType' - example: remove-broker - ShouldShutdown: - name: should_shutdown - description: 'To shutdown the broker or not, Default: true' - in: query - required: false - schema: - type: boolean - example: true - ValidateOnly: - name: validate_only - description: 'To validate the action can be performed successfully or not. Default: false' - in: query - required: false - schema: - type: boolean - example: false - ValidateLink: - name: validate_link - description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' - in: query - required: false - schema: - type: boolean - example: false - IncludeTasks: - name: include_tasks - description: 'Whether to include cluster linking tasks in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludeStateTransitionErrors: - name: include_state_transition_errors - description: 'Whether to include mirror state transition errors in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - Force: - name: force - description: 'Force the action. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludePartitionLevelTruncationData: - name: include_partition_level_truncation_data - description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - LinkName: - name: link_name - description: The link name - in: path - required: true - schema: - type: string - example: link-sb1 - LinkConfigName: - name: config_name - description: The link config name - in: path - required: true - schema: - type: string - example: consumer.offset.sync.enable - MirrorTopicStatus: - name: mirror_status - description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' - in: query - required: false - schema: - $ref: '#/components/schemas/MirrorTopicStatus' - example: ACTIVE - MirrorTopicName: - name: mirror_topic_name - description: Cluster Linking mirror topic name - in: path - required: true - schema: - type: string - example: topic-1 - QueryParamLinkName: - name: link_name - description: The link name - in: query - required: true - schema: - type: string - example: link-sb1 - responses: {} - securitySchemes: - cloud-api-key: - type: http - scheme: basic - description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. - confluent-sts-access-token: - type: oauth2 - description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' - scopes: {} - api-key: - type: http - scheme: basic - description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. - resource-api-key: - type: http - scheme: basic - description: | - Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID - as the username and resource-specific API Key Secret as the password. - external-access-token: - type: oauth2 - description: Authenticate with OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https:///token' - scopes: {} - oauth: - type: oauth2 - description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. - flows: - clientCredentials: - tokenUrl: /oauth2/token - scopes: - 'partner:alter': enables partners to alter entitlements - 'partner:create': enables partners to create entitlements and signup on behalf of customers - 'partner:delete': enables partners to delete entitlements and organizations - 'partner:describe': enables partners to read and list entitlements and organizations - requestBodies: - AlterBrokerConfigBatchRequest: - description: The alter broker configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterClusterConfigBatchRequest: - description: The alter cluster configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterTopicConfigBatchRequest: - description: The alter topic configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - examples: - batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only_batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only: true - CreateAclRequest: - description: The ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestData' - example: - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - BatchCreateAclRequest: - description: The batch ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestDataList' - example: - data: - - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - - resource_type: TOPIC - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: READ - permission: ALLOW - CreateTopicRequest: - description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTopicRequestData' - examples: - uniform_replication: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - configs: - - name: cleanup.policy - value: compact - - name: compression.type - value: gzip - dry_run_create_topic: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - validate_only: true - ProduceRequest: - description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' - content: - application/json: - schema: - $ref: '#/components/schemas/ProduceRequest' - examples: - binary_and_json: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - partition_id: 1 - headers: - - name: Header-1 - value: SGVhZGVyLTE= - - name: Header-2 - value: SGVhZGVyLTI= - key: - type: BINARY - data: Zm9vYmFy - value: - type: JSON - data: - foo: bar - timestamp: '2021-02-05T19:14:42Z' - string: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - value: - type: STRING - data: My message - empty_value: - description: key or value can be omitted entirely. - value: - key: - data: 1000 - UpdateBrokerConfigRequest: - description: The broker configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateClusterConfigRequest: - description: The cluster configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateTopicConfigRequest: - description: The topic configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - CreateLinkRequest: - description: Create a cluster link - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLinkRequestData' - examples: - destination_initiated_link: - description: Create a destination initiated cluster link - value: - source_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: acl.sync.enable - value: 'false' - - name: consumer.offset.sync.ms - value: '30000' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_source_cluster: - description: Create a source initiated cluster link at source cluster - value: - destination_cluster_id: cluster-2 - configs: - - name: bootstrap.servers - value: cluster-2-bootstrap-server - - name: link.mode - value: SOURCE - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_destination_cluster: - description: Create a source initiated cluster link at destination cluster - value: - destination_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: link.mode - value: DESTINATION - - name: connection.mode - value: INBOUND - - name: acl.sync.enable - value: 'false' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_east: - description: Create a bidirectional cluster link in east - value: - remote_cluster_id: cluster-west - configs: - - name: bootstrap.servers - value: cluster-west-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: west. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_west: - description: Create a bidirectional cluster link in west - value: - remote_cluster_id: cluster-east - cluster_link_id: eEBkTffYSESld6EO898x3w - configs: - - name: bootstrap.servers - value: cluster-east-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: east. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - UpdateLinkConfigRequest: - content: - application/json: - example: - value: '300000' - schema: - $ref: '#/components/schemas/UpdateLinkConfigRequestData' - description: Link config value to update - AlterLinkConfigBatchRequest: - content: - application/json: - example: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - CreateMirrorTopicRequest: - description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateMirrorTopicRequestData' - examples: - generic_example: - description: Generic example of creating a mirror topic - value: - source_topic_name: topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 1 - example_with_mirror_topic_name: - description: Example using optional mirror_topic_name flag - value: - source_topic_name: topic-1 - mirror_topic_name: link1_topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 3 - AlterMirrorsRequest: - description: Mirror topics to be altered. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterMirrorsRequestData' - examples: - mirror_topic_names: - description: Example using mirror topic names - value: - mirror_topic_names: - - topic-1 - - topic-2 - mirror_topic_name_pattern: - description: Example using mirror topic name pattern - value: - mirror_topic_name_pattern: .* - RemoveBrokersRequest: - content: - application/json: - example: - broker_ids: - - 1 - - 2 - - 3 - schema: - $ref: '#/components/schemas/RemoveBrokersRequestData' - description: Broker ids to remove - BrokerReplicaExclusionBatchRequest: - description: Alter Broker Replica Exclusions. - content: - application/json: - schema: - $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' - example: - data: - - broker_id: 1 - reason: The broker is to be removed. - - broker_id: 2 - reason: The broker is to be removed. x-stackQL-resources: business_metadata_defs: id: confluent.catalog.business_metadata_defs @@ -2827,13 +1829,20 @@ components: response: mediaType: application/json openAPIDocKey: '200' + objectKey: $ create_business_metadata_defs: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1catalog~1v1~1types~1businessmetadatadefs/post' response: mediaType: application/json openAPIDocKey: '200' update_business_metadata_defs: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1catalog~1v1~1types~1businessmetadatadefs/put' response: @@ -2841,7 +1850,8 @@ components: openAPIDocKey: '200' delete_business_metadata_def: operation: - $ref: '#/paths/~1catalog~1v1~1types~1businessmetadatadefs~1{bmName}/delete' + $ref: >- + #/paths/~1catalog~1v1~1types~1businessmetadatadefs~1{bmName}/delete response: mediaType: application/json openAPIDocKey: '204' @@ -2851,29 +1861,40 @@ components: response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/schemas/BusinessMetadataDef' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/business_metadata_defs/methods/get_business_metadata_def_by_name' - - $ref: '#/components/x-stackQL-resources/business_metadata_defs/methods/get_all_business_metadata_defs' + - $ref: >- + #/components/x-stackQL-resources/business_metadata_defs/methods/get_business_metadata_def_by_name + - $ref: >- + #/components/x-stackQL-resources/business_metadata_defs/methods/get_all_business_metadata_defs insert: - - $ref: '#/components/x-stackQL-resources/business_metadata_defs/methods/create_business_metadata_defs' + - $ref: >- + #/components/x-stackQL-resources/business_metadata_defs/methods/create_business_metadata_defs update: [] - replace: [] delete: - - $ref: '#/components/x-stackQL-resources/business_metadata_defs/methods/delete_business_metadata_def' + - $ref: >- + #/components/x-stackQL-resources/business_metadata_defs/methods/delete_business_metadata_def + replace: + - $ref: >- + #/components/x-stackQL-resources/business_metadata_defs/methods/update_business_metadata_defs business_metadata: id: confluent.catalog.business_metadata name: business_metadata title: Business Metadata methods: create_business_metadata: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1catalog~1v1~1entity~1businessmetadata/post' response: mediaType: application/json openAPIDocKey: '200' update_business_metadata: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1catalog~1v1~1entity~1businessmetadata/put' response: @@ -2881,37 +1902,51 @@ components: openAPIDocKey: '200' get_business_metadata: operation: - $ref: '#/paths/~1catalog~1v1~1entity~1type~1{typeName}~1name~1{qualifiedName}~1businessmetadata/get' + $ref: >- + #/paths/~1catalog~1v1~1entity~1type~1{typeName}~1name~1{qualifiedName}~1businessmetadata/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $ delete_business_metadata: operation: - $ref: '#/paths/~1catalog~1v1~1entity~1type~1{typeName}~1name~1{qualifiedName}~1businessmetadata~1{bmName}/delete' + $ref: >- + #/paths/~1catalog~1v1~1entity~1type~1{typeName}~1name~1{qualifiedName}~1businessmetadata~1{bmName}/delete response: mediaType: application/json openAPIDocKey: '204' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/business_metadata/methods/get_business_metadata' + - $ref: >- + #/components/x-stackQL-resources/business_metadata/methods/get_business_metadata insert: - - $ref: '#/components/x-stackQL-resources/business_metadata/methods/create_business_metadata' + - $ref: >- + #/components/x-stackQL-resources/business_metadata/methods/create_business_metadata update: [] - replace: [] delete: - - $ref: '#/components/x-stackQL-resources/business_metadata/methods/delete_business_metadata' + - $ref: >- + #/components/x-stackQL-resources/business_metadata/methods/delete_business_metadata + replace: + - $ref: >- + #/components/x-stackQL-resources/business_metadata/methods/update_business_metadata tags: id: confluent.catalog.tags name: tags title: Tags methods: update_tags: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1catalog~1v1~1entity~1tags/put' response: mediaType: application/json openAPIDocKey: '200' create_tags: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1catalog~1v1~1entity~1tags/post' response: @@ -2919,13 +1954,16 @@ components: openAPIDocKey: '200' get_tags: operation: - $ref: '#/paths/~1catalog~1v1~1entity~1type~1{typeName}~1name~1{qualifiedName}~1tags/get' + $ref: >- + #/paths/~1catalog~1v1~1entity~1type~1{typeName}~1name~1{qualifiedName}~1tags/get response: mediaType: application/json openAPIDocKey: '200' + objectKey: $ delete_tag: operation: - $ref: '#/paths/~1catalog~1v1~1entity~1type~1{typeName}~1name~1{qualifiedName}~1tags~1{tagName}/delete' + $ref: >- + #/paths/~1catalog~1v1~1entity~1type~1{typeName}~1name~1{qualifiedName}~1tags~1{tagName}/delete response: mediaType: application/json openAPIDocKey: '204' @@ -2935,9 +1973,10 @@ components: insert: - $ref: '#/components/x-stackQL-resources/tags/methods/create_tags' update: [] - replace: [] delete: - $ref: '#/components/x-stackQL-resources/tags/methods/delete_tag' + replace: + - $ref: '#/components/x-stackQL-resources/tags/methods/update_tags' entities: id: confluent.catalog.entities name: entities @@ -2945,52 +1984,42 @@ components: methods: get_by_unique_attributes: operation: - $ref: '#/paths/~1catalog~1v1~1entity~1type~1{typeName}~1name~1{qualifiedName}/get' + $ref: >- + #/paths/~1catalog~1v1~1entity~1type~1{typeName}~1name~1{qualifiedName}/get response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/schemas/EntityWithExtInfo' partial_entity_update: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1catalog~1v1~1entity/put' response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/schemas/EntityPartialUpdateResponse' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/entities/methods/get_by_unique_attributes' - insert: [] - update: [] - replace: [] - delete: [] - searches: - id: confluent.catalog.searches - name: searches - title: Searches - methods: search_using_attribute: operation: $ref: '#/paths/~1catalog~1v1~1search~1attribute/get' response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/schemas/SearchResult' search_using_basic: operation: $ref: '#/paths/~1catalog~1v1~1search~1basic/get' response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/schemas/SearchResult' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/searches/methods/search_using_attribute' - - $ref: '#/components/x-stackQL-resources/searches/methods/search_using_basic' + - $ref: >- + #/components/x-stackQL-resources/entities/methods/get_by_unique_attributes insert: [] update: [] - replace: [] delete: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/entities/methods/partial_entity_update tag_defs: id: confluent.catalog.tag_defs name: tag_defs @@ -3002,13 +2031,20 @@ components: response: mediaType: application/json openAPIDocKey: '200' + objectKey: $ update_tag_defs: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1catalog~1v1~1types~1tagdefs/put' response: mediaType: application/json openAPIDocKey: '200' create_tag_defs: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1catalog~1v1~1types~1tagdefs/post' response: @@ -3020,7 +2056,6 @@ components: response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/schemas/TagDef' delete_tag_def: operation: $ref: '#/paths/~1catalog~1v1~1types~1tagdefs~1{tagName}/delete' @@ -3029,2866 +2064,15 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/tag_defs/methods/get_tag_def_by_name' + - $ref: >- + #/components/x-stackQL-resources/tag_defs/methods/get_tag_def_by_name - $ref: '#/components/x-stackQL-resources/tag_defs/methods/get_all_tag_defs' insert: - $ref: '#/components/x-stackQL-resources/tag_defs/methods/create_tag_defs' update: [] - replace: [] delete: - $ref: '#/components/x-stackQL-resources/tag_defs/methods/delete_tag_def' -paths: - /catalog/v1/types/businessmetadatadefs: - get: - summary: Bulk Read Business Metadata Definitions - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Bulk retrieval API for retrieving business metadata definitions. - operationId: getAllBusinessMetadataDefs - tags: - - Types (v1) - parameters: - - description: The prefix of a business metadata definition name - explode: true - in: query - name: prefix - required: false - schema: - type: string - style: form - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/BusinessMetadataDefResponse' - type: array - description: The business metadata definitions - '400': - description: Bad Request - '429': - description: Rate Limit Error - '500': - description: Internal Server Error - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs") - .get() - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - conn.request("GET", "/catalog/v1/types/businessmetadatadefs") - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/catalog/v1/types/businessmetadatadefs", - "headers": {} - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs"); - var request = new RestRequest(Method.GET); - IRestResponse response = client.Execute(request); - post: - summary: Bulk Create Business Metadata Definitions - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Bulk create API for business metadata definitions. - operationId: createBusinessMetadataDefs - tags: - - Types (v1) - requestBody: - content: - application/json: - schema: - items: - $ref: '#/components/schemas/BusinessMetadataDef' - type: array - description: The business metadata definitions to create - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/BusinessMetadataDefResponse' - type: array - description: The business metadata definitions. Errored business metadata definitions will have an additional error property. - '400': - description: Bad Request - '429': - description: Rate Limit Error - '500': - description: Internal Server Error - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs \ - --header 'content-type: application/json' \ - --data '[{"category":"PRIMITIVE","guid":"string","createdBy":"string","updatedBy":"string","createTime":0,"updateTime":0,"version":0,"name":"string","description":"string","typeVersion":"string","serviceType":"string","options":{"property1":"string","property2":"string"},"attributeDefs":[{"name":"string","typeName":"string","isOptional":true,"cardinality":"SINGLE","valuesMinCount":0,"valuesMaxCount":0,"isUnique":true,"isIndexable":true,"includeInNotification":true,"defaultValue":"string","description":"string","searchWeight":0,"indexType":"DEFAULT","constraints":[{"type":"string","params":{"property1":{},"property2":{}}}],"options":{"property1":"string","property2":"string"},"displayName":"string"}]}]' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}]}]"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs") - .post(body) - .addHeader("content-type", "application/json") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs\"\n\n\tpayload := strings.NewReader(\"[{\\\"category\\\":\\\"PRIMITIVE\\\",\\\"guid\\\":\\\"string\\\",\\\"createdBy\\\":\\\"string\\\",\\\"updatedBy\\\":\\\"string\\\",\\\"createTime\\\":0,\\\"updateTime\\\":0,\\\"version\\\":0,\\\"name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"typeVersion\\\":\\\"string\\\",\\\"serviceType\\\":\\\"string\\\",\\\"options\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"attributeDefs\\\":[{\\\"name\\\":\\\"string\\\",\\\"typeName\\\":\\\"string\\\",\\\"isOptional\\\":true,\\\"cardinality\\\":\\\"SINGLE\\\",\\\"valuesMinCount\\\":0,\\\"valuesMaxCount\\\":0,\\\"isUnique\\\":true,\\\"isIndexable\\\":true,\\\"includeInNotification\\\":true,\\\"defaultValue\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"searchWeight\\\":0,\\\"indexType\\\":\\\"DEFAULT\\\",\\\"constraints\\\":[{\\\"type\\\":\\\"string\\\",\\\"params\\\":{\\\"property1\\\":{},\\\"property2\\\":{}}}],\\\"options\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"displayName\\\":\\\"string\\\"}]}]\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}]}]" - - headers = { 'content-type': "application/json" } - - conn.request("POST", "/catalog/v1/types/businessmetadatadefs", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/catalog/v1/types/businessmetadatadefs", - "headers": { - "content-type": "application/json" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify([ - { - category: 'PRIMITIVE', - guid: 'string', - createdBy: 'string', - updatedBy: 'string', - createTime: 0, - updateTime: 0, - version: 0, - name: 'string', - description: 'string', - typeVersion: 'string', - serviceType: 'string', - options: {property1: 'string', property2: 'string'}, - attributeDefs: [ - { - name: 'string', - typeName: 'string', - isOptional: true, - cardinality: 'SINGLE', - valuesMinCount: 0, - valuesMaxCount: 0, - isUnique: true, - isIndexable: true, - includeInNotification: true, - defaultValue: 'string', - description: 'string', - searchWeight: 0, - indexType: 'DEFAULT', - constraints: [{type: 'string', params: {property1: {}, property2: {}}}], - options: {property1: 'string', property2: 'string'}, - displayName: 'string' - } - ] - } - ])); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}]}]"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddParameter("application/json", "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}]}]", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - put: - summary: Bulk Update Business Metadata Definitions - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Bulk update API for business metadata definitions. - operationId: updateBusinessMetadataDefs - tags: - - Types (v1) - requestBody: - content: - application/json: - schema: - items: - $ref: '#/components/schemas/BusinessMetadataDef' - type: array - description: The business metadata definitions to update - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/BusinessMetadataDefResponse' - type: array - description: The business metadata definitions. Errored business metadata definitions will have an additional error property. - '400': - description: Bad Request - '429': - description: Rate Limit Error - '500': - description: Internal Server Error - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs \ - --header 'content-type: application/json' \ - --data '[{"category":"PRIMITIVE","guid":"string","createdBy":"string","updatedBy":"string","createTime":0,"updateTime":0,"version":0,"name":"string","description":"string","typeVersion":"string","serviceType":"string","options":{"property1":"string","property2":"string"},"attributeDefs":[{"name":"string","typeName":"string","isOptional":true,"cardinality":"SINGLE","valuesMinCount":0,"valuesMaxCount":0,"isUnique":true,"isIndexable":true,"includeInNotification":true,"defaultValue":"string","description":"string","searchWeight":0,"indexType":"DEFAULT","constraints":[{"type":"string","params":{"property1":{},"property2":{}}}],"options":{"property1":"string","property2":"string"},"displayName":"string"}]}]' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}]}]"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs") - .put(body) - .addHeader("content-type", "application/json") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs\"\n\n\tpayload := strings.NewReader(\"[{\\\"category\\\":\\\"PRIMITIVE\\\",\\\"guid\\\":\\\"string\\\",\\\"createdBy\\\":\\\"string\\\",\\\"updatedBy\\\":\\\"string\\\",\\\"createTime\\\":0,\\\"updateTime\\\":0,\\\"version\\\":0,\\\"name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"typeVersion\\\":\\\"string\\\",\\\"serviceType\\\":\\\"string\\\",\\\"options\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"attributeDefs\\\":[{\\\"name\\\":\\\"string\\\",\\\"typeName\\\":\\\"string\\\",\\\"isOptional\\\":true,\\\"cardinality\\\":\\\"SINGLE\\\",\\\"valuesMinCount\\\":0,\\\"valuesMaxCount\\\":0,\\\"isUnique\\\":true,\\\"isIndexable\\\":true,\\\"includeInNotification\\\":true,\\\"defaultValue\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"searchWeight\\\":0,\\\"indexType\\\":\\\"DEFAULT\\\",\\\"constraints\\\":[{\\\"type\\\":\\\"string\\\",\\\"params\\\":{\\\"property1\\\":{},\\\"property2\\\":{}}}],\\\"options\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"displayName\\\":\\\"string\\\"}]}]\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}]}]" - - headers = { 'content-type': "application/json" } - - conn.request("PUT", "/catalog/v1/types/businessmetadatadefs", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/catalog/v1/types/businessmetadatadefs", - "headers": { - "content-type": "application/json" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify([ - { - category: 'PRIMITIVE', - guid: 'string', - createdBy: 'string', - updatedBy: 'string', - createTime: 0, - updateTime: 0, - version: 0, - name: 'string', - description: 'string', - typeVersion: 'string', - serviceType: 'string', - options: {property1: 'string', property2: 'string'}, - attributeDefs: [ - { - name: 'string', - typeName: 'string', - isOptional: true, - cardinality: 'SINGLE', - valuesMinCount: 0, - valuesMaxCount: 0, - isUnique: true, - isIndexable: true, - includeInNotification: true, - defaultValue: 'string', - description: 'string', - searchWeight: 0, - indexType: 'DEFAULT', - constraints: [{type: 'string', params: {property1: {}, property2: {}}}], - options: {property1: 'string', property2: 'string'}, - displayName: 'string' - } - ] - } - ])); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}]}]"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs"); - var request = new RestRequest(Method.PUT); - request.AddHeader("content-type", "application/json"); - request.AddParameter("application/json", "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}]}]", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/catalog/v1/types/businessmetadatadefs/{bmName}': - delete: - summary: Delete Business Metadata Definition - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Delete API for business metadata definition identified by its name. - operationId: deleteBusinessMetadataDef - tags: - - Types (v1) - parameters: - - description: The name of the business metadata definition - explode: false - in: path - name: bmName - required: true - schema: - type: string - style: simple - responses: - '204': - description: No Content - '400': - description: Bad Request - '429': - description: Rate Limit Error - '500': - description: Internal Server Error - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs/{bmName}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs/{bmName}") - .delete(null) - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs/{bmName}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - conn.request("DELETE", "/catalog/v1/types/businessmetadatadefs/{bmName}") - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/catalog/v1/types/businessmetadatadefs/{bmName}", - "headers": {} - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs/{bmName}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs/{bmName}"); - var request = new RestRequest(Method.DELETE); - IRestResponse response = client.Execute(request); - get: - summary: Read Business Metadata Definition - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Get the business metadata definition with the given name. - operationId: getBusinessMetadataDefByName - tags: - - Types (v1) - parameters: - - description: The name of the business metadata definition - explode: false - in: path - name: bmName - required: true - schema: - type: string - style: simple - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/BusinessMetadataDef' - description: The business metadata definition - '400': - description: Bad Request - '404': - description: Business metadata definition not found - '429': - description: Rate Limit Error - '500': - description: Internal Server Error - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs/{bmName}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs/{bmName}") - .get() - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs/{bmName}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - conn.request("GET", "/catalog/v1/types/businessmetadatadefs/{bmName}") - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/catalog/v1/types/businessmetadatadefs/{bmName}", - "headers": {} - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs/{bmName}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/businessmetadatadefs/{bmName}"); - var request = new RestRequest(Method.GET); - IRestResponse response = client.Execute(request); - /catalog/v1/entity/businessmetadata: - post: - summary: Bulk Create Business Metadata - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Bulk API to create multiple business metadata. - operationId: createBusinessMetadata - tags: - - Entity (v1) - requestBody: - content: - application/json: - schema: - items: - $ref: '#/components/schemas/BusinessMetadata' - type: array - description: The business metadata - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/BusinessMetadataResponse' - type: array - description: The business metadata. Errored business metadata will have an additional error property. - '400': - description: Bad Request - '429': - description: Rate Limit Error - '500': - description: Internal Server Error - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/businessmetadata \ - --header 'content-type: application/json' \ - --data '[{"typeName":"string","attributes":{},"entityType":"string","entityName":"string"}]' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "[{\"typeName\":\"string\",\"attributes\":{},\"entityType\":\"string\",\"entityName\":\"string\"}]"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/businessmetadata") - .post(body) - .addHeader("content-type", "application/json") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/businessmetadata\"\n\n\tpayload := strings.NewReader(\"[{\\\"typeName\\\":\\\"string\\\",\\\"attributes\\\":{},\\\"entityType\\\":\\\"string\\\",\\\"entityName\\\":\\\"string\\\"}]\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "[{\"typeName\":\"string\",\"attributes\":{},\"entityType\":\"string\",\"entityName\":\"string\"}]" - - headers = { 'content-type': "application/json" } - - conn.request("POST", "/catalog/v1/entity/businessmetadata", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/catalog/v1/entity/businessmetadata", - "headers": { - "content-type": "application/json" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify([ - {typeName: 'string', attributes: {}, entityType: 'string', entityName: 'string'} - ])); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/businessmetadata"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "[{\"typeName\":\"string\",\"attributes\":{},\"entityType\":\"string\",\"entityName\":\"string\"}]"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/businessmetadata"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddParameter("application/json", "[{\"typeName\":\"string\",\"attributes\":{},\"entityType\":\"string\",\"entityName\":\"string\"}]", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - put: - summary: Bulk Update Business Metadata - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Bulk API to update multiple business metadata. - operationId: updateBusinessMetadata - tags: - - Entity (v1) - requestBody: - content: - application/json: - schema: - items: - $ref: '#/components/schemas/BusinessMetadata' - type: array - description: The business metadata - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/BusinessMetadataResponse' - type: array - description: The business metadata. Errored business metadata will have an additional error property. - '400': - description: Bad Request - '429': - description: Rate Limit Error - '500': - description: Internal Server Error - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/businessmetadata \ - --header 'content-type: application/json' \ - --data '[{"typeName":"string","attributes":{},"entityType":"string","entityName":"string"}]' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "[{\"typeName\":\"string\",\"attributes\":{},\"entityType\":\"string\",\"entityName\":\"string\"}]"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/businessmetadata") - .put(body) - .addHeader("content-type", "application/json") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/businessmetadata\"\n\n\tpayload := strings.NewReader(\"[{\\\"typeName\\\":\\\"string\\\",\\\"attributes\\\":{},\\\"entityType\\\":\\\"string\\\",\\\"entityName\\\":\\\"string\\\"}]\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "[{\"typeName\":\"string\",\"attributes\":{},\"entityType\":\"string\",\"entityName\":\"string\"}]" - - headers = { 'content-type': "application/json" } - - conn.request("PUT", "/catalog/v1/entity/businessmetadata", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/catalog/v1/entity/businessmetadata", - "headers": { - "content-type": "application/json" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify([ - {typeName: 'string', attributes: {}, entityType: 'string', entityName: 'string'} - ])); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/businessmetadata"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "[{\"typeName\":\"string\",\"attributes\":{},\"entityType\":\"string\",\"entityName\":\"string\"}]"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/businessmetadata"); - var request = new RestRequest(Method.PUT); - request.AddHeader("content-type", "application/json"); - request.AddParameter("application/json", "[{\"typeName\":\"string\",\"attributes\":{},\"entityType\":\"string\",\"entityName\":\"string\"}]", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata': - get: - summary: Read Business Metadata for an Entity - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Gets the list of business metadata for a given entity represented - by a qualified name. - operationId: getBusinessMetadata - tags: - - Entity (v1) - parameters: - - description: The type of the entity - explode: false - in: path - name: typeName - required: true - schema: - type: string - style: simple - - description: The qualified name of the entity - explode: false - in: path - name: qualifiedName - required: true - schema: - type: string - style: simple - responses: - '200': - content: - application/json: - schema: - items: - $ref: '#/components/schemas/BusinessMetadataResponse' - type: array - description: The business metadata - '400': - description: Bad Request - '404': - description: Entity not found - '429': - description: Rate Limit Error - '500': - description: Internal Server Error - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata") - .get() - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - conn.request("GET", "/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata") - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata", - "headers": {} - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata"); - var request = new RestRequest(Method.GET); - IRestResponse response = client.Execute(request); - '/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata/{bmName}': - delete: - summary: Delete a Business Metadata for an Entity - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Delete a business metadata on an entity. - operationId: deleteBusinessMetadata - tags: - - Entity (v1) - parameters: - - description: The type of the entity - explode: false - in: path - name: typeName - required: true - schema: - type: string - style: simple - - description: The qualified name of the entity - explode: false - in: path - name: qualifiedName - required: true - schema: - type: string - style: simple - - description: The name of the business metadata - explode: false - in: path - name: bmName - required: true - schema: - type: string - style: simple - responses: - '204': - description: No Content - '400': - description: Bad Request - '429': - description: Rate Limit Error - '500': - description: Internal Server Error - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata/{bmName}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata/{bmName}") - .delete(null) - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata/{bmName}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - conn.request("DELETE", "/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata/{bmName}") - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata/{bmName}", - "headers": {} - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata/{bmName}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/businessmetadata/{bmName}"); - var request = new RestRequest(Method.DELETE); - IRestResponse response = client.Execute(request); - /catalog/v1/entity/tags: - put: - summary: Bulk Update Tags - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Bulk API to update multiple tags. - tags: - - Entity (v1) - operationId: updateTags - requestBody: - description: The tags - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Tag' - responses: - '200': - description: The tags. Errored tags will have an additional error property. - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/TagResponse' - '400': - description: Bad Request - '429': - description: Rate Limit Error - '500': - description: Internal Server Error - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/tags \ - --header 'content-type: application/json' \ - --data '[{"typeName":"string","attributes":{},"entityGuid":"string","entityStatus":"ACTIVE","propagate":true,"validityPeriods":[{"startTime":"string","endTime":"string","timeZone":"string"}],"removePropagationsOnEntityDelete":true,"entityType":"string","entityName":"string"}]' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "[{\"typeName\":\"string\",\"attributes\":{},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true,\"entityType\":\"string\",\"entityName\":\"string\"}]"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/tags") - .put(body) - .addHeader("content-type", "application/json") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/tags\"\n\n\tpayload := strings.NewReader(\"[{\\\"typeName\\\":\\\"string\\\",\\\"attributes\\\":{},\\\"entityGuid\\\":\\\"string\\\",\\\"entityStatus\\\":\\\"ACTIVE\\\",\\\"propagate\\\":true,\\\"validityPeriods\\\":[{\\\"startTime\\\":\\\"string\\\",\\\"endTime\\\":\\\"string\\\",\\\"timeZone\\\":\\\"string\\\"}],\\\"removePropagationsOnEntityDelete\\\":true,\\\"entityType\\\":\\\"string\\\",\\\"entityName\\\":\\\"string\\\"}]\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "[{\"typeName\":\"string\",\"attributes\":{},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true,\"entityType\":\"string\",\"entityName\":\"string\"}]" - - headers = { 'content-type': "application/json" } - - conn.request("PUT", "/catalog/v1/entity/tags", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/catalog/v1/entity/tags", - "headers": { - "content-type": "application/json" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify([ - { - typeName: 'string', - attributes: {}, - entityGuid: 'string', - entityStatus: 'ACTIVE', - propagate: true, - validityPeriods: [{startTime: 'string', endTime: 'string', timeZone: 'string'}], - removePropagationsOnEntityDelete: true, - entityType: 'string', - entityName: 'string' - } - ])); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/tags"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "[{\"typeName\":\"string\",\"attributes\":{},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true,\"entityType\":\"string\",\"entityName\":\"string\"}]"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/tags"); - var request = new RestRequest(Method.PUT); - request.AddHeader("content-type", "application/json"); - request.AddParameter("application/json", "[{\"typeName\":\"string\",\"attributes\":{},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true,\"entityType\":\"string\",\"entityName\":\"string\"}]", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - post: - summary: Bulk Create Tags - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Bulk API to create multiple tags. - tags: - - Entity (v1) - operationId: createTags - requestBody: - description: The tags - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Tag' - responses: - '200': - description: The tags. Errored tags will have an additional error property. - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/TagResponse' - '400': - description: Bad Request - '429': - description: Rate Limit Error - '500': - description: Internal Server Error - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/tags \ - --header 'content-type: application/json' \ - --data '[{"typeName":"string","attributes":{},"entityGuid":"string","entityStatus":"ACTIVE","propagate":true,"validityPeriods":[{"startTime":"string","endTime":"string","timeZone":"string"}],"removePropagationsOnEntityDelete":true,"entityType":"string","entityName":"string"}]' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "[{\"typeName\":\"string\",\"attributes\":{},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true,\"entityType\":\"string\",\"entityName\":\"string\"}]"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/tags") - .post(body) - .addHeader("content-type", "application/json") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/tags\"\n\n\tpayload := strings.NewReader(\"[{\\\"typeName\\\":\\\"string\\\",\\\"attributes\\\":{},\\\"entityGuid\\\":\\\"string\\\",\\\"entityStatus\\\":\\\"ACTIVE\\\",\\\"propagate\\\":true,\\\"validityPeriods\\\":[{\\\"startTime\\\":\\\"string\\\",\\\"endTime\\\":\\\"string\\\",\\\"timeZone\\\":\\\"string\\\"}],\\\"removePropagationsOnEntityDelete\\\":true,\\\"entityType\\\":\\\"string\\\",\\\"entityName\\\":\\\"string\\\"}]\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "[{\"typeName\":\"string\",\"attributes\":{},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true,\"entityType\":\"string\",\"entityName\":\"string\"}]" - - headers = { 'content-type': "application/json" } - - conn.request("POST", "/catalog/v1/entity/tags", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/catalog/v1/entity/tags", - "headers": { - "content-type": "application/json" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify([ - { - typeName: 'string', - attributes: {}, - entityGuid: 'string', - entityStatus: 'ACTIVE', - propagate: true, - validityPeriods: [{startTime: 'string', endTime: 'string', timeZone: 'string'}], - removePropagationsOnEntityDelete: true, - entityType: 'string', - entityName: 'string' - } - ])); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/tags"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "[{\"typeName\":\"string\",\"attributes\":{},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true,\"entityType\":\"string\",\"entityName\":\"string\"}]"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/tags"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddParameter("application/json", "[{\"typeName\":\"string\",\"attributes\":{},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true,\"entityType\":\"string\",\"entityName\":\"string\"}]", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/catalog/v1/entity/type/{typeName}/name/{qualifiedName}': - get: - summary: Read an Entity - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Fetch complete definition of an entity given its type and unique attribute. - operationId: getByUniqueAttributes - parameters: - - name: typeName - in: path - description: The type of the entity - required: true - schema: - type: string - - name: qualifiedName - in: path - description: The qualified name of the entity - required: true - schema: - type: string - - name: minExtInfo - in: query - description: Whether to populate on header and schema attributes - schema: - type: boolean - default: false - - name: ignoreRelationships - in: query - description: Whether to ignore relationships - schema: - type: boolean - default: false - tags: - - Entity (v1) - responses: - '200': - description: The entity - content: - application/json: - schema: - $ref: '#/components/schemas/EntityWithExtInfo' - '400': - description: Bad Request - '404': - description: Entity not found - '429': - description: Rate Limit Error - '500': - description: Internal Server Error - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}") - .get() - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - conn.request("GET", "/catalog/v1/entity/type/{typeName}/name/{qualifiedName}") - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/catalog/v1/entity/type/{typeName}/name/{qualifiedName}", - "headers": {} - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}"); - var request = new RestRequest(Method.GET); - IRestResponse response = client.Execute(request); - '/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags': - get: - summary: Read Tags for an Entity - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Gets the list of tags for a given entity represented by a qualified name. - operationId: getTags - parameters: - - name: typeName - in: path - description: The type of the entity - required: true - schema: - type: string - - name: qualifiedName - in: path - description: The qualified name of the entity - required: true - schema: - type: string - tags: - - Entity (v1) - responses: - '200': - description: The tags - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/TagResponse' - '400': - description: Bad Request - '404': - description: Entity not found - '429': - description: Rate Limit Error - '500': - description: Internal Server Error - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags") - .get() - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - conn.request("GET", "/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags") - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags", - "headers": {} - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags"); - var request = new RestRequest(Method.GET); - IRestResponse response = client.Execute(request); - /catalog/v1/entity: - put: - summary: Update an Entity Attribute - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Partially update an entity attribute. - operationId: partialEntityUpdate - requestBody: - description: The entity to update - content: - application/json: - schema: - $ref: '#/components/schemas/EntityWithExtInfo' - tags: - - Entity (v1) - responses: - '200': - description: The updated entity - content: - application/json: - schema: - $ref: '#/components/schemas/EntityPartialUpdateResponse' - '400': - description: Bad Request - '404': - description: Entity not found - '429': - description: Rate Limit Error - '500': - description: Internal Server Error - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity \ - --header 'content-type: application/json' \ - --data '{"referredEntities":{"property1":{"typeName":"string","attributes":{},"guid":"string","homeId":"string","isProxy":true,"isIncomplete":true,"provenanceType":0,"status":"ACTIVE","createdBy":"string","updatedBy":"string","createTime":0,"updateTime":0,"version":0,"relationshipAttributes":{},"classifications":[{"typeName":"string","attributes":{"property1":{},"property2":{}},"entityGuid":"string","entityStatus":"ACTIVE","propagate":true,"validityPeriods":[{"startTime":"string","endTime":"string","timeZone":"string"}],"removePropagationsOnEntityDelete":true}],"meanings":[{"termGuid":"string","relationGuid":"string","description":"string","displayText":"string","expression":"string","createdBy":"string","steward":"string","source":"string","confidence":0,"status":"DISCOVERED"}],"customAttributes":{"property1":"string","property2":"string"},"businessAttributes":{"property1":{},"property2":{}},"labels":["string"],"proxy":true},"property2":{"typeName":"string","attributes":{},"guid":"string","homeId":"string","isProxy":true,"isIncomplete":true,"provenanceType":0,"status":"ACTIVE","createdBy":"string","updatedBy":"string","createTime":0,"updateTime":0,"version":0,"relationshipAttributes":{},"classifications":[{"typeName":"string","attributes":{"property1":{},"property2":{}},"entityGuid":"string","entityStatus":"ACTIVE","propagate":true,"validityPeriods":[{"startTime":"string","endTime":"string","timeZone":"string"}],"removePropagationsOnEntityDelete":true}],"meanings":[{"termGuid":"string","relationGuid":"string","description":"string","displayText":"string","expression":"string","createdBy":"string","steward":"string","source":"string","confidence":0,"status":"DISCOVERED"}],"customAttributes":{"property1":"string","property2":"string"},"businessAttributes":{"property1":{},"property2":{}},"labels":["string"],"proxy":true}},"entity":{"typeName":"string","attributes":{},"guid":"string","homeId":"string","isProxy":true,"isIncomplete":true,"provenanceType":0,"status":"ACTIVE","createdBy":"string","updatedBy":"string","createTime":0,"updateTime":0,"version":0,"relationshipAttributes":{},"classifications":[{"typeName":"string","attributes":{"property1":{},"property2":{}},"entityGuid":"string","entityStatus":"ACTIVE","propagate":true,"validityPeriods":[{"startTime":"string","endTime":"string","timeZone":"string"}],"removePropagationsOnEntityDelete":true}],"meanings":[{"termGuid":"string","relationGuid":"string","description":"string","displayText":"string","expression":"string","createdBy":"string","steward":"string","source":"string","confidence":0,"status":"DISCOVERED"}],"customAttributes":{"property1":"string","property2":"string"},"businessAttributes":{"property1":{},"property2":{}},"labels":["string"],"proxy":true}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"referredEntities\":{\"property1\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true},\"property2\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true}},\"entity\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true}}"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity") - .put(body) - .addHeader("content-type", "application/json") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity\"\n\n\tpayload := strings.NewReader(\"{\\\"referredEntities\\\":{\\\"property1\\\":{\\\"typeName\\\":\\\"string\\\",\\\"attributes\\\":{},\\\"guid\\\":\\\"string\\\",\\\"homeId\\\":\\\"string\\\",\\\"isProxy\\\":true,\\\"isIncomplete\\\":true,\\\"provenanceType\\\":0,\\\"status\\\":\\\"ACTIVE\\\",\\\"createdBy\\\":\\\"string\\\",\\\"updatedBy\\\":\\\"string\\\",\\\"createTime\\\":0,\\\"updateTime\\\":0,\\\"version\\\":0,\\\"relationshipAttributes\\\":{},\\\"classifications\\\":[{\\\"typeName\\\":\\\"string\\\",\\\"attributes\\\":{\\\"property1\\\":{},\\\"property2\\\":{}},\\\"entityGuid\\\":\\\"string\\\",\\\"entityStatus\\\":\\\"ACTIVE\\\",\\\"propagate\\\":true,\\\"validityPeriods\\\":[{\\\"startTime\\\":\\\"string\\\",\\\"endTime\\\":\\\"string\\\",\\\"timeZone\\\":\\\"string\\\"}],\\\"removePropagationsOnEntityDelete\\\":true}],\\\"meanings\\\":[{\\\"termGuid\\\":\\\"string\\\",\\\"relationGuid\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"displayText\\\":\\\"string\\\",\\\"expression\\\":\\\"string\\\",\\\"createdBy\\\":\\\"string\\\",\\\"steward\\\":\\\"string\\\",\\\"source\\\":\\\"string\\\",\\\"confidence\\\":0,\\\"status\\\":\\\"DISCOVERED\\\"}],\\\"customAttributes\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"businessAttributes\\\":{\\\"property1\\\":{},\\\"property2\\\":{}},\\\"labels\\\":[\\\"string\\\"],\\\"proxy\\\":true},\\\"property2\\\":{\\\"typeName\\\":\\\"string\\\",\\\"attributes\\\":{},\\\"guid\\\":\\\"string\\\",\\\"homeId\\\":\\\"string\\\",\\\"isProxy\\\":true,\\\"isIncomplete\\\":true,\\\"provenanceType\\\":0,\\\"status\\\":\\\"ACTIVE\\\",\\\"createdBy\\\":\\\"string\\\",\\\"updatedBy\\\":\\\"string\\\",\\\"createTime\\\":0,\\\"updateTime\\\":0,\\\"version\\\":0,\\\"relationshipAttributes\\\":{},\\\"classifications\\\":[{\\\"typeName\\\":\\\"string\\\",\\\"attributes\\\":{\\\"property1\\\":{},\\\"property2\\\":{}},\\\"entityGuid\\\":\\\"string\\\",\\\"entityStatus\\\":\\\"ACTIVE\\\",\\\"propagate\\\":true,\\\"validityPeriods\\\":[{\\\"startTime\\\":\\\"string\\\",\\\"endTime\\\":\\\"string\\\",\\\"timeZone\\\":\\\"string\\\"}],\\\"removePropagationsOnEntityDelete\\\":true}],\\\"meanings\\\":[{\\\"termGuid\\\":\\\"string\\\",\\\"relationGuid\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"displayText\\\":\\\"string\\\",\\\"expression\\\":\\\"string\\\",\\\"createdBy\\\":\\\"string\\\",\\\"steward\\\":\\\"string\\\",\\\"source\\\":\\\"string\\\",\\\"confidence\\\":0,\\\"status\\\":\\\"DISCOVERED\\\"}],\\\"customAttributes\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"businessAttributes\\\":{\\\"property1\\\":{},\\\"property2\\\":{}},\\\"labels\\\":[\\\"string\\\"],\\\"proxy\\\":true}},\\\"entity\\\":{\\\"typeName\\\":\\\"string\\\",\\\"attributes\\\":{},\\\"guid\\\":\\\"string\\\",\\\"homeId\\\":\\\"string\\\",\\\"isProxy\\\":true,\\\"isIncomplete\\\":true,\\\"provenanceType\\\":0,\\\"status\\\":\\\"ACTIVE\\\",\\\"createdBy\\\":\\\"string\\\",\\\"updatedBy\\\":\\\"string\\\",\\\"createTime\\\":0,\\\"updateTime\\\":0,\\\"version\\\":0,\\\"relationshipAttributes\\\":{},\\\"classifications\\\":[{\\\"typeName\\\":\\\"string\\\",\\\"attributes\\\":{\\\"property1\\\":{},\\\"property2\\\":{}},\\\"entityGuid\\\":\\\"string\\\",\\\"entityStatus\\\":\\\"ACTIVE\\\",\\\"propagate\\\":true,\\\"validityPeriods\\\":[{\\\"startTime\\\":\\\"string\\\",\\\"endTime\\\":\\\"string\\\",\\\"timeZone\\\":\\\"string\\\"}],\\\"removePropagationsOnEntityDelete\\\":true}],\\\"meanings\\\":[{\\\"termGuid\\\":\\\"string\\\",\\\"relationGuid\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"displayText\\\":\\\"string\\\",\\\"expression\\\":\\\"string\\\",\\\"createdBy\\\":\\\"string\\\",\\\"steward\\\":\\\"string\\\",\\\"source\\\":\\\"string\\\",\\\"confidence\\\":0,\\\"status\\\":\\\"DISCOVERED\\\"}],\\\"customAttributes\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"businessAttributes\\\":{\\\"property1\\\":{},\\\"property2\\\":{}},\\\"labels\\\":[\\\"string\\\"],\\\"proxy\\\":true}}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "{\"referredEntities\":{\"property1\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true},\"property2\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true}},\"entity\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true}}" - - headers = { 'content-type': "application/json" } - - conn.request("PUT", "/catalog/v1/entity", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/catalog/v1/entity", - "headers": { - "content-type": "application/json" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - referredEntities: { - property1: { - typeName: 'string', - attributes: {}, - guid: 'string', - homeId: 'string', - isProxy: true, - isIncomplete: true, - provenanceType: 0, - status: 'ACTIVE', - createdBy: 'string', - updatedBy: 'string', - createTime: 0, - updateTime: 0, - version: 0, - relationshipAttributes: {}, - classifications: [ - { - typeName: 'string', - attributes: {property1: {}, property2: {}}, - entityGuid: 'string', - entityStatus: 'ACTIVE', - propagate: true, - validityPeriods: [{startTime: 'string', endTime: 'string', timeZone: 'string'}], - removePropagationsOnEntityDelete: true - } - ], - meanings: [ - { - termGuid: 'string', - relationGuid: 'string', - description: 'string', - displayText: 'string', - expression: 'string', - createdBy: 'string', - steward: 'string', - source: 'string', - confidence: 0, - status: 'DISCOVERED' - } - ], - customAttributes: {property1: 'string', property2: 'string'}, - businessAttributes: {property1: {}, property2: {}}, - labels: ['string'], - proxy: true - }, - property2: { - typeName: 'string', - attributes: {}, - guid: 'string', - homeId: 'string', - isProxy: true, - isIncomplete: true, - provenanceType: 0, - status: 'ACTIVE', - createdBy: 'string', - updatedBy: 'string', - createTime: 0, - updateTime: 0, - version: 0, - relationshipAttributes: {}, - classifications: [ - { - typeName: 'string', - attributes: {property1: {}, property2: {}}, - entityGuid: 'string', - entityStatus: 'ACTIVE', - propagate: true, - validityPeriods: [{startTime: 'string', endTime: 'string', timeZone: 'string'}], - removePropagationsOnEntityDelete: true - } - ], - meanings: [ - { - termGuid: 'string', - relationGuid: 'string', - description: 'string', - displayText: 'string', - expression: 'string', - createdBy: 'string', - steward: 'string', - source: 'string', - confidence: 0, - status: 'DISCOVERED' - } - ], - customAttributes: {property1: 'string', property2: 'string'}, - businessAttributes: {property1: {}, property2: {}}, - labels: ['string'], - proxy: true - } - }, - entity: { - typeName: 'string', - attributes: {}, - guid: 'string', - homeId: 'string', - isProxy: true, - isIncomplete: true, - provenanceType: 0, - status: 'ACTIVE', - createdBy: 'string', - updatedBy: 'string', - createTime: 0, - updateTime: 0, - version: 0, - relationshipAttributes: {}, - classifications: [ - { - typeName: 'string', - attributes: {property1: {}, property2: {}}, - entityGuid: 'string', - entityStatus: 'ACTIVE', - propagate: true, - validityPeriods: [{startTime: 'string', endTime: 'string', timeZone: 'string'}], - removePropagationsOnEntityDelete: true - } - ], - meanings: [ - { - termGuid: 'string', - relationGuid: 'string', - description: 'string', - displayText: 'string', - expression: 'string', - createdBy: 'string', - steward: 'string', - source: 'string', - confidence: 0, - status: 'DISCOVERED' - } - ], - customAttributes: {property1: 'string', property2: 'string'}, - businessAttributes: {property1: {}, property2: {}}, - labels: ['string'], - proxy: true - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"referredEntities\":{\"property1\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true},\"property2\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true}},\"entity\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity"); - var request = new RestRequest(Method.PUT); - request.AddHeader("content-type", "application/json"); - request.AddParameter("application/json", "{\"referredEntities\":{\"property1\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true},\"property2\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true}},\"entity\":{\"typeName\":\"string\",\"attributes\":{},\"guid\":\"string\",\"homeId\":\"string\",\"isProxy\":true,\"isIncomplete\":true,\"provenanceType\":0,\"status\":\"ACTIVE\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"relationshipAttributes\":{},\"classifications\":[{\"typeName\":\"string\",\"attributes\":{\"property1\":{},\"property2\":{}},\"entityGuid\":\"string\",\"entityStatus\":\"ACTIVE\",\"propagate\":true,\"validityPeriods\":[{\"startTime\":\"string\",\"endTime\":\"string\",\"timeZone\":\"string\"}],\"removePropagationsOnEntityDelete\":true}],\"meanings\":[{\"termGuid\":\"string\",\"relationGuid\":\"string\",\"description\":\"string\",\"displayText\":\"string\",\"expression\":\"string\",\"createdBy\":\"string\",\"steward\":\"string\",\"source\":\"string\",\"confidence\":0,\"status\":\"DISCOVERED\"}],\"customAttributes\":{\"property1\":\"string\",\"property2\":\"string\"},\"businessAttributes\":{\"property1\":{},\"property2\":{}},\"labels\":[\"string\"],\"proxy\":true}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags/{tagName}': - delete: - summary: Delete a Tag for an Entity - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Delete a tag for an entity. - operationId: deleteTag - parameters: - - name: typeName - in: path - description: The type of the entity - required: true - schema: - type: string - - name: qualifiedName - in: path - description: The qualified name of the entity - required: true - schema: - type: string - - name: tagName - in: path - description: The name of the tag - required: true - schema: - type: string - tags: - - Entity (v1) - responses: - '204': - description: No Content - '400': - description: Bad Request - '429': - description: Rate Limit Error - '500': - description: Internal Server Error - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags/{tagName}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags/{tagName}") - .delete(null) - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags/{tagName}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - conn.request("DELETE", "/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags/{tagName}") - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags/{tagName}", - "headers": {} - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags/{tagName}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/entity/type/{typeName}/name/{qualifiedName}/tags/{tagName}"); - var request = new RestRequest(Method.DELETE); - IRestResponse response = client.Execute(request); - /catalog/v1/search/attribute: - get: - summary: Search by Attribute - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve data for the specified attribute search query. - operationId: searchUsingAttribute - parameters: - - name: type - in: query - description: Limit the result to only entities of specified types - style: form - explode: true - schema: - type: array - items: - type: string - - name: attr - in: query - description: One of more additional attributes to return in the response - style: form - explode: true - schema: - type: array - items: - type: string - - name: attrName - in: query - description: The attribute to search - style: form - explode: true - schema: - type: array - items: - type: string - - name: attrValuePrefix - in: query - description: The prefix for the attribute value to search - style: form - explode: true - schema: - type: array - items: - type: string - - name: tag - in: query - description: Limit the result to only entities tagged with the given tag - schema: - type: string - - name: sortBy - in: query - description: An attribute to sort by - schema: - type: string - - name: sortOrder - in: query - description: 'Sort order, either ASCENDING (default) or DESCENDING' - schema: - type: string - enum: - - ASCENDING - - DESCENDING - - name: deleted - in: query - description: Whether to include deleted entities - schema: - type: boolean - - name: limit - in: query - description: Limit the result set to only include the specified number of entries - schema: - type: integer - format: int32 - - name: offset - in: query - description: Start offset of the result set (useful for pagination) - schema: - type: integer - format: int32 - tags: - - Search (v1) - responses: - '200': - description: 'On successful search query with some results, might return an empty list if execution succeeded without any results' - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResult' - '400': - description: Invalid wildcard or query parameters - '429': - description: Rate Limit Error - '500': - description: Internal Server Error - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/search/attribute - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/search/attribute") - .get() - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/search/attribute\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - conn.request("GET", "/catalog/v1/search/attribute") - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/catalog/v1/search/attribute", - "headers": {} - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/search/attribute"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/search/attribute"); - var request = new RestRequest(Method.GET); - IRestResponse response = client.Execute(request); - /catalog/v1/search/basic: - get: - summary: Search by Fulltext Query - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve data for the specified fulltext query. - operationId: searchUsingBasic - parameters: - - name: query - in: query - description: The full-text query - schema: - type: string - - name: type - in: query - description: Limit the result to only entities of specified types - style: form - explode: true - schema: - type: array - items: - type: string - - name: attr - in: query - description: One of more additional attributes to return in the response - style: form - explode: true - schema: - type: array - items: - type: string - - name: tag - in: query - description: Limit the result to only entities tagged with the given tag - schema: - type: string - - name: sortBy - in: query - description: An attribute to sort by - schema: - type: string - - name: sortOrder - in: query - description: 'Sort order, either ASCENDING (default) or DESCENDING' - schema: - type: string - enum: - - ASCENDING - - DESCENDING - - name: deleted - in: query - description: Whether to include deleted entities - schema: - type: boolean - - name: limit - in: query - description: Limit the result set to only include the specified number of entries - schema: - type: integer - format: int32 - - name: offset - in: query - description: Start offset of the result set (useful for pagination) - schema: - type: integer - format: int32 - tags: - - Search (v1) - responses: - '200': - description: 'On successful fulltext query with some results, might return an empty list if execution succeeded without any results' - content: - application/json: - schema: - $ref: '#/components/schemas/SearchResult' - '400': - description: Invalid fulltext or query parameters - '429': - description: Rate Limit Error - '500': - description: Internal Server Error - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/search/basic - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/search/basic") - .get() - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/search/basic\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - conn.request("GET", "/catalog/v1/search/basic") - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/catalog/v1/search/basic", - "headers": {} - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/search/basic"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/search/basic"); - var request = new RestRequest(Method.GET); - IRestResponse response = client.Execute(request); - /catalog/v1/types/tagdefs: - get: - summary: Bulk Read Tag Definitions - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Bulk retrieval API for retrieving tag definitions. - operationId: getAllTagDefs - parameters: - - name: prefix - in: query - description: The prefix of a tag definition name - schema: - type: string - tags: - - Types (v1) - responses: - '200': - description: The tag definitions - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/TagDefResponse' - '400': - description: Bad Request - '429': - description: Rate Limit Error - '500': - description: Internal Server Error - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs") - .get() - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - conn.request("GET", "/catalog/v1/types/tagdefs") - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/catalog/v1/types/tagdefs", - "headers": {} - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs"); - var request = new RestRequest(Method.GET); - IRestResponse response = client.Execute(request); - put: - summary: Bulk Update Tag Definitions - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Bulk update API for tag definitions. - tags: - - Types (v1) - operationId: updateTagDefs - requestBody: - description: The tag definitions to update - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/TagDef' - responses: - '200': - description: The tag definitions. Errored tag definitions will have an additional error property. - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/TagDefResponse' - '400': - description: Bad Request - '429': - description: Rate Limit Error - '500': - description: Internal Server Error - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs \ - --header 'content-type: application/json' \ - --data '[{"category":"PRIMITIVE","guid":"string","createdBy":"string","updatedBy":"string","createTime":0,"updateTime":0,"version":0,"name":"string","description":"string","typeVersion":"string","serviceType":"string","options":{"property1":"string","property2":"string"},"attributeDefs":[{"name":"string","typeName":"string","isOptional":true,"cardinality":"SINGLE","valuesMinCount":0,"valuesMaxCount":0,"isUnique":true,"isIndexable":true,"includeInNotification":true,"defaultValue":"string","description":"string","searchWeight":0,"indexType":"DEFAULT","constraints":[{"type":"string","params":{"property1":{},"property2":{}}}],"options":{"property1":"string","property2":"string"},"displayName":"string"}],"superTypes":["string"],"entityTypes":["string"],"subTypes":["string"]}]' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}],\"superTypes\":[\"string\"],\"entityTypes\":[\"string\"],\"subTypes\":[\"string\"]}]"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs") - .put(body) - .addHeader("content-type", "application/json") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs\"\n\n\tpayload := strings.NewReader(\"[{\\\"category\\\":\\\"PRIMITIVE\\\",\\\"guid\\\":\\\"string\\\",\\\"createdBy\\\":\\\"string\\\",\\\"updatedBy\\\":\\\"string\\\",\\\"createTime\\\":0,\\\"updateTime\\\":0,\\\"version\\\":0,\\\"name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"typeVersion\\\":\\\"string\\\",\\\"serviceType\\\":\\\"string\\\",\\\"options\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"attributeDefs\\\":[{\\\"name\\\":\\\"string\\\",\\\"typeName\\\":\\\"string\\\",\\\"isOptional\\\":true,\\\"cardinality\\\":\\\"SINGLE\\\",\\\"valuesMinCount\\\":0,\\\"valuesMaxCount\\\":0,\\\"isUnique\\\":true,\\\"isIndexable\\\":true,\\\"includeInNotification\\\":true,\\\"defaultValue\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"searchWeight\\\":0,\\\"indexType\\\":\\\"DEFAULT\\\",\\\"constraints\\\":[{\\\"type\\\":\\\"string\\\",\\\"params\\\":{\\\"property1\\\":{},\\\"property2\\\":{}}}],\\\"options\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"displayName\\\":\\\"string\\\"}],\\\"superTypes\\\":[\\\"string\\\"],\\\"entityTypes\\\":[\\\"string\\\"],\\\"subTypes\\\":[\\\"string\\\"]}]\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}],\"superTypes\":[\"string\"],\"entityTypes\":[\"string\"],\"subTypes\":[\"string\"]}]" - - headers = { 'content-type': "application/json" } - - conn.request("PUT", "/catalog/v1/types/tagdefs", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/catalog/v1/types/tagdefs", - "headers": { - "content-type": "application/json" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify([ - { - category: 'PRIMITIVE', - guid: 'string', - createdBy: 'string', - updatedBy: 'string', - createTime: 0, - updateTime: 0, - version: 0, - name: 'string', - description: 'string', - typeVersion: 'string', - serviceType: 'string', - options: {property1: 'string', property2: 'string'}, - attributeDefs: [ - { - name: 'string', - typeName: 'string', - isOptional: true, - cardinality: 'SINGLE', - valuesMinCount: 0, - valuesMaxCount: 0, - isUnique: true, - isIndexable: true, - includeInNotification: true, - defaultValue: 'string', - description: 'string', - searchWeight: 0, - indexType: 'DEFAULT', - constraints: [{type: 'string', params: {property1: {}, property2: {}}}], - options: {property1: 'string', property2: 'string'}, - displayName: 'string' - } - ], - superTypes: ['string'], - entityTypes: ['string'], - subTypes: ['string'] - } - ])); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}],\"superTypes\":[\"string\"],\"entityTypes\":[\"string\"],\"subTypes\":[\"string\"]}]"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs"); - var request = new RestRequest(Method.PUT); - request.AddHeader("content-type", "application/json"); - request.AddParameter("application/json", "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}],\"superTypes\":[\"string\"],\"entityTypes\":[\"string\"],\"subTypes\":[\"string\"]}]", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - post: - summary: Bulk Create Tag Definitions - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Bulk create API for tag definitions. - tags: - - Types (v1) - operationId: createTagDefs - requestBody: - description: The tag definitions to create - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/TagDef' - responses: - '200': - description: The tag definitions. Errored tag definitions will have an additional error property. - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/TagDefResponse' - '400': - description: Bad Request - '429': - description: Rate Limit Error - '500': - description: Internal Server Error - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs \ - --header 'content-type: application/json' \ - --data '[{"category":"PRIMITIVE","guid":"string","createdBy":"string","updatedBy":"string","createTime":0,"updateTime":0,"version":0,"name":"string","description":"string","typeVersion":"string","serviceType":"string","options":{"property1":"string","property2":"string"},"attributeDefs":[{"name":"string","typeName":"string","isOptional":true,"cardinality":"SINGLE","valuesMinCount":0,"valuesMaxCount":0,"isUnique":true,"isIndexable":true,"includeInNotification":true,"defaultValue":"string","description":"string","searchWeight":0,"indexType":"DEFAULT","constraints":[{"type":"string","params":{"property1":{},"property2":{}}}],"options":{"property1":"string","property2":"string"},"displayName":"string"}],"superTypes":["string"],"entityTypes":["string"],"subTypes":["string"]}]' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}],\"superTypes\":[\"string\"],\"entityTypes\":[\"string\"],\"subTypes\":[\"string\"]}]"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs") - .post(body) - .addHeader("content-type", "application/json") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs\"\n\n\tpayload := strings.NewReader(\"[{\\\"category\\\":\\\"PRIMITIVE\\\",\\\"guid\\\":\\\"string\\\",\\\"createdBy\\\":\\\"string\\\",\\\"updatedBy\\\":\\\"string\\\",\\\"createTime\\\":0,\\\"updateTime\\\":0,\\\"version\\\":0,\\\"name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"typeVersion\\\":\\\"string\\\",\\\"serviceType\\\":\\\"string\\\",\\\"options\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"attributeDefs\\\":[{\\\"name\\\":\\\"string\\\",\\\"typeName\\\":\\\"string\\\",\\\"isOptional\\\":true,\\\"cardinality\\\":\\\"SINGLE\\\",\\\"valuesMinCount\\\":0,\\\"valuesMaxCount\\\":0,\\\"isUnique\\\":true,\\\"isIndexable\\\":true,\\\"includeInNotification\\\":true,\\\"defaultValue\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"searchWeight\\\":0,\\\"indexType\\\":\\\"DEFAULT\\\",\\\"constraints\\\":[{\\\"type\\\":\\\"string\\\",\\\"params\\\":{\\\"property1\\\":{},\\\"property2\\\":{}}}],\\\"options\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"displayName\\\":\\\"string\\\"}],\\\"superTypes\\\":[\\\"string\\\"],\\\"entityTypes\\\":[\\\"string\\\"],\\\"subTypes\\\":[\\\"string\\\"]}]\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}],\"superTypes\":[\"string\"],\"entityTypes\":[\"string\"],\"subTypes\":[\"string\"]}]" - - headers = { 'content-type': "application/json" } - - conn.request("POST", "/catalog/v1/types/tagdefs", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/catalog/v1/types/tagdefs", - "headers": { - "content-type": "application/json" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify([ - { - category: 'PRIMITIVE', - guid: 'string', - createdBy: 'string', - updatedBy: 'string', - createTime: 0, - updateTime: 0, - version: 0, - name: 'string', - description: 'string', - typeVersion: 'string', - serviceType: 'string', - options: {property1: 'string', property2: 'string'}, - attributeDefs: [ - { - name: 'string', - typeName: 'string', - isOptional: true, - cardinality: 'SINGLE', - valuesMinCount: 0, - valuesMaxCount: 0, - isUnique: true, - isIndexable: true, - includeInNotification: true, - defaultValue: 'string', - description: 'string', - searchWeight: 0, - indexType: 'DEFAULT', - constraints: [{type: 'string', params: {property1: {}, property2: {}}}], - options: {property1: 'string', property2: 'string'}, - displayName: 'string' - } - ], - superTypes: ['string'], - entityTypes: ['string'], - subTypes: ['string'] - } - ])); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}],\"superTypes\":[\"string\"],\"entityTypes\":[\"string\"],\"subTypes\":[\"string\"]}]"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddParameter("application/json", "[{\"category\":\"PRIMITIVE\",\"guid\":\"string\",\"createdBy\":\"string\",\"updatedBy\":\"string\",\"createTime\":0,\"updateTime\":0,\"version\":0,\"name\":\"string\",\"description\":\"string\",\"typeVersion\":\"string\",\"serviceType\":\"string\",\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"attributeDefs\":[{\"name\":\"string\",\"typeName\":\"string\",\"isOptional\":true,\"cardinality\":\"SINGLE\",\"valuesMinCount\":0,\"valuesMaxCount\":0,\"isUnique\":true,\"isIndexable\":true,\"includeInNotification\":true,\"defaultValue\":\"string\",\"description\":\"string\",\"searchWeight\":0,\"indexType\":\"DEFAULT\",\"constraints\":[{\"type\":\"string\",\"params\":{\"property1\":{},\"property2\":{}}}],\"options\":{\"property1\":\"string\",\"property2\":\"string\"},\"displayName\":\"string\"}],\"superTypes\":[\"string\"],\"entityTypes\":[\"string\"],\"subTypes\":[\"string\"]}]", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/catalog/v1/types/tagdefs/{tagName}': - get: - summary: Read Tag Definition - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Get the tag definition with the given name. - operationId: getTagDefByName - parameters: - - name: tagName - in: path - description: The name of the tag definiton - required: true - schema: - type: string - tags: - - Types (v1) - responses: - '200': - description: The tag definition - content: - application/json: - schema: - $ref: '#/components/schemas/TagDef' - '400': - description: Bad Request - '404': - description: Tag definition not found - '429': - description: Rate Limit Error - '500': - description: Internal Server Error - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs/{tagName}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs/{tagName}") - .get() - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs/{tagName}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - conn.request("GET", "/catalog/v1/types/tagdefs/{tagName}") - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/catalog/v1/types/tagdefs/{tagName}", - "headers": {} - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs/{tagName}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs/{tagName}"); - var request = new RestRequest(Method.GET); - IRestResponse response = client.Execute(request); - delete: - summary: Delete Tag Definition - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Delete API for tag definition identified by its name. - operationId: deleteTagDef - parameters: - - name: tagName - in: path - description: The name of the tag definition - required: true - schema: - type: string - tags: - - Types (v1) - responses: - '204': - description: No Content - '400': - description: Bad Request - '429': - description: Rate Limit Error - '500': - description: Internal Server Error - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs/{tagName}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs/{tagName}") - .delete(null) - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs/{tagName}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - conn.request("DELETE", "/catalog/v1/types/tagdefs/{tagName}") - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/catalog/v1/types/tagdefs/{tagName}", - "headers": {} - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs/{tagName}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/catalog/v1/types/tagdefs/{tagName}"); - var request = new RestRequest(Method.DELETE); - IRestResponse response = client.Execute(request); + replace: + - $ref: '#/components/x-stackQL-resources/tag_defs/methods/update_tag_defs' +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/ccl.yaml b/providers/src/confluent/v00.00.00000/services/ccl.yaml new file mode 100644 index 00000000..72631691 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/ccl.yaml @@ -0,0 +1,2914 @@ +openapi: 3.0.0 +info: + title: ccl API + description: confluent ccl API + version: 1.0.0 +paths: + /ccl/v1/custom-code-loggings: + get: + x-lifecycle-stage: Early Access + x-self-access: false + x-request-access-name: Custom Code Logging API EA + operationId: listCclV1CustomCodeLoggings + summary: List of Custom Code Loggings + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [![Request Access To Custom Code Logging API + EA](https://img.shields.io/badge/-Request%20Access%20To%20Custom%20Code%20Logging%20API%20EA-%23bc8540)](mailto:ccloud-api-access+ccl-v1-early-access@confluent.io?subject=Request%20to%20join%20ccl/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20ccl/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + + Retrieve a sorted, filtered, paginated list of all custom code loggings. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Custom Code Loggings (ccl/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Custom Code Logging. + content: + application/json: + schema: + type: object + description: >- + CustomCodeLogging objects represent Custom Code Logging on + Confluent Cloud. + + The API allows you to list, create, read, update, and delete + your Custom Code Logging. + + + + ## The Custom Code Loggings Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - ccl/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomCodeLoggingList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + CustomCodeLogging objects represent Custom Code Logging + on Confluent Cloud. + + The API allows you to list, create, read, update, and + delete your Custom Code Logging. + + + + ## The Custom Code Loggings Model + + + properties: + api_version: + type: string + enum: + - ccl/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - CustomCodeLogging + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + cloud: + type: string + description: >- + Cloud provider where the Custom Code Logging is + sent. + example: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + maxLength: 60 + x-immutable: true + region: + type: string + description: >- + The Cloud provider region the Custom Code Logging is + sent. + example: us-west-2 + maxLength: 60 + x-immutable: true + destination_settings: + type: object + description: Destination Settings of the Custom Code Logging. + discriminator: + propertyName: kind + mapping: + Kafka: >- + #/components/schemas/ccl.v1.KafkaDestinationSettings + properties: + kind: + type: string + description: >- + The destination where Custom Code Logging is + sent. + enum: + - Kafka + cluster_id: + type: string + example: lkc-123 + maxLength: 255 + description: >- + The kafka cluster id where Custom Code Logging + is sent. + topic: + type: string + example: topic-123 + maxLength: 255 + description: >- + The kafka topic where Custom Code Logging is + sent. + log_level: + type: string + example: INFO + default: INFO + description: Minimum log level for Custom Code Logging. + x-extensible-enum: + - ERROR + - WARN + - INFO + - DEBUG + maxLength: 60 + required: + - kind + - cluster_id + - topic + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: >- + Environment of the referred resource, if + env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - id + - metadata + - cloud + - region + - destination_settings + - environment + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: Early Access + x-self-access: false + x-request-access-name: Custom Code Logging API EA + operationId: createCclV1CustomCodeLogging + summary: Create a Custom Code Logging + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [![Request Access To Custom Code Logging API + EA](https://img.shields.io/badge/-Request%20Access%20To%20Custom%20Code%20Logging%20API%20EA-%23bc8540)](mailto:ccloud-api-access+ccl-v1-early-access@confluent.io?subject=Request%20to%20join%20ccl/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20ccl/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + + Make a request to create a custom code logging. + tags: + - Custom Code Loggings (ccl/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + CustomCodeLogging objects represent Custom Code Logging on + Confluent Cloud. + + The API allows you to list, create, read, update, and delete + your Custom Code Logging. + + + + ## The Custom Code Loggings Model + + + properties: + api_version: + type: string + enum: + - ccl/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomCodeLogging + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + cloud: + type: string + description: Cloud provider where the Custom Code Logging is sent. + example: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + maxLength: 60 + x-immutable: true + region: + type: string + description: The Cloud provider region the Custom Code Logging is sent. + example: us-west-2 + maxLength: 60 + x-immutable: true + destination_settings: + type: object + description: Destination Settings of the Custom Code Logging. + discriminator: + propertyName: kind + mapping: + Kafka: '#/components/schemas/ccl.v1.KafkaDestinationSettings' + properties: + kind: + type: string + description: The destination where Custom Code Logging is sent. + enum: + - Kafka + cluster_id: + type: string + example: lkc-123 + maxLength: 255 + description: The kafka cluster id where Custom Code Logging is sent. + topic: + type: string + example: topic-123 + maxLength: 255 + description: The kafka topic where Custom Code Logging is sent. + log_level: + type: string + example: INFO + default: INFO + description: Minimum log level for Custom Code Logging. + x-extensible-enum: + - ERROR + - WARN + - INFO + - DEBUG + maxLength: 60 + required: + - kind + - cluster_id + - topic + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - cloud + - region + - destination_settings + - environment + responses: + '201': + description: A Custom Code Logging was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/ccl/v1/custom-code-loggings/{id} + description: CustomCodeLogging resource uri + content: + application/json: + schema: + type: object + description: >- + CustomCodeLogging objects represent Custom Code Logging on + Confluent Cloud. + + The API allows you to list, create, read, update, and delete + your Custom Code Logging. + + + + ## The Custom Code Loggings Model + + + properties: + api_version: + type: string + enum: + - ccl/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomCodeLogging + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + cloud: + type: string + description: Cloud provider where the Custom Code Logging is sent. + example: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + maxLength: 60 + x-immutable: true + region: + type: string + description: The Cloud provider region the Custom Code Logging is sent. + example: us-west-2 + maxLength: 60 + x-immutable: true + destination_settings: + type: object + description: Destination Settings of the Custom Code Logging. + discriminator: + propertyName: kind + mapping: + Kafka: '#/components/schemas/ccl.v1.KafkaDestinationSettings' + properties: + kind: + type: string + description: The destination where Custom Code Logging is sent. + enum: + - Kafka + cluster_id: + type: string + example: lkc-123 + maxLength: 255 + description: >- + The kafka cluster id where Custom Code Logging is + sent. + topic: + type: string + example: topic-123 + maxLength: 255 + description: The kafka topic where Custom Code Logging is sent. + log_level: + type: string + example: INFO + default: INFO + description: Minimum log level for Custom Code Logging. + x-extensible-enum: + - ERROR + - WARN + - INFO + - DEBUG + maxLength: 60 + required: + - kind + - cluster_id + - topic + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - cloud + - region + - destination_settings + - environment + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: Early Access + x-self-access: false + x-request-access-name: Custom Code Logging API EA + /ccl/v1/custom-code-loggings/{id}: + get: + x-lifecycle-stage: Early Access + x-self-access: false + x-request-access-name: Custom Code Logging API EA + operationId: getCclV1CustomCodeLogging + summary: Read a Custom Code Logging + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [![Request Access To Custom Code Logging API + EA](https://img.shields.io/badge/-Request%20Access%20To%20Custom%20Code%20Logging%20API%20EA-%23bc8540)](mailto:ccloud-api-access+ccl-v1-early-access@confluent.io?subject=Request%20to%20join%20ccl/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20ccl/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + + Make a request to read a custom code logging. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the custom code logging. + tags: + - Custom Code Loggings (ccl/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Custom Code Logging. + content: + application/json: + schema: + type: object + description: >- + CustomCodeLogging objects represent Custom Code Logging on + Confluent Cloud. + + The API allows you to list, create, read, update, and delete + your Custom Code Logging. + + + + ## The Custom Code Loggings Model + + + properties: + api_version: + type: string + enum: + - ccl/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomCodeLogging + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + cloud: + type: string + description: Cloud provider where the Custom Code Logging is sent. + example: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + maxLength: 60 + x-immutable: true + region: + type: string + description: The Cloud provider region the Custom Code Logging is sent. + example: us-west-2 + maxLength: 60 + x-immutable: true + destination_settings: + type: object + description: Destination Settings of the Custom Code Logging. + discriminator: + propertyName: kind + mapping: + Kafka: '#/components/schemas/ccl.v1.KafkaDestinationSettings' + properties: + kind: + type: string + description: The destination where Custom Code Logging is sent. + enum: + - Kafka + cluster_id: + type: string + example: lkc-123 + maxLength: 255 + description: >- + The kafka cluster id where Custom Code Logging is + sent. + topic: + type: string + example: topic-123 + maxLength: 255 + description: The kafka topic where Custom Code Logging is sent. + log_level: + type: string + example: INFO + default: INFO + description: Minimum log level for Custom Code Logging. + x-extensible-enum: + - ERROR + - WARN + - INFO + - DEBUG + maxLength: 60 + required: + - kind + - cluster_id + - topic + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - api_version + - kind + - id + - cloud + - region + - destination_settings + - environment + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: Early Access + x-self-access: false + x-request-access-name: Custom Code Logging API EA + operationId: updateCclV1CustomCodeLogging + summary: Update a Custom Code Logging + description: >+ + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [![Request Access To Custom Code Logging API + EA](https://img.shields.io/badge/-Request%20Access%20To%20Custom%20Code%20Logging%20API%20EA-%23bc8540)](mailto:ccloud-api-access+ccl-v1-early-access@confluent.io?subject=Request%20to%20join%20ccl/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20ccl/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + + Make a request to update a custom code logging. + + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the custom code logging. + tags: + - Custom Code Loggings (ccl/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + CustomCodeLogging objects represent Custom Code Logging on + Confluent Cloud. + + The API allows you to list, create, read, update, and delete + your Custom Code Logging. + + + + ## The Custom Code Loggings Model + + + properties: + api_version: + type: string + enum: + - ccl/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomCodeLogging + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + cloud: + type: string + description: Cloud provider where the Custom Code Logging is sent. + example: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + maxLength: 60 + x-immutable: true + region: + type: string + description: The Cloud provider region the Custom Code Logging is sent. + example: us-west-2 + maxLength: 60 + x-immutable: true + destination_settings: + type: object + description: Destination Settings of the Custom Code Logging. + discriminator: + propertyName: kind + mapping: + Kafka: '#/components/schemas/ccl.v1.KafkaDestinationSettings' + properties: + kind: + type: string + description: The destination where Custom Code Logging is sent. + enum: + - Kafka + cluster_id: + type: string + example: lkc-123 + maxLength: 255 + description: The kafka cluster id where Custom Code Logging is sent. + topic: + type: string + example: topic-123 + maxLength: 255 + description: The kafka topic where Custom Code Logging is sent. + log_level: + type: string + example: INFO + default: INFO + description: Minimum log level for Custom Code Logging. + x-extensible-enum: + - ERROR + - WARN + - INFO + - DEBUG + maxLength: 60 + required: + - kind + - cluster_id + - topic + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - environment + responses: + '200': + description: Custom Code Logging. + content: + application/json: + schema: + type: object + description: >- + CustomCodeLogging objects represent Custom Code Logging on + Confluent Cloud. + + The API allows you to list, create, read, update, and delete + your Custom Code Logging. + + + + ## The Custom Code Loggings Model + + + properties: + api_version: + type: string + enum: + - ccl/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomCodeLogging + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + cloud: + type: string + description: Cloud provider where the Custom Code Logging is sent. + example: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + maxLength: 60 + x-immutable: true + region: + type: string + description: The Cloud provider region the Custom Code Logging is sent. + example: us-west-2 + maxLength: 60 + x-immutable: true + destination_settings: + type: object + description: Destination Settings of the Custom Code Logging. + discriminator: + propertyName: kind + mapping: + Kafka: '#/components/schemas/ccl.v1.KafkaDestinationSettings' + properties: + kind: + type: string + description: The destination where Custom Code Logging is sent. + enum: + - Kafka + cluster_id: + type: string + example: lkc-123 + maxLength: 255 + description: >- + The kafka cluster id where Custom Code Logging is + sent. + topic: + type: string + example: topic-123 + maxLength: 255 + description: The kafka topic where Custom Code Logging is sent. + log_level: + type: string + example: INFO + default: INFO + description: Minimum log level for Custom Code Logging. + x-extensible-enum: + - ERROR + - WARN + - INFO + - DEBUG + maxLength: 60 + required: + - kind + - cluster_id + - topic + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - api_version + - kind + - id + - cloud + - region + - destination_settings + - environment + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: Early Access + x-self-access: false + x-request-access-name: Custom Code Logging API EA + operationId: deleteCclV1CustomCodeLogging + summary: Delete a Custom Code Logging + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [![Request Access To Custom Code Logging API + EA](https://img.shields.io/badge/-Request%20Access%20To%20Custom%20Code%20Logging%20API%20EA-%23bc8540)](mailto:ccloud-api-access+ccl-v1-early-access@confluent.io?subject=Request%20to%20join%20ccl/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20ccl/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + + Make a request to delete a custom code logging. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the custom code logging. + tags: + - Custom Code Loggings (ccl/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Custom Code Logging is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: Early Access + x-self-access: false + x-request-access-name: Custom Code Logging API EA +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + ccl.v1.CustomCodeLoggingList: + type: object + description: >- + CustomCodeLogging objects represent Custom Code Logging on Confluent + Cloud. + + The API allows you to list, create, read, update, and delete your Custom + Code Logging. + + + + ## The Custom Code Loggings Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - ccl/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomCodeLoggingList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + CustomCodeLogging objects represent Custom Code Logging on + Confluent Cloud. + + The API allows you to list, create, read, update, and delete your + Custom Code Logging. + + + + ## The Custom Code Loggings Model + + + properties: + api_version: + type: string + enum: + - ccl/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomCodeLogging + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + cloud: + type: string + description: Cloud provider where the Custom Code Logging is sent. + example: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + maxLength: 60 + x-immutable: true + region: + type: string + description: The Cloud provider region the Custom Code Logging is sent. + example: us-west-2 + maxLength: 60 + x-immutable: true + destination_settings: + type: object + description: Destination Settings of the Custom Code Logging. + discriminator: + propertyName: kind + mapping: + Kafka: '#/components/schemas/ccl.v1.KafkaDestinationSettings' + properties: + kind: + type: string + description: The destination where Custom Code Logging is sent. + enum: + - Kafka + cluster_id: + type: string + example: lkc-123 + maxLength: 255 + description: The kafka cluster id where Custom Code Logging is sent. + topic: + type: string + example: topic-123 + maxLength: 255 + description: The kafka topic where Custom Code Logging is sent. + log_level: + type: string + example: INFO + default: INFO + description: Minimum log level for Custom Code Logging. + x-extensible-enum: + - ERROR + - WARN + - INFO + - DEBUG + maxLength: 60 + required: + - kind + - cluster_id + - topic + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - id + - metadata + - cloud + - region + - destination_settings + - environment + uniqueItems: true + ccl.v1.CustomCodeLogging: + type: object + description: >- + CustomCodeLogging objects represent Custom Code Logging on Confluent + Cloud. + + The API allows you to list, create, read, update, and delete your Custom + Code Logging. + + + + ## The Custom Code Loggings Model + + + properties: + api_version: + type: string + enum: + - ccl/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomCodeLogging + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + cloud: + type: string + description: Cloud provider where the Custom Code Logging is sent. + example: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + maxLength: 60 + x-immutable: true + region: + type: string + description: The Cloud provider region the Custom Code Logging is sent. + example: us-west-2 + maxLength: 60 + x-immutable: true + destination_settings: + type: object + description: Destination Settings of the Custom Code Logging. + discriminator: + propertyName: kind + mapping: + Kafka: '#/components/schemas/ccl.v1.KafkaDestinationSettings' + properties: + kind: + type: string + description: The destination where Custom Code Logging is sent. + enum: + - Kafka + cluster_id: + type: string + example: lkc-123 + maxLength: 255 + description: The kafka cluster id where Custom Code Logging is sent. + topic: + type: string + example: topic-123 + maxLength: 255 + description: The kafka topic where Custom Code Logging is sent. + log_level: + type: string + example: INFO + default: INFO + description: Minimum log level for Custom Code Logging. + x-extensible-enum: + - ERROR + - WARN + - INFO + - DEBUG + maxLength: 60 + required: + - kind + - cluster_id + - topic + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not contain + a first link, then direct navigation to the first page is not + supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not contain a + last link, then direct navigation to the last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not contain a + next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + Failure: + type: object + description: >- + Provides information about problems encountered while performing an + operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + ObjectMeta: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. It + is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + ccl.v1.KafkaDestinationSettings: + type: object + description: | + Kafka Destination Settings of the Custom Code Logging. + properties: + kind: + type: string + description: The destination where Custom Code Logging is sent. + enum: + - Kafka + cluster_id: + type: string + example: lkc-123 + maxLength: 255 + description: The kafka cluster id where Custom Code Logging is sent. + topic: + type: string + example: topic-123 + maxLength: 255 + description: The kafka topic where Custom Code Logging is sent. + log_level: + type: string + example: INFO + default: INFO + description: Minimum log level for Custom Code Logging. + x-extensible-enum: + - ERROR + - WARN + - INFO + - DEBUG + maxLength: 60 + required: + - kind + - cluster_id + - topic + EnvScopedObjectReference: + type: object + description: >- + ObjectReference provides information for you to locate the referred + object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. + type: string + code: + description: An application-specific error code, expressed as a string value. + type: string + title: + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. + type: string + detail: + description: >- + A human-readable explanation specific to this occurrence of the + problem. + type: string + source: + type: object + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. + properties: + pointer: + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: >- + Basic error="invalid_key", error_description="The API Key is + invalid" + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: >- + The user 'mcfly' is not allowed to access the 'delorean' + resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. + Retry-After: + schema: + type: integer + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. + DefaultSystemError: + description: Oops, something went wrong! + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/{object}/{id} + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: >- + The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already + exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + x-stackQL-resources: + custom_code_loggings: + id: confluent.ccl.custom_code_loggings + name: custom_code_loggings + title: Custom Code Loggings + methods: + list_ccl_v1_custom_code_loggings: + operation: + $ref: '#/paths/~1ccl~1v1~1custom-code-loggings/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_ccl_v1_custom_code_logging: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1ccl~1v1~1custom-code-loggings/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_ccl_v1_custom_code_logging: + operation: + $ref: '#/paths/~1ccl~1v1~1custom-code-loggings~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_ccl_v1_custom_code_logging: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1ccl~1v1~1custom-code-loggings~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_ccl_v1_custom_code_logging: + operation: + $ref: '#/paths/~1ccl~1v1~1custom-code-loggings~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/custom_code_loggings/methods/get_ccl_v1_custom_code_logging + - $ref: >- + #/components/x-stackQL-resources/custom_code_loggings/methods/list_ccl_v1_custom_code_loggings + insert: + - $ref: >- + #/components/x-stackQL-resources/custom_code_loggings/methods/create_ccl_v1_custom_code_logging + update: + - $ref: >- + #/components/x-stackQL-resources/custom_code_loggings/methods/update_ccl_v1_custom_code_logging + delete: + - $ref: >- + #/components/x-stackQL-resources/custom_code_loggings/methods/delete_ccl_v1_custom_code_logging + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/ccpm.yaml b/providers/src/confluent/v00.00.00000/services/ccpm.yaml new file mode 100644 index 00000000..4e177539 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/ccpm.yaml @@ -0,0 +1,4111 @@ +openapi: 3.0.0 +info: + title: ccpm API + description: confluent ccpm API + version: 1.0.0 +paths: + /ccpm/v1/plugins: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listCcpmV1CustomConnectPlugins + summary: List of Custom Connect Plugins + description: > + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all custom connect + plugins. + + + If no `cloud` filter is specified, returns custom connect plugins from + all clouds. + parameters: + - name: spec.cloud + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Filter the results by exact match for spec.cloud. + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Custom Connect Plugins (ccpm/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Custom Connect Plugin. + content: + application/json: + schema: + type: object + description: >- + CustomConnectPlugins objects represent Custom Connect + artifacts containing connector, and SMT jars on Confluent + Cloud. + The API allows you to list, create, read, update, and delete + your Custom Connect Plugins. + + Related guide: + + [Custom Connect Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Custom Connect Plugins Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - ccpm/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectPluginList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + CustomConnectPlugins objects represent Custom Connect + artifacts containing connector, and SMT jars on + Confluent + Cloud. + The API allows you to list, create, read, update, and + delete your Custom Connect Plugins. + + Related guide: + + [Custom Connect Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Custom Connect Plugins Model + + + properties: + api_version: + type: string + enum: + - ccpm/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - CustomConnectPlugin + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/ccpm.v1.CustomConnectPluginSpec' + required: + - id + - metadata + - spec + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-page-first-available: true + x-page-last-available: true + x-page-from-start: true + x-page-from-end: true + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createCcpmV1CustomConnectPlugin + summary: Create a Custom Connect Plugin + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create a custom connect plugin. + tags: + - Custom Connect Plugins (ccpm/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + CustomConnectPlugins objects represent Custom Connect artifacts + containing connector, and SMT jars on Confluent + Cloud. + The API allows you to list, create, read, update, and delete + your Custom Connect Plugins. + + Related guide: + + [Custom Connect Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Custom Connect Plugins Model + + + properties: + api_version: + type: string + enum: + - ccpm/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectPlugin + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/ccpm.v1.CustomConnectPluginSpec' + required: + - spec + responses: + '202': + description: A Custom Connect Plugin is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/ccpm/v1/plugins/{id} + description: CustomConnectPlugin resource uri + content: + application/json: + schema: + type: object + description: >- + CustomConnectPlugins objects represent Custom Connect + artifacts containing connector, and SMT jars on Confluent + Cloud. + The API allows you to list, create, read, update, and delete + your Custom Connect Plugins. + + Related guide: + + [Custom Connect Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Custom Connect Plugins Model + + + properties: + api_version: + type: string + enum: + - ccpm/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectPlugin + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/ccpm.v1.CustomConnectPluginSpec' + required: + - spec + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /ccpm/v1/plugins/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getCcpmV1CustomConnectPlugin + summary: Read a Custom Connect Plugin + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read a custom connect plugin. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the custom connect plugin. + tags: + - Custom Connect Plugins (ccpm/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Custom Connect Plugin. + content: + application/json: + schema: + type: object + description: >- + CustomConnectPlugins objects represent Custom Connect + artifacts containing connector, and SMT jars on Confluent + Cloud. + The API allows you to list, create, read, update, and delete + your Custom Connect Plugins. + + Related guide: + + [Custom Connect Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Custom Connect Plugins Model + + + properties: + api_version: + type: string + enum: + - ccpm/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectPlugin + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/ccpm.v1.CustomConnectPluginSpec' + required: + - api_version + - kind + - id + - spec + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateCcpmV1CustomConnectPlugin + summary: Update a Custom Connect Plugin + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update a custom connect plugin. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the custom connect plugin. + tags: + - Custom Connect Plugins (ccpm/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + CustomConnectPlugins objects represent Custom Connect artifacts + containing connector, and SMT jars on Confluent + Cloud. + The API allows you to list, create, read, update, and delete + your Custom Connect Plugins. + + Related guide: + + [Custom Connect Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Custom Connect Plugins Model + + + properties: + api_version: + type: string + enum: + - ccpm/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectPlugin + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/ccpm.v1.CustomConnectPluginSpec' + required: + - spec + responses: + '200': + description: Custom Connect Plugin. + content: + application/json: + schema: + type: object + description: >- + CustomConnectPlugins objects represent Custom Connect + artifacts containing connector, and SMT jars on Confluent + Cloud. + The API allows you to list, create, read, update, and delete + your Custom Connect Plugins. + + Related guide: + + [Custom Connect Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Custom Connect Plugins Model + + + properties: + api_version: + type: string + enum: + - ccpm/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectPlugin + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/ccpm.v1.CustomConnectPluginSpec' + required: + - api_version + - kind + - id + - spec + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteCcpmV1CustomConnectPlugin + summary: Delete a Custom Connect Plugin + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete a custom connect plugin. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the custom connect plugin. + tags: + - Custom Connect Plugins (ccpm/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Custom Connect Plugin is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /ccpm/v1/presigned-upload-url: + post: + summary: Request a presigned upload URL for a new Custom Connect Plugin. + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Request a presigned upload URL to upload a Custom Connect Plugin + archive. + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createCcpmV1PresignedUrl + tags: + - Presigned Urls (ccpm/v1) + security: + - cloud-api-key: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + Request a presigned upload URL for new Custom Connect Plugin. + Note that + + the URL policy expires in one hour. If the policy expires, you + can request + + a new presigned upload URL. + + + Related guide: + + [Custom Connect Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Presigned Urls Model + + + properties: + api_version: + type: string + enum: + - ccpm/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PresignedUrl + content_format: + type: string + description: Content format of the Custom Connect Plugin archive. + example: ZIP + x-extensible-enum: + - ZIP + - JAR + cloud: + type: string + description: >- + Cloud provider where the Custom Connect Plugin archive is + uploaded. + example: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + upload_id: + type: string + description: Unique identifier of this upload. + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + readOnly: true + upload_url: + type: string + format: uri + description: Upload URL for the Custom Connect Plugin archive. + example: >- + https://confluent-custom-connectors-stag-us-west-2.s3.dualstack.us-west-2.amazonaws.com/ + readOnly: true + upload_form_data: + type: string + description: >- + Upload form data of the Custom Connect Plugin. All values + should be strings. (opaque JSON object) + example: + bucket: confluent-custom-connectors-stag-us-west-2 + key: >- + staging/custom-plugin/2f37f0b6-f8da-4e8b-bc5f-282ebb0511be/connect-e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66/plugin.zip + policy: string + x-amz-algorithm: AWS4-HMAC-SHA256 + x-amz-credential: string + x-amz-date: 20230725T013857Z + x-amz-security-token: string + x-amz-signature: string + readOnly: true + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - content_format + - cloud + - environment + responses: + '201': + description: A Presigned Url was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/ccpm/v1/presigned-upload-url/{id} + description: PresignedUrl resource uri + content: + application/json: + schema: + type: object + description: >- + Request a presigned upload URL for new Custom Connect Plugin. + Note that + + the URL policy expires in one hour. If the policy expires, you + can request + + a new presigned upload URL. + + + Related guide: + + [Custom Connect Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Presigned Urls Model + + + properties: + api_version: + type: string + enum: + - ccpm/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PresignedUrl + content_format: + type: string + description: Content format of the Custom Connect Plugin archive. + example: ZIP + x-extensible-enum: + - ZIP + - JAR + cloud: + type: string + description: >- + Cloud provider where the Custom Connect Plugin archive is + uploaded. + example: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + upload_id: + type: string + description: Unique identifier of this upload. + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + readOnly: true + upload_url: + type: string + format: uri + description: Upload URL for the Custom Connect Plugin archive. + example: >- + https://confluent-custom-connectors-stag-us-west-2.s3.dualstack.us-west-2.amazonaws.com/ + readOnly: true + upload_form_data: + type: string + description: >- + Upload form data of the Custom Connect Plugin. All values + should be strings. (opaque JSON object) + example: + bucket: confluent-custom-connectors-stag-us-west-2 + key: >- + staging/custom-plugin/2f37f0b6-f8da-4e8b-bc5f-282ebb0511be/connect-e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66/plugin.zip + policy: string + x-amz-algorithm: AWS4-HMAC-SHA256 + x-amz-credential: string + x-amz-date: 20230725T013857Z + x-amz-security-token: string + x-amz-signature: string + readOnly: true + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - content_format + - cloud + - environment + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /ccpm/v1/plugins/{plugin_id}/versions: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listCcpmV1CustomConnectPluginVersions + summary: List of Custom Connect Plugin Versions + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all custom connect plugin + versions. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: plugin_id + in: path + required: true + schema: + type: string + description: The Plugin + tags: + - Custom Connect Plugin Versions (ccpm/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: Custom Connect Plugin Version. + content: + application/json: + schema: + type: object + description: >- + CustomConnectPluginVersion objects represent Custom Connect + Plugin Versions on Confluent Cloud. + + The API allows you to list, create, read, update, and delete + your Custom Connect Plugin Versions. + + + + ## The Custom Connect Plugin Versions Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - ccpm/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectPluginVersionList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + CustomConnectPluginVersion objects represent Custom + Connect Plugin Versions on Confluent Cloud. + + The API allows you to list, create, read, update, and + delete your Custom Connect Plugin Versions. + + + + ## The Custom Connect Plugin Versions Model + + + properties: + api_version: + type: string + enum: + - ccpm/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - CustomConnectPluginVersion + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/ccpm.v1.CustomConnectPluginVersionSpec + status: + $ref: >- + #/components/schemas/ccpm.v1.CustomConnectPluginVersionStatus + required: + - id + - metadata + - spec + - status + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createCcpmV1CustomConnectPluginVersion + summary: Create a Custom Connect Plugin Version + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create a custom connect plugin version. + parameters: + - name: plugin_id + in: path + required: true + schema: + type: string + description: The Plugin + tags: + - Custom Connect Plugin Versions (ccpm/v1) + security: + - cloud-api-key: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + CustomConnectPluginVersion objects represent Custom Connect + Plugin Versions on Confluent Cloud. + + The API allows you to list, create, read, update, and delete + your Custom Connect Plugin Versions. + + + + ## The Custom Connect Plugin Versions Model + + + properties: + api_version: + type: string + enum: + - ccpm/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectPluginVersion + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/ccpm.v1.CustomConnectPluginVersionSpec' + status: + $ref: >- + #/components/schemas/ccpm.v1.CustomConnectPluginVersionStatus + required: + - spec + responses: + '202': + description: A Custom Connect Plugin Version is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: >- + https://api.confluent.cloud/ccpm/v1/plugins/{plugin_id}/versions/{id} + description: CustomConnectPluginVersion resource uri + content: + application/json: + schema: + type: object + description: >- + CustomConnectPluginVersion objects represent Custom Connect + Plugin Versions on Confluent Cloud. + + The API allows you to list, create, read, update, and delete + your Custom Connect Plugin Versions. + + + + ## The Custom Connect Plugin Versions Model + + + properties: + api_version: + type: string + enum: + - ccpm/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectPluginVersion + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/ccpm.v1.CustomConnectPluginVersionSpec + status: + $ref: >- + #/components/schemas/ccpm.v1.CustomConnectPluginVersionStatus + required: + - spec + - status + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /ccpm/v1/plugins/{plugin_id}/versions/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getCcpmV1CustomConnectPluginVersion + summary: Read a Custom Connect Plugin Version + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read a custom connect plugin version. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: plugin_id + in: path + required: true + schema: + type: string + description: The Plugin + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the custom connect plugin version. + tags: + - Custom Connect Plugin Versions (ccpm/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: Custom Connect Plugin Version. + content: + application/json: + schema: + type: object + description: >- + CustomConnectPluginVersion objects represent Custom Connect + Plugin Versions on Confluent Cloud. + + The API allows you to list, create, read, update, and delete + your Custom Connect Plugin Versions. + + + + ## The Custom Connect Plugin Versions Model + + + properties: + api_version: + type: string + enum: + - ccpm/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectPluginVersion + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/ccpm.v1.CustomConnectPluginVersionSpec + status: + $ref: >- + #/components/schemas/ccpm.v1.CustomConnectPluginVersionStatus + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteCcpmV1CustomConnectPluginVersion + summary: Delete a Custom Connect Plugin Version + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete a custom connect plugin version. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: plugin_id + in: path + required: true + schema: + type: string + description: The Plugin + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the custom connect plugin version. + tags: + - Custom Connect Plugin Versions (ccpm/v1) + security: + - cloud-api-key: [] + responses: + '204': + description: A Custom Connect Plugin Version is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + ccpm.v1.CustomConnectPluginList: + type: object + description: >- + CustomConnectPlugins objects represent Custom Connect artifacts + containing connector, and SMT jars on Confluent + Cloud. + The API allows you to list, create, read, update, and delete your Custom + Connect Plugins. + + Related guide: + + [Custom Connect Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Custom Connect Plugins Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - ccpm/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectPluginList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + CustomConnectPlugins objects represent Custom Connect artifacts + containing connector, and SMT jars on Confluent + Cloud. + The API allows you to list, create, read, update, and delete your + Custom Connect Plugins. + + Related guide: + + [Custom Connect Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Custom Connect Plugins Model + + + properties: + api_version: + type: string + enum: + - ccpm/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectPlugin + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/ccpm.v1.CustomConnectPluginSpec' + required: + - id + - metadata + - spec + uniqueItems: true + ccpm.v1.CustomConnectPlugin: + type: object + description: >- + CustomConnectPlugins objects represent Custom Connect artifacts + containing connector, and SMT jars on Confluent + Cloud. + The API allows you to list, create, read, update, and delete your Custom + Connect Plugins. + + Related guide: + + [Custom Connect Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Custom Connect Plugins Model + + + properties: + api_version: + type: string + enum: + - ccpm/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectPlugin + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/ccpm.v1.CustomConnectPluginSpec' + ccpm.v1.PresignedUrl: + type: object + description: >- + Request a presigned upload URL for new Custom Connect Plugin. Note that + + the URL policy expires in one hour. If the policy expires, you can + request + + a new presigned upload URL. + + + Related guide: + + [Custom Connect Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Presigned Urls Model + + + properties: + api_version: + type: string + enum: + - ccpm/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PresignedUrl + content_format: + type: string + description: Content format of the Custom Connect Plugin archive. + example: ZIP + x-extensible-enum: + - ZIP + - JAR + cloud: + type: string + description: Cloud provider where the Custom Connect Plugin archive is uploaded. + example: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + upload_id: + type: string + description: Unique identifier of this upload. + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + readOnly: true + upload_url: + type: string + format: uri + description: Upload URL for the Custom Connect Plugin archive. + example: >- + https://confluent-custom-connectors-stag-us-west-2.s3.dualstack.us-west-2.amazonaws.com/ + readOnly: true + upload_form_data: + type: string + description: >- + Upload form data of the Custom Connect Plugin. All values should be + strings. (opaque JSON object) + example: + bucket: confluent-custom-connectors-stag-us-west-2 + key: >- + staging/custom-plugin/2f37f0b6-f8da-4e8b-bc5f-282ebb0511be/connect-e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66/plugin.zip + policy: string + x-amz-algorithm: AWS4-HMAC-SHA256 + x-amz-credential: string + x-amz-date: 20230725T013857Z + x-amz-security-token: string + x-amz-signature: string + readOnly: true + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + ccpm.v1.CustomConnectPluginVersionList: + type: object + description: >- + CustomConnectPluginVersion objects represent Custom Connect Plugin + Versions on Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Custom + Connect Plugin Versions. + + + + ## The Custom Connect Plugin Versions Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - ccpm/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectPluginVersionList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + CustomConnectPluginVersion objects represent Custom Connect Plugin + Versions on Confluent Cloud. + + The API allows you to list, create, read, update, and delete your + Custom Connect Plugin Versions. + + + + ## The Custom Connect Plugin Versions Model + + + properties: + api_version: + type: string + enum: + - ccpm/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectPluginVersion + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/ccpm.v1.CustomConnectPluginVersionSpec' + status: + $ref: '#/components/schemas/ccpm.v1.CustomConnectPluginVersionStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + ccpm.v1.CustomConnectPluginVersion: + type: object + description: >- + CustomConnectPluginVersion objects represent Custom Connect Plugin + Versions on Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Custom + Connect Plugin Versions. + + + + ## The Custom Connect Plugin Versions Model + + + properties: + api_version: + type: string + enum: + - ccpm/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectPluginVersion + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/ccpm.v1.CustomConnectPluginVersionSpec' + status: + $ref: '#/components/schemas/ccpm.v1.CustomConnectPluginVersionStatus' + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not contain + a first link, then direct navigation to the first page is not + supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not contain a + last link, then direct navigation to the last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not contain a + next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + Failure: + type: object + description: >- + Provides information about problems encountered while performing an + operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + ObjectMeta: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. It + is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + ccpm.v1.CustomConnectPluginSpec: + type: object + description: The desired state of the Custom Connect Plugin + properties: + cloud: + type: string + description: Cloud provider where the Custom Connect Plugin archive is uploaded. + example: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + x-immutable: true + display_name: + type: string + description: Display name of Custom Connect Plugin. + maxLength: 60 + description: + type: string + description: Description of Custom Connect Plugin. + maxLength: 256 + runtime_language: + type: string + example: JAVA + description: Runtime language of Custom Connect Plugin. + readOnly: true + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + EnvScopedObjectReference: + type: object + description: >- + ObjectReference provides information for you to locate the referred + object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + ccpm.v1.CustomConnectPluginVersionSpec: + type: object + description: The desired state of the Custom Connect Plugin Version + properties: + version: + type: string + description: > + Version of the Custom Connect Plugin. + + The version must comply with SemVer (e.g., `1.2.3`, `1.2.3-beta`, + `1.2.3-rc.123`, `1.2.3-rc.123+build.456`). + maxLength: 60 + x-immutable: true + sensitive_config_properties: + type: array + description: > + A sensitive property is a connector configuration property that must + be hidden after a user enters property + + value when setting up connector. + items: + type: string + pattern: ^[\w\+\.-]+$ + maxLength: 150 + example: + - passwords + - keys + - tokens + x-immutable: true + documentation_link: + type: string + maxLength: 512 + pattern: ^$|^(http://|https://).+ + example: https://github.com/confluentinc/kafka-connect-datagen + description: Document link of Custom Connect Plugin. + x-immutable: true + content_format: + type: string + example: ZIP + description: Archive format of Custom Connect Plugin. + x-extensible-enum: + - ZIP + - JAR + readOnly: true + connector_classes: + type: array + description: > + List of connector classes. + + The connector class must be a valid Java class name or alias for the + connector. + + You can get the connector class from the connector documentation + provided by the developer. + items: + $ref: '#/components/schemas/ccpm.v1.ConnectorClass' + minItems: 1 + maxItems: 10 + x-immutable: true + upload_source: + type: object + description: > + Upload source of Custom Connect Plugin Version. Only required in + `create` request, + + will be ignored in `read`, `update` or `list`. + discriminator: + propertyName: location + mapping: + PRESIGNED_URL_LOCATION: '#/components/schemas/ccpm.v1.UploadSource.PresignedUrl' + x-immutable: true + properties: + location: + type: string + description: | + Location of the Custom Connect Plugin source. + x-extensible-enum: + - PRESIGNED_URL_LOCATION + example: PRESIGNED_URL_LOCATION + upload_id: + type: string + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + description: >- + Upload ID returned by the `/presigned-upload-url` API. This + field returns an empty string in all responses. + required: + - location + - upload_id + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + ccpm.v1.CustomConnectPluginVersionStatus: + type: object + required: + - phase + description: The status of the Custom Connect Plugin Version + properties: + phase: + type: string + maxLength: 50 + x-extensible-enum: + - PROCESSING + - READY + - FAILED + description: Phase of the Custom Connect Plugin Version. + x-immutable: true + example: PROCESSING + error_message: + type: string + maxLength: 256 + description: Displayable error message if version is in a failed state + x-immutable: true + example: Version creation failed due to invalid plugin archive. + readOnly: true + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. + type: string + code: + description: An application-specific error code, expressed as a string value. + type: string + title: + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. + type: string + detail: + description: >- + A human-readable explanation specific to this occurrence of the + problem. + type: string + source: + type: object + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. + properties: + pointer: + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + ccpm.v1.ConnectorClass: + type: object + description: | + Java class of the Connector. + properties: + class_name: + type: string + maxLength: 150 + pattern: >- + ^(([a-zA-Z][a-zA-Z_$0-9]*(\.[a-zA-Z][a-zA-Z_$0-9]*)*)\.)?([a-zA-Z][a-zA-Z_$0-9]*)$ + description: >- + Java class or alias for connector. You can get connector class from + connector documentation provided by developer. + x-immutable: true + example: io.confluent.kafka.connect.datagen.DatagenConnector + type: + type: string + description: | + Type of the connector class. Should be either `SOURCE` or `SINK`. + example: SOURCE + x-extensible-enum: + - SOURCE + - SINK + required: + - class_name + - type + ccpm.v1.UploadSource.PresignedUrl: + type: object + description: Presigned URL of the uploaded Custom Connect Plugin archive. + properties: + location: + type: string + description: | + Location of the Custom Connect Plugin source. + x-extensible-enum: + - PRESIGNED_URL_LOCATION + example: PRESIGNED_URL_LOCATION + upload_id: + type: string + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + description: >- + Upload ID returned by the `/presigned-upload-url` API. This field + returns an empty string in all responses. + required: + - location + - upload_id + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: >- + Basic error="invalid_key", error_description="The API Key is + invalid" + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: >- + The user 'mcfly' is not allowed to access the 'delorean' + resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. + Retry-After: + schema: + type: integer + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. + DefaultSystemError: + description: Oops, something went wrong! + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/{object}/{id} + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: >- + The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already + exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + x-stackQL-resources: + custom_connect_plugins: + id: confluent.ccpm.custom_connect_plugins + name: custom_connect_plugins + title: Custom Connect Plugins + methods: + list_ccpm_v1_custom_connect_plugins: + operation: + $ref: '#/paths/~1ccpm~1v1~1plugins/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_ccpm_v1_custom_connect_plugin: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1ccpm~1v1~1plugins/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_ccpm_v1_custom_connect_plugin: + operation: + $ref: '#/paths/~1ccpm~1v1~1plugins~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_ccpm_v1_custom_connect_plugin: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1ccpm~1v1~1plugins~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_ccpm_v1_custom_connect_plugin: + operation: + $ref: '#/paths/~1ccpm~1v1~1plugins~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/custom_connect_plugins/methods/get_ccpm_v1_custom_connect_plugin + - $ref: >- + #/components/x-stackQL-resources/custom_connect_plugins/methods/list_ccpm_v1_custom_connect_plugins + insert: + - $ref: >- + #/components/x-stackQL-resources/custom_connect_plugins/methods/create_ccpm_v1_custom_connect_plugin + update: + - $ref: >- + #/components/x-stackQL-resources/custom_connect_plugins/methods/update_ccpm_v1_custom_connect_plugin + delete: + - $ref: >- + #/components/x-stackQL-resources/custom_connect_plugins/methods/delete_ccpm_v1_custom_connect_plugin + replace: [] + presigned_urls: + id: confluent.ccpm.presigned_urls + name: presigned_urls + title: Presigned Urls + methods: + create_ccpm_v1_presigned_url: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1ccpm~1v1~1presigned-upload-url/post' + response: + mediaType: application/json + openAPIDocKey: '201' + sqlVerbs: + select: [] + insert: + - $ref: >- + #/components/x-stackQL-resources/presigned_urls/methods/create_ccpm_v1_presigned_url + update: [] + delete: [] + replace: [] + custom_connect_plugin_versions: + id: confluent.ccpm.custom_connect_plugin_versions + name: custom_connect_plugin_versions + title: Custom Connect Plugin Versions + methods: + list_ccpm_v1_custom_connect_plugin_versions: + operation: + $ref: '#/paths/~1ccpm~1v1~1plugins~1{plugin_id}~1versions/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_ccpm_v1_custom_connect_plugin_version: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1ccpm~1v1~1plugins~1{plugin_id}~1versions/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_ccpm_v1_custom_connect_plugin_version: + operation: + $ref: '#/paths/~1ccpm~1v1~1plugins~1{plugin_id}~1versions~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_ccpm_v1_custom_connect_plugin_version: + operation: + $ref: '#/paths/~1ccpm~1v1~1plugins~1{plugin_id}~1versions~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/custom_connect_plugin_versions/methods/get_ccpm_v1_custom_connect_plugin_version + - $ref: >- + #/components/x-stackQL-resources/custom_connect_plugin_versions/methods/list_ccpm_v1_custom_connect_plugin_versions + insert: + - $ref: >- + #/components/x-stackQL-resources/custom_connect_plugin_versions/methods/create_ccpm_v1_custom_connect_plugin_version + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/custom_connect_plugin_versions/methods/delete_ccpm_v1_custom_connect_plugin_version + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/connect.yaml b/providers/src/confluent/v00.00.00000/services/connect.yaml index ca613288..cd0fb15b 100644 --- a/providers/src/confluent/v00.00.00000/services/connect.yaml +++ b/providers/src/confluent/v00.00.00000/services/connect.yaml @@ -1,6039 +1,1401 @@ openapi: 3.0.0 -servers: - - url: 'https://api.confluent.cloud' - description: Confluent Cloud API info: - version: '' - contact: - name: Confluent Cloud - url: 'https://www.confluent.io/cloud-contact-us/' - email: support@confluent.io - x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b - x-audience: external-public - x-logo: - url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' - title: Confluent Cloud APIs - connect - description: connect -tags: - - name: API Keys (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. - - The API allows you to list, create, update and delete your API Keys. - - - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - - ## The API Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - - name: Environments (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. - - - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - - ## The Environments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - - name: Organizations (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). - - The API allows you to list, view, and update your organizations. - - - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - - ## The Organizations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - - name: Users (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `User` objects represent individuals who may access your Confluent resources. - - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. - - - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). - - ## The Users Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - - name: Service Accounts (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. - - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. - - - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). - - ## The Service Accounts Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - - name: Invitations (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. - - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. - - - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). - - ## The Invitations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + title: connect API + description: confluent connect API + version: 1.0.0 +paths: + /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors: + get: + x-lifecycle-stage: General Availability + operationId: listConnectv1Connectors + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - - name: IP Groups (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + Retrieve a list of "names" of the active connectors. You can then make a + [read request](#operation/readConnectv1Connector) for a specific + connector by name. + summary: List of Connectors + tags: + - Connectors (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + parameters: [] + responses: + '200': + description: Connector. + content: + application/json: + schema: + type: array + description: List of connector names + items: + type: string + description: Connector name + example: + - MyGcsLogsBucketConnector + - MyS3BucketConnector + - MyDatagenConnector + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.AccountNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + post: + x-lifecycle-stage: General Availability + operationId: createConnectv1Connector + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The IP Groups Model - - - name: IP Filters (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + Create a new connector. Returns the new connector information if + successful. + summary: Create a Connector + tags: + - Connectors (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '201': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.ConnectorWithOffsets' + example: + name: MyGcsLogsBucketConnector + config: + cloud.environment: prod + cloud.provider: aws + connector.class: GcsSink + data.format: BYTES + flush.size: '1000' + gcs.bucket.name: APILogsBucket + gcs.credentials.config: '****************' + kafka.api.key: '****************' + kafka.api.secret: '****************' + kafka.endpoint: SASL_SSL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092 + kafka.region: us-west-2 + name: MyGcsLogsBucketConnector + tasks.max: '1' + time.interval: DAILY + topics: APILogsTopic + tasks: + - connector: MyGcsLogsBucketConnector + task: 0 + type: sink + offsets: + - partition: + kafka_partition: 0 + kafka_topic: APILogsTopic + offset: + kafka_offset: 1000 + headers: {} + '400': + description: Bad Request + content: + application/json: + schema: + type: object + properties: + code: + type: integer + message: + type: string + example: + error: + code: 400 + message: Unauthorized + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error + content: + application/json: + schema: + type: object + properties: + error_code: + type: integer + message: + type: string + example: + error_code: 500 + message: >- + Failed to find any class that implements Connector and which + name matches io.confluent.connect.... + requestBody: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: Name of the connector to create. + config: + type: object + description: >- + Configuration parameters for the connector. All values + should be strings. + x-redact: true + required: + - connector.class + - name + - kafka.api.key + - kafka.api.secret + properties: + connector.class: + type: string + description: >- + \[Required for Managed Connector, Ignored for Custom + Connector\] The connector class name, e.g., + BigQuerySink, GcsSink, etc. + name: + type: string + description: >- + Name or alias of the class (plugin) for this connector. + For custom connector, it must be the same as the name of + the connector to create. + kafka.api.key: + type: string + description: The kafka cluster api key. + kafka.api.secret: + type: string + description: The kafka cluster api secret key. + x-redact: true + confluent.connector.type: + type: string + description: | + \[Required for Custom Connector\] The connector type. + example: CUSTOM + default: MANAGED + x-extensible-enum: + - CUSTOM + - MANAGED + confluent.custom.plugin.id: + type: string + example: ccp-lq5m06 + description: > + \[Required for Custom Connector\] The custom plugin id + of custom connector, e.g., `ccp-lq5m06` + confluent.custom.connection.endpoints: + type: string + description: > + \[Optional for Custom Connector\] Egress endpoint(s) for + the connector to use when attaching to the sink or + source data system. + confluent.custom.schema.registry.auto: + type: string + description: > + \[Optional for Custom Connector\] Automatically add the + required schema registry properties in a custom + connector config if schema registry is enabled. + example: 'FALSE' + default: 'FALSE' + x-extensible-enum: + - 'TRUE' + - 'FALSE' + confluent.custom.connect.plugin.runtime: + type: string + description: > + \[Optional for Custom Connector\] The runtime of the + custom connector plugin. + example: 3.9.0 + confluent.custom.connect.java.version: + type: string + description: > + \[Optional for Custom Connector\] The Java version of + the custom connector plugin. + example: '17' + additionalProperties: + type: string + description: >- + Other configuration parameters for the connector. All + values should be strings. See the connector's docs for + details. + offsets: + $ref: '#/components/schemas/connect.v1.Offsets' + examples: + sink: + value: + name: MyGcsLogsBucketConnector + config: + connector.class: GcsSink + data.format: BYTES + flush.size: '1000' + gcs.bucket.name: APILogsBucket + gcs.credentials.config: '****************' + kafka.api.key: '****************' + kafka.api.secret: '****************' + name: MyGcsLogsBucketConnector + tasks.max: '2' + time.interval: DAILY + topics: APILogsTopic + offsets: + - partition: + kafka_partition: 0 + kafka_topic: APILogsTopic + offset: + kafka_offset: 1000 + source: + value: + name: MySqlCdcSourceV2Connector_0 + config: + connector.class: MySqlCdcSourceV2 + output.data.format: JSON + flush.size: '1000' + database.hostname: 12.34.567.98 + database.password: '****************' + database.port: '1234' + database.user: '****' + kafka.api.key: '****************' + kafka.api.secret: '****************' + name: MySqlCdcSourceV2Connector_0 + tasks.max: '1' + time.interval: DAILY + topic.prefix: test + offsets: + - partition: + server: test + offset: + file: mysql-bin.000123 + pos: 154 + ts_sec: 1712907333 + description: '' + x-lifecycle-stage: General Availability + parameters: + - name: environment_id + in: path + schema: + type: string + required: true + description: The unique identifier of the environment this resource belongs to. + - name: kafka_cluster_id + in: path + schema: + type: string + required: true + description: The unique identifier for the Kafka cluster. + /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors?expand=info,status,id: + get: + x-lifecycle-stage: General Availability + operationId: listConnectv1ConnectorsWithExpansions + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. + Retrieve an object with the queried expansions of all connectors. + Without `expand` query parameter, this list connector’s endpoint will + return a [list of only the connector + names](#operation/listConnectv1Connectors). + summary: List of Connectors with Expansions + tags: + - Connectors (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Connector. + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.ConnectorExpansionMap' + example: + MyGcsLogsBucketConnector: + id: + id: lcc-xxxxx + id_type: ID + info: + name: MyGcsLogsBucketConnector + config: + cloud.environment: prod + cloud.provider: aws + connector.class: GcsSink + data.format: BYTES + flush.size: '1000' + gcs.bucket.name: APILogsBucket + gcs.credentials.config: '****************' + kafka.api.key: '****************' + kafka.api.secret: '****************' + kafka.endpoint: SASL_SSL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092 + kafka.region: us-west-2 + name: MyGcsLogsBucketConnector + tasks.max: '1' + time.interval: DAILY + topics: APILogsTopic + type: sink + status: + name: MyGcsLogsBucketConnector + connector: + state: PROVISIONING + worker_id: MyGcsLogsBucketConnector + trace: '' + tasks: [] + type: sink + MyS3BucketConnector: + id: + id: lcc-xxxxx + id_type: ID + info: + name: MyS3BucketConnector + config: + cloud.environment: prod + cloud.provider: aws + connector.class: S3Sink + data.format: BYTES + flush.size: '1000' + s3.bucket: APILogsBucket + aws.access.key.id: '************' + aws.secret.access.key: '**********' + kafka.api.key: '****************' + kafka.api.secret: '****************' + kafka.endpoint: SASL_SSL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092 + kafka.region: us-west-2 + name: MyS3BucketConnector + tasks.max: '1' + time.interval: DAILY + topics: APILogsTopic + type: source + status: + name: MyS3BucketConnector + connector: + state: FAILED + worker_id: MyS3BucketConnector + trace: | + There were some errors with your configuration: + topics: Provided Kafka ApiKey is invalid + kafka.api.secret: Provided Kafka ApiKey is invalid + tasks: [] + type: sink + MyDatagenConnector: + id: + id: lcc-xxxxx + id_type: ID + info: + name: MyDatagenConnector + config: + cloud.environment: prod + cloud.provider: aws + connector.class: DatagenSource + data.format: BYTES + flush.size: '1000' + quickstart: ORDERS + kafka.api.key: '****************' + kafka.api.secret: '****************' + kafka.endpoint: SASL_SSL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092 + kafka.region: us-west-2 + name: MyDatagenConnector + tasks.max: '1' + time.interval: DAILY + topics: APILogsTopic + type: source + status: + name: MyDatagenConnector + connector: + state: RUNNING + worker_id: MyDatagenConnector + trace: '' + tasks: + - id: 0 + msg: '' + state: RUNNING + worker_id: MyDatagenConnector + type: source + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.AccountNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + parameters: + - name: environment_id + in: path + schema: + type: string + required: true + description: The unique identifier of the environment this resource belongs to. + - name: kafka_cluster_id + in: path + schema: + type: string + required: true + description: The unique identifier for the Kafka cluster. + - name: expand + in: query + description: >- + - id : Returns metadata of each connector such as id and id type. - ## The IP Filters Model - - - name: Role Bindings (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A role binding grants a Principal a role on resources that match a pattern. - - The API allows you to perform create, delete, and list operations on role bindings. - - - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). - - ## The Role Bindings Model - - - name: Subscriptions (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. - - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Subscriptions Model - - - name: Integrations (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Integrations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - - name: Notification Types (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The type of notifications (and their corresponding metadata) supported by Confluent. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Notification Types Model - - - name: Clusters (cmk/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Kafka clusters. - - - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - - name: Clusters (ksqldbcm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. - - - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the following quotas: - - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - - name: Connectors (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for Managed Connectors or Custom Connectors in Confluent Cloud. - - The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. - - Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). - - Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - name: Lifecycle (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. - - name: Status (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. - - name: Managed Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for Managed connectors in Confluent Cloud. - - name: Offsets (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the offsets for a Managed Connector. - - Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) - - name: Custom Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Custom Connector Plugins Model - - - name: Presigned Urls (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Presigned Urls Model - - - name: Cluster (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Configs (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: ACL (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Consumer Group (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Partition (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Topic (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Records (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Cluster Linking (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Applied Quotas (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. - - - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - - ## The Applied Quotas Model - - - name: Scopes (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Gets a list of all available scopes for applied quotas. - - - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). - - ## The Scopes Model - - - name: Entitlements (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Entitlement` objects represent metadata about a marketplace entitlement. - - An entitlement includes metadata about a marketplace purchase - (start date, end date, billing information, partner IDs, etc). - The API allows partners to create, read, and list entitlements. (Unless you - need entitlement creation and customer registration to be separate, - we recommend using the Signup API to create an organization and entitlement - at the same time) - - The API only allows authorized partners to interact with the Entitlements API. - - name: Regions (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. - - - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Regions Model - - - name: Clusters (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list, create, read, and delete your Schema Registry clusters. - - - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Clusters Model - - - name: Clusters (srcm/v3) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list and read your Schema Registry clusters. - - - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - - ## The Clusters Model - - - name: Compatibility (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to test schema compatibility. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Config (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to manage and query schema compatibility settings and cluster configurations. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Contexts (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to retrieve information about schema contexts. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Exporters (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete exporters. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Modes (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects modes of operation. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Schemas (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schemas. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Subjects (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects and versions. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Key Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete key encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Data Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete data encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Entity (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Search (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to search for entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Types (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Provider Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. - - - ## The Provider Shared Resources Model - - - name: Provider Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderShare` object respresents the share that you have created through Stream Sharing. - - - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). - - ## The Provider Shares Model - - - name: Consumer Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. - - - ## The Consumer Shared Resources Model - - - name: Consumer Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerShare` object respresents the share that you received through Stream Sharing. - + - info : Returns metadata of each connector such as the + configuration, task - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + information, and type of connector. - ## The Consumer Shares Model - - - name: Shared Tokens (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + - status : Returns additional state information of each connector + including their status and tasks. + schema: + type: string + enum: + - id + - info + - status + x-lifecycle-stage: General Availability + /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config: + get: + x-lifecycle-stage: General Availability + operationId: getConnectv1ConnectorConfig + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Encrypted Token shared with consumer + Get the configuration for the connector. + summary: Read a Connector Configuration + tags: + - Connectors (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Connector. + content: + application/json: + schema: + type: object + description: Configuration parameters for the connector. + required: + - cloud.environment + - cloud.provider + - connector.class + - name + - kafka.endpoint + - kafka.region + - kafka.api.key + - kafka.api.secret + properties: + cloud.environment: + type: string + description: The cloud environment type. + cloud.provider: + type: string + description: The cloud service provider, e.g. aws, azure, etc. + x-extensible-enum: + - aws + - azure + - gcp + connector.class: + type: string + description: The connector class name. E.g. BigQuerySink, GcsSink, etc. + name: + type: string + description: >- + Name or alias of the class (plugin) for this connector. + For Custom Connector, it must be the same as + connector_name. + kafka.endpoint: + type: string + description: The kafka cluster endpoint. + kafka.region: + type: string + description: The kafka cluster region. + kafka.api.key: + type: string + description: The kafka cluster api key. + kafka.api.secret: + type: string + description: The kafka cluster api secret key. + x-redact: true + additionalProperties: + type: string + description: >- + Other configuration parameters for the connector. See the + connector's docs for the list of options. + example: + cloud.environment: prod + cloud.provider: aws + connector.class: GcsSink + data.format: BYTES + flush.size: '1000' + gcs.bucket.name: APILogsBucket + gcs.credentials.config: '****************' + kafka.api.key: '****************' + kafka.api.secret: '****************' + kafka.endpoint: SASL_SSL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092 + kafka.region: us-west-2 + name: MyGcsLogsBucketConnector + tasks.max: '2' + time.interval: DAILY + topics: APILogsTopic + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.AccountNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + put: + x-lifecycle-stage: General Availability + operationId: createOrUpdateConnectv1ConnectorConfig + description: >- + Create a new connector using the given configuration, or update the + configuration for an existing connector. Returns information about the + connector after the change has been made. + summary: Create or Update a Connector Configuration + tags: + - Connectors (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: Configuration parameters for the connector. + required: + - connector.class + - name + - kafka.api.key + - kafka.api.secret + properties: + connector.class: + type: string + description: >- + \[Required for Managed Connector, Ignored for Custom + Connector\] The connector class name. E.g. BigQuerySink, + GcsSink, etc. + name: + type: string + description: Name or alias of the class (plugin) for this connector. + kafka.api.key: + type: string + description: The kafka cluster api key. + kafka.api.secret: + type: string + description: The kafka cluster api secret key. + x-redact: true + confluent.connector.type: + type: string + description: | + \[Required for Custom Connector\] The connector type. + example: CUSTOM + default: MANAGED + x-extensible-enum: + - CUSTOM + - MANAGED + confluent.custom.plugin.id: + type: string + example: ccp-lq5m06 + description: > + \[Required for Custom Connector\] The custom plugin id of + custom connector, e.g., `ccp-lq5m06` + confluent.custom.connection.endpoints: + type: string + description: > + \[Optional for Custom Connector\] Egress endpoint(s) for the + connector to use when attaching to the sink or source data + system. + confluent.custom.schema.registry.auto: + type: string + description: > + \[Optional for Custom Connector\] Automatically add the + required schema registry properties in a custom connector + config if schema registry is enabled. + example: 'FALSE' + default: 'FALSE' + x-extensible-enum: + - 'TRUE' + - 'FALSE' + confluent.custom.connect.plugin.runtime: + type: string + description: > + \[Optional for Custom Connector\] The runtime of the custom + connector plugin. By default this is the latest version + available. If not provided this config is updated internally + to reflect the version used. + example: 3.9.0 + confluent.custom.connect.java.version: + type: string + description: > + \[Optional for Custom Connector\] The Java version of the + custom connector plugin. By default this is the latest + version supported by the latest runtime. If not provided + this config is updated internally to reflect the version + used. + example: '17' + additionalProperties: + type: string + description: >- + Other configuration parameters for the connector. All values + should be strings. See the connector's docs for details. + example: + connector.class: GcsSink + data.format: BYTES + flush.size: '1000' + gcs.bucket.name: APILogsBucket + gcs.credentials.config: '****************' + kafka.api.key: '****************' + kafka.api.secret: '****************' + name: MyGcsLogsBucketConnector + tasks.max: '2' + time.interval: DAILY + topics: APILogsTopic + description: >- + Configuration parameters for the connector. All values should be + strings. + responses: + '200': + description: Created + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.Connector' + example: + name: MyGcsLogsBucketConnector + config: + cloud.environment: prod + cloud.provider: aws + connector.class: GcsSink + data.format: BYTES + flush.size: '1000' + gcs.bucket.name: APILogsBucket + gcs.credentials.config: '****************' + kafka.api.key: '****************' + kafka.api.secret: '****************' + kafka.endpoint: SASL_SSL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092 + kafka.region: us-west-2 + name: MyGcsLogsBucketConnector + tasks.max: '2' + time.interval: DAILY + topics: APILogsTopic + tasks: + - connector: MyGcsLogsBucketConnector + task: 0 + - connector: MyGcsLogsBucketConnector + task: 1 + type: sink + '400': + $ref: '#/components/responses/connect.v1.BadRequestError' + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.AccountNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: Internal Server Error + content: + application/json: + schema: + type: object + properties: + error_code: + type: integer + message: + type: string + example: + error_code: 500 + message: >- + Failed to find any class that implements Connector and which + name matches io.confluent.connect.... + x-lifecycle-stage: General Availability + parameters: + - name: connector_name + in: path + schema: + type: string + required: true + description: The unique name of the connector. + - name: environment_id + in: path + schema: + type: string + required: true + description: The unique identifier of the environment this resource belongs to. + - name: kafka_cluster_id + in: path + schema: + type: string + required: true + description: The unique identifier for the Kafka cluster. + /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}: + get: + x-lifecycle-stage: General Availability + operationId: readConnectv1Connector + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Shared Tokens Model - - - name: Opt Ins (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Stream sharing opt in options - - ## The Opt Ins Model - - - name: Organizations (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Organizations` objects represent an entire Confluent Cloud organization. - Partners are allowed to get an organization they have signed up or - list all organizations they have signed up. - - name: Signup (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Signup` APIs can only be performed by partners. - - name: Networks (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. - - The API allows you to list, create, read, update, and delete your networks. - - - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - - ## The Networks Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - - name: Peerings (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Get information about the connector. + summary: Read a Connector + tags: + - Connectors (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Connector. + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.Connector' + example: + name: MyGcsLogsBucketConnector + config: + cloud.environment: prod + cloud.provider: aws + connector.class: GcsSink + data.format: BYTES + flush.size: '1000' + gcs.bucket.name: APILogsBucket + gcs.credentials.config: '****************' + kafka.api.key: '****************' + kafka.api.secret: '****************' + kafka.endpoint: SASL_SSL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092 + kafka.region: us-west-2 + name: MyGcsLogsBucketConnector + tasks.max: '1' + time.interval: DAILY + topics: APILogsTopic + tasks: + - connector: MyGcsLogsBucketConnector + task: 0 + type: sink + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.AccountNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + operationId: deleteConnectv1Connector + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - - - ## The Peerings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - - name: Transit Gateway Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AWS Transit Gateway Attachments - - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - - ## The Transit Gateway Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - - name: Private Link Accesses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. - - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). - - - ## The Private Link Accesses Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - - name: Network Link Services (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Services Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - - name: Network Link Endpoints (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Endpoints Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - - name: Network Link Service Associations (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - List of incoming Network Link Enpoints associated with the Network Link Service. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + Delete a connector. Halts all tasks and deletes the connector + configuration. + summary: Delete a Connector + tags: + - Connectors (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + $ref: '#/components/responses/connect.v1.OK' + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.ResourceNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + x-lifecycle-stage: General Availability + parameters: + - name: connector_name + in: path + schema: + type: string + required: true + description: The unique name of the connector. + - name: environment_id + in: path + schema: + type: string + required: true + description: The unique identifier of the environment this resource belongs to. + - name: kafka_cluster_id + in: path + schema: + type: string + required: true + description: The unique identifier for the Kafka cluster. + /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/pause: + put: + x-lifecycle-stage: General Availability + operationId: pauseConnectv1Connector + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Network Link Service Associations Model - - - name: Gateways (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - A gateway is a resource that defines network access to Confluent cloud resources. + Pause the connector and its tasks. Stops message processing until the + connector is resumed. This call is asynchronous and the tasks will not + transition to PAUSED state at the same time. + summary: Pause a Connector + tags: + - Lifecycle (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '202': + description: Accepted + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.ResourceNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + x-lifecycle-stage: General Availability + parameters: + - name: connector_name + in: path + schema: + type: string + required: true + description: The unique name of the connector. + - name: environment_id + in: path + schema: + type: string + required: true + description: The unique identifier of the environment this resource belongs to. + - name: kafka_cluster_id + in: path + schema: + type: string + required: true + description: The unique identifier for the Kafka cluster. + /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/resume: + put: + x-lifecycle-stage: General Availability + operationId: resumeConnectv1Connector + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Gateways Model - - - name: IP Addresses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Resume a paused connector or do nothing if the connector is not paused. + This call is asynchronous and the tasks will not transition to RUNNING + state at the same time. + summary: Resume a Connector + tags: + - Lifecycle (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '202': + description: Accepted + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.ResourceNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + x-lifecycle-stage: General Availability + parameters: + - name: connector_name + in: path + schema: + type: string + required: true + description: The unique name of the connector. + - name: environment_id + in: path + schema: + type: string + required: true + description: The unique identifier of the environment this resource belongs to. + - name: kafka_cluster_id + in: path + schema: + type: string + required: true + description: The unique identifier for the Kafka cluster. + /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/restart: + post: + x-lifecycle-stage: Preview + operationId: restartConnectv1Connector + description: >- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) + + Restart the connector and its tasks. Stops message processing until the + connector and tasks are restart. This call is asynchronous and the + connector will not transition to another state at the same time. + summary: Restart a Connector + tags: + - Lifecycle (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '202': + description: Accepted + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '403': + $ref: '#/components/responses/connect.v1.ForbiddenError' + '404': + $ref: '#/components/responses/connect.v1.ResourceNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + x-lifecycle-stage: Preview + parameters: + - name: connector_name + in: path + schema: + type: string + required: true + description: The unique name of the connector. + - name: environment_id + in: path + schema: + type: string + required: true + description: The unique identifier of the environment this resource belongs to. + - name: kafka_cluster_id + in: path + schema: + type: string + required: true + description: The unique identifier for the Kafka cluster. + /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/status: + get: + x-lifecycle-stage: General Availability + operationId: readConnectv1ConnectorStatus + description: >- + Get current status of the connector. This includes whether it is + running, failed, or paused. Also includes which worker it is assigned + to, error information if it has failed, and the state of all its tasks. + summary: Read a Connector Status + tags: + - Status (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Connector. + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The name of the connector. + type: + type: string + description: Type of connector, sink or source. + enum: + - sink + - source + connector: + type: object + description: The map containing connector status. + required: + - state + - worker_id + properties: + state: + type: string + description: The state of the connector. + enum: + - NONE + - PROVISIONING + - RUNNING + - DEGRADED + - FAILED + - PAUSED + - DELETED + worker_id: + type: string + description: The worker ID of the connector. + trace: + type: string + description: The exception name in case of error. + tasks: + type: array + description: The map containing the task status. + items: + type: object + properties: + id: + type: integer + description: The ID of task. + state: + type: string + description: The state of the task. + worker_id: + type: string + description: The worker ID of the task. + msg: + type: string + required: + - id + - state + - worker_id + required: + - name + - type + - connector + example: + name: MyGcsLogsBucketConnector + connector: + state: PROVISIONING + worker_id: MyGcsLogsBucketConnector + trace: '' + tasks: [] + type: source + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.AccountNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + x-lifecycle-stage: General Availability + parameters: + - name: connector_name + in: path + schema: + type: string + required: true + description: The unique name of the connector. + - name: environment_id + in: path + schema: + type: string + required: true + description: The unique identifier of the environment this resource belongs to. + - name: kafka_cluster_id + in: path + schema: + type: string + required: true + description: The unique identifier for the Kafka cluster. + /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/tasks: + get: + x-lifecycle-stage: General Availability + operationId: listConnectv1ConnectorTasks + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - IP Addresses - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + Get a list of tasks currently running for the connector. + summary: List of Connector Tasks + tags: + - Status (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Connector Task. + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.Connectors' + example: + - id: + connector: MyGcsLogsBucketConnector + task: 2 + config: + cloud.environment: prod + cloud.provider: aws + connector.class: GcsSink + data.format: BYTES + flush.size: '1000' + gcs.bucket.name: APILogsBucket + gcs.credentials.config: '****************' + kafka.api.key: '****************' + kafka.api.secret: '****************' + kafka.endpoint: SASL_SSL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092 + kafka.region: us-west-2 + name: MyGcsLogsBucketConnector + tasks.max: '2' + time.interval: DAILY + topics: APILogsTopic + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.AccountNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + x-lifecycle-stage: General Availability + parameters: + - name: connector_name + in: path + schema: + type: string + required: true + description: The unique name of the connector. + - name: environment_id + in: path + schema: + type: string + required: true + description: The unique identifier of the environment this resource belongs to. + - name: kafka_cluster_id + in: path + schema: + type: string + required: true + description: The unique identifier for the Kafka cluster. + /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins: + get: + x-lifecycle-stage: General Availability + operationId: listConnectv1ConnectorPlugins + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The IP Addresses Model - - - name: Private Link Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. - - - ## The Private Link Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - - name: Private Link Attachment Connections (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. - - - ## The Private Link Attachment Connections Model - - - name: Identity Providers (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Identity Provider. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Identity Providers Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - - name: Jwks (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. - - The API allows you to refresh JWKS public key data. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Jwks Model - - - name: Identity Pools (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. - - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. - - - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). - - ## The Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - - name: OAuth Tokens (sts/v1) - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of - external identities to access Confluent Cloud APIs - - name: Client Quotas (kafka-quotas/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ClientQuota` objects represent Client Quotas you can set at the service account level. - - The API allows you to list, create, read, update, and delete your client quotas. - - - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - - ## The Client Quotas Model - - - name: Pipelines (sd/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. - - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. - - - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). - - ## The Pipelines Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - - name: Keys (byok/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. - - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. - - - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). - - ## The Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - - name: Costs (billing/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cost` objects represent the aggregated billing costs for an organization - - - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). - - ## The Costs Model - - - name: Group Mappings (iam/v2/sso) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. - - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. - - - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). - - ## The Group Mappings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - - name: Compute Pools (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. - - - ## The Compute Pools Model - - - name: Regions (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. - - - ## The Regions Model - - - name: Statements (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - - name: Statement Results (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementResult` represents a result of a `Statement` resource. - The API allows you to read your statement's results. - ## The Statement Results Model - - - name: Statement Exceptions (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementException` represents an exception of a `Statement` resource. - The API allows you to read your statement's exceptions. - ## The Statement Exceptions Model - - - name: Connections (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Connection` represents a core resource used to model SQL connections for execution. - A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - - name: DNS Forwarders (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add, remove, and update DNS forwarder for your gateway. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - - - ## The DNS Forwarders Model - - - name: Access Points (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. - - - ## The Access Points Model - - - name: DNS Records (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - - ## The DNS Records Model - - - name: Certificate Authorities (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Certificate Authority. - - - Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). - - ## The Certificate Authorities Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `certificate_authorities_per_org` | Number of certificate authorities per organization | - - name: Certificate Identity Pools (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Identitypool` objects represent workload identities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities - - - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). - - ## The Certificate Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - - name: Integrations (pim/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + Return a list of Managed Connector plugins installed in the Kafka + Connect cluster. + summary: List of Managed Connector plugins + tags: + - Managed Connector Plugins (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Connector Plugin. + content: + application/json: + schema: + type: array + items: + type: object + properties: + class: + type: string + description: The connector class name. E.g. BigQuerySink. + type: + type: string + description: Type of connector, sink or source. + enum: + - sink + - source + version: + type: string + description: The version string for the connector available. + required: + - class + - type + example: + - class: BigQuerySink + type: sink + - class: KinesisSource + type: source + version: 0.1.0 + - class: PostgresSource + type: source + version: 0.1.0 + - class: S3_SINK + type: sink + - class: GcsSink + type: sink + version: 0.2.0 + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.ResourceNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + parameters: [] + x-lifecycle-stage: General Availability + parameters: + - name: environment_id + in: path + schema: + type: string + required: true + description: The unique identifier of the environment this resource belongs to. + - name: kafka_cluster_id + in: path + schema: + type: string + required: true + description: The unique identifier for the Kafka cluster. + /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins/{plugin_name}/config/validate: + put: + x-lifecycle-stage: General Availability + operationId: validateConnectv1ConnectorPlugin + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. + Validate the provided configuration values against the configuration + definition. This API performs per config validation and returns + suggested values and validation error messages. + summary: Validate a Managed Connector Plugin + tags: + - Managed Connector Plugins (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Connector Plugin. + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The class name of the connector plugin. + groups: + type: array + description: The list of groups used in configuration definitions. + items: + type: string + error_count: + type: integer + description: >- + The total number of errors encountered during + configuration validation. + configs: + type: array + items: + type: object + properties: + definition: + type: object + description: >- + The definition for a config in the connector plugin, + which includes the name, type, importance, etc. + properties: + name: + type: string + description: The name of the configuration + type: + type: string + enum: + - NONE + - BOOLEAN + - INT + - SHORT + - LONG + - DOUBLE + - STRING + - LIST + - ENUM + - PASSWORD + description: The config types + required: + type: boolean + description: Whether this configuration is required + default_value: + type: string + description: Default value for this configuration + importance: + type: string + enum: + - NONE + - HIGH + - MEDIUM + - LOW + description: The importance level for a configuration + documentation: + type: string + description: The documentation for the configuration + group: + type: string + description: >- + The UI group to which the configuration belongs + to + width: + type: string + enum: + - NONE + - SHORT + - MEDIUM + - LONG + description: The width of a configuration value + display_name: + type: string + dependents: + type: array + description: >- + Other configurations on which this configuration + is dependent + items: + type: string + order: + type: integer + description: The order of configuration in specified group + alias: + type: string + value: + type: object + description: >- + The current value for a config, which includes the + name, value, recommended values, etc. + properties: + name: + type: string + description: The name of the configuration + value: + type: string + description: The value for the configuration + recommended_values: + type: array + description: The list of valid values for the configuration + items: + type: string + errors: + type: array + description: Errors, if any, in the configuration value + items: + type: string + visible: + type: boolean + description: >- + The visibility of the configuration. Based on + the values of other configuration + fields, this visibility boolean value points out + if the current field should be - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + visible or not. + metadata: + type: string + description: >- + Map of metadata details about the connector + configuration, such as type of - ## The Integrations Model - - - name: Flink Artifacts (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. - - - ## The Flink Artifacts Model - - - name: Presigned Urls (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - - ## The Presigned Urls Model - - - name: Flink Artifact Versions (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. - - - ## The Flink Artifact Versions Model - -components: - schemas: - AclOperation: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - AclPatternType: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - MATCH - - LITERAL - - PREFIXED - AclPermission: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - DENY - - ALLOW - AclResourceType: - type: string - enum: - - UNKNOWN - - ANY - - TOPIC - - GROUP - - CLUSTER - - TRANSACTIONAL_ID - - DELEGATION_TOKEN - BrokerTaskType: - type: string - enum: - - add-broker - - remove-broker - MirrorTopicStatus: - enum: - - ACTIVE - - FAILED - - LINK_FAILED - - LINK_PAUSED - - PAUSED - - PENDING_STOPPED - - SOURCE_UNAVAILABLE - - STOPPED - - PENDING_MIRROR - - PENDING_SYNCHRONIZE - - PENDING_SETUP_FOR_RESTORE - - PENDING_RESTORE - type: string - connect.v1.ConnectorError: - type: object - properties: - error: - type: object - description: Connector Error with error code and message. - properties: - code: - type: integer - description: Error code for the type of error - message: - type: string - description: Human readable error message - AlterConfigBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - operation: - type: string - x-extensible-enum: - - SET - - DELETE - nullable: true - validate_only: - type: boolean - CreateAclRequestData: - type: object - required: - - resource_type - - resource_name - - pattern_type - - principal - - host - - operation - - permission - properties: - resource_type: - $ref: '#/components/schemas/AclResourceType' - resource_name: - type: string - pattern_type: - $ref: '#/components/schemas/AclPatternType' - principal: - type: string - host: - type: string - operation: - $ref: '#/components/schemas/AclOperation' - permission: - $ref: '#/components/schemas/AclPermission' - CreateAclRequestDataList: - allOf: - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/CreateAclRequestData' - CreateTopicRequestData: - type: object - required: - - topic_name - properties: - topic_name: - type: string - partitions_count: - type: integer - replication_factor: - type: integer - configs: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - validate_only: - type: boolean - ProduceRequest: - type: object - properties: - partition_id: - type: integer - nullable: true - format: int32 - headers: - type: array - items: - $ref: '#/components/schemas/ProduceRequestHeader' - key: - $ref: '#/components/schemas/ProduceRequestData' - value: - $ref: '#/components/schemas/ProduceRequestData' - timestamp: - type: string - format: date-time - nullable: true - UpdateConfigRequestData: - type: object - properties: - value: - type: string - nullable: true - CreateLinkRequestData: - properties: - source_cluster_id: - type: string - destination_cluster_id: - type: string - remote_cluster_id: - description: The expected remote cluster ID. - type: string - cluster_link_id: - description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' - type: string - configs: - items: - $ref: '#/components/schemas/ConfigData' - type: array - type: object - UpdateLinkConfigRequestData: - properties: - value: - type: string - required: - - value - type: object - CreateMirrorTopicRequestData: - properties: - source_topic_name: - type: string - mirror_topic_name: - type: string - replication_factor: - type: integer - configs: - type: array - items: - $ref: '#/components/schemas/ConfigData' - required: - - source_topic_name - type: object - AlterMirrorsRequestData: - properties: - mirror_topic_names: - description: The mirror topics specified as a list of topic names. - type: array - items: - type: string - mirror_topic_name_pattern: - description: The mirror topics specified as a pattern. - type: string - type: object - RemoveBrokersRequestData: - properties: - broker_ids: - type: array - items: - type: integer - required: - - broker_ids - type: object - BrokerReplicaExclusionBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' - ProduceRequestHeader: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - format: byte - nullable: true - ProduceRequestData: - type: object - properties: - type: - type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - data: - $ref: '#/components/schemas/AnyValue' - nullable: true - ConfigData: - example: - name: name - value: value - properties: - name: - type: string - value: - nullable: true - type: string - required: - - name - - value - BrokerReplicaExclusionRequestData: - type: object - required: - - broker_id - - reason - properties: - broker_id: - type: integer - reason: - type: string - AnyValue: - nullable: true - connect.v1.ConnectorWithOffsets: - type: object - properties: - name: - type: string - description: Name of the connector - config: - type: object - description: |- - Configuration parameters for the connector. These configurations - are the minimum set of key-value pairs which can be used to - define how the connector connects Kafka to the external system. - Some of these key-value pairs are common to all the connectors, such as - connection parameters to Kafka, connector metadata, etc. The list - of common connector configurations is as follows - - cloud.environment - - cloud.provider - - connector.class - - kafka.api.key - - kafka.api.secret - - kafka.endpoint - - kafka.region - - name - A specific connector such as `GcsSink` would have additional - parameters such as `gcs.bucket.name`, `flush.size`, etc. - required: - - cloud.environment - - cloud.provider - - connector.class - - name - - kafka.endpoint - - kafka.region - - kafka.api.key - - kafka.api.secret - properties: - cloud.environment: - type: string - description: The cloud environment type. - cloud.provider: - type: string - description: 'The cloud service provider, e.g. aws, azure, etc.' - x-extensible-enum: - - aws - - azure - - gcp - connector.class: - type: string - description: 'The connector class name. E.g. BigQuerySink, GcsSink, etc.' - name: - type: string - description: Name or alias of the class (plugin) for this connector. - kafka.endpoint: - type: string - description: The Kafka cluster endpoint. - kafka.region: - type: string - description: The Kafka cluster region. - kafka.api.key: - type: string - description: The Kafka cluster API key. - kafka.api.secret: - type: string - description: The Kafka cluster API secret. - x-redact: true - additionalProperties: - type: string - tasks: - type: array - description: List of active tasks generated by the connector - items: - type: object - properties: - connector: - type: string - description: The name of the connector the task belongs to - task: - type: integer - description: Task ID within the connector - required: - - connector - - task - type: - type: string - description: 'Type of connector, sink or source' - enum: - - sink - - source - offsets: - $ref: '#/components/schemas/connect.v1.Offsets' - required: - - name - - config - connect.v1.Offsets: - type: array - description: Array of offsets which are categorised into partitions. - items: - type: object - properties: - partition: - type: object - additionalProperties: true - description: |- - The partition information. For sink connectors this is the kafka topic and - partition. For source connectors this is depends on the partitions defined by the - source connector. For example, the table which this task is pulling data from in a - JDBC based MySQL source connector. - Please refer to the [documentation](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) for - more information. - offset: - type: object - additionalProperties: true - description: |- - The offset of the partition. For sink connectors this is the kafka offset. For - source connectors this is depends on the offset defined by the source connector. - For example, the timestamp and incrementing column info in a table, for a JDBC based - MySQL source connector. - Please refer to the [documentation](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) for - more information. - connect.v1.ConnectorExpansionMap: - type: object - additionalProperties: - $ref: '#/components/schemas/connect.v1.ConnectorExpansion' - connect.v1.ConnectorExpansion: - type: object - description: Name of connector - properties: - id: - type: object - description: The ID of connector. - properties: - id: - type: string - description: The ID of the connector. - id_type: - type: string - description: Type of the value in the `id` property. - info: - type: object - description: Metadata of the connector. - properties: - name: - type: string - description: Name of the connector. - config: - type: object - description: |- - Configuration parameters for the connector. These configurations - are the minimum set of key-value pairs (KVP) which are used to - define how the connector connects Kafka to the external system. - Some of these KVPs are common to all the connectors, such as - connection parameters to Kafka, connector metadata, etc. The list - of common connector configurations is as follows - - - cloud.environment - - cloud.provider - - connector.class - - kafka.api.key - - kafka.api.secret - - kafka.endpoint - - kafka.region - - name - - For example, a connector like `GcsSink` would have additional - parameters such as `gcs.bucket.name`, `flush.size`, etc. - required: - - cloud.environment - - cloud.provider - - connector.class - - name - - kafka.endpoint - - kafka.region - - kafka.api.key - - kafka.api.secret - properties: - cloud.environment: - type: string - description: The cloud environment type. - cloud.provider: - type: string - description: 'The cloud service provider, e.g. aws, azure, etc.' - x-extensible-enum: - - aws - - azure - - gcp - connector.class: - type: string - description: 'The connector class name. E.g. BigQuerySink, GcsSink, etc.' - name: - type: string - description: Name or alias of the class (plugin) for this connector. - kafka.endpoint: - type: string - description: The kafka cluster endpoint. - kafka.region: - type: string - description: The kafka cluster region. - kafka.api.key: - type: string - description: The kafka cluster api key. - kafka.api.secret: - type: string - description: The kafka cluster api secret key. - x-redact: true - additionalProperties: - type: string - status: - type: object - description: Status of the connector and its tasks. - properties: - name: - type: string - description: The name of the connector. - type: - type: string - description: 'Type of connector, sink or source.' - enum: - - sink - - source - connector: - type: object - description: A map containing connector status. - required: - - state - - worker_id - properties: - state: - type: string - description: The state of the connector. - enum: - - NONE - - PROVISIONING - - RUNNING - - DEGRADED - - FAILED - - PAUSED - - DELETED - worker_id: - type: string - description: The worker ID of the connector. - trace: - type: string - description: Exception message in case of an error. - tasks: - type: array - description: A map containing the task status. - items: - type: object - properties: - id: - type: integer - description: The ID of task. - state: - type: string - description: The state of the task. - worker_id: - type: string - description: The worker ID of the task. - msg: - type: string - required: - - id - - state - - worker_id - required: - - name - - type - - connector - connect.v1.Connector: - type: object - properties: - name: - type: string - description: Name of the connector - config: - type: object - description: |- - Configuration parameters for the connector. These configurations - are the minimum set of key-value pairs (KVP) which can be used to - define how the connector connects Kafka to the external system. - Some of these KVPs are common to all the connectors, such as - connection parameters to Kafka, connector metadata, etc. The list - of common connector configurations is as follows - - - cloud.environment - - cloud.provider - - connector.class - - kafka.api.key - - kafka.api.secret - - kafka.endpoint - - kafka.region - - name - - A specific connector such as `GcsSink` would have additional - parameters such as `gcs.bucket.name`, `flush.size`, etc. - required: - - cloud.environment - - cloud.provider - - connector.class - - name - - kafka.endpoint - - kafka.region - - kafka.api.key - - kafka.api.secret - properties: - cloud.environment: - type: string - description: The cloud environment type. - cloud.provider: - type: string - description: 'The cloud service provider, e.g. aws, azure, etc.' - x-extensible-enum: - - aws - - azure - - gcp - connector.class: - type: string - description: 'The connector class name. E.g. BigQuerySink, GcsSink, etc.' - name: - type: string - description: Name or alias of the class (plugin) for this connector. - kafka.endpoint: - type: string - description: The kafka cluster endpoint. - kafka.region: - type: string - description: The kafka cluster region. - kafka.api.key: - type: string - description: The kafka cluster api key. - kafka.api.secret: - type: string - description: The kafka cluster api secret key. - x-redact: true - additionalProperties: - type: string - tasks: - type: array - description: List of active tasks generated by the connector - items: - type: object - properties: - connector: - type: string - description: The name of the connector the task belongs to - task: - type: integer - description: Task ID within the connector - required: - - connector - - task - type: - type: string - description: 'Type of connector, sink or source' - enum: - - sink - - source - required: - - name - - config - connect.v1.Connectors: - type: array - description: List of active task configs that have been created by the connector - items: - type: object - properties: - id: - type: object - description: The ID of task. - properties: - connector: - type: string - description: The name of the connector the task belongs to. - task: - type: integer - description: Task ID within the connector. - config: - type: object - description: |- - Configuration parameters for the connector. These configurations - are the minimum set of key-value pairs (KVP) which can be used to - define how the connector connects Kafka to the external system. - Some of these KVPs are common to all the connectors, such as - connection parameters to Kafka, connector metadata, etc. The list - of common connector configurations is as follows - - - cloud.environment - - cloud.provider - - connector.class - - kafka.api.key - - kafka.api.secret - - kafka.endpoint - - kafka.region - - name - - A specific connector such as `GcsSink` would have additional - parameters such as `gcs.bucket.name`, `flush.size`, etc. - required: - - cloud.environment - - cloud.provider - - connector.class - - name - - kafka.endpoint - - kafka.region - - kafka.api.key - - kafka.api.secret - properties: - cloud.environment: - type: string - description: The cloud environment type. - cloud.provider: - type: string - description: 'The cloud service provider, e.g. aws, azure, etc.' - x-extensible-enum: - - aws - - azure - - gcp - connector.class: - type: string - description: 'The connector class name. E.g. BigQuerySink, GcsSink, etc.' - name: - type: string - description: Name or alias of the class (plugin) for this connector. - kafka.endpoint: - type: string - description: The kafka cluster endpoint. - kafka.region: - type: string - description: The kafka cluster region. - kafka.api.key: - type: string - description: The kafka cluster api key. - kafka.api.secret: - type: string - description: The kafka cluster api secret key. - x-redact: true - additionalProperties: - type: string - connect.v1.ConnectorOffsets: - type: object - description: Offsets for a connector - properties: - name: - type: string - description: The name of the connector. - id: - type: string - description: The ID of the connector. - offsets: - $ref: '#/components/schemas/connect.v1.Offsets' - metadata: - type: object - description: Metadata of the connector offset. - properties: - observed_at: - type: string - format: date-time - example: '2024-02-20T15:14:19Z' - readOnly: true - description: 'The time at which the offsets were observed. The time is in UTC, ISO 8601 format.' - connect.v1.AlterOffsetRequestInfo: - type: object - description: The request made to alter offsets. - properties: - id: - type: string - description: The ID of the connector. - name: - type: string - description: The name of the connector. - offsets: - $ref: '#/components/schemas/connect.v1.Offsets' - requested_at: - type: string - format: date-time - readOnly: true - example: '2024-02-20T15:14:19Z' - description: 'The time at which the request was made. The time is in UTC, ISO 8601 format.' - type: - $ref: '#/components/schemas/connect.v1.AlterOffsetRequestType' - required: - - id - - name - - type - - requested_at - connect.v1.AlterOffsetRequest: - type: object - description: Request to alter the offset of a connector. The offsets parameter is options for DELETE type. - properties: - type: - $ref: '#/components/schemas/connect.v1.AlterOffsetRequestType' - offsets: - $ref: '#/components/schemas/connect.v1.Offsets' - required: - - type - connect.v1.AlterOffsetRequestType: - type: string - enum: - - PATCH - - DELETE - description: |- - The type of alter operation. PATCH will update the offset to the provided values. - The update will only happen for the partitions provided in the request. - DELETE will delete the offset for the provided partitions and reset them back to the - base state. It is as if, a fresh new connector was created. - - For sink connectors PATCH/DELETE will move the offsets to the provided point in the - topic partition. If the offset provided is not present in the topic partition it will - by default reset to the earliest offset in the topic partition. - - For source connectors, post PATCH/DELETE the connector will attempt to read from the - position defined in the altered offsets. - connect.v1.AlterOffsetStatus: - type: object - description: |- - Status of the alter offset operation. The previous offsets in the response - is the offsets that the connector last processed, before the offsets were altered, - via a patch or delete operation. - properties: - request: - $ref: '#/components/schemas/connect.v1.AlterOffsetRequestInfo' - status: - type: object - description: The response of the alter offsets operation. - properties: - phase: - type: string - x-extensible-enum: - - PENDING - - PENDING_VALIDATION - - APPLIED - - FAILED - description: |- - The phase of the alter offset operation. - - PENDING: The offset alter operation is in progress. - - APPLIED: The offset alter operation has been applied to the connector. - - FAILED: The offset alter operation has failed to be applied to the connector. - message: - type: string - description: An info message from the alter offset operation. - required: - - phase - previous_offsets: - $ref: '#/components/schemas/connect.v1.Offsets' - applied_at: - type: string - nullable: true - format: date-time - example: '2024-02-20T15:14:19Z' - readOnly: true - description: 'The time at which the offsets were applied. The time is in UTC, ISO 8601 format.' - required: - - request - - status - SearchFilter: - description: Filter a collection by a string search - type: string - connect.v1.CustomConnectorPluginList: - type: object - description: |- - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Custom Connector Plugins Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - connect/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - CustomConnectorPluginList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/connect/v1/custom-connector-plugins' - last: - example: 'https://api.confluent.cloud/connect/v1/custom-connector-plugins?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/connect/v1/custom-connector-plugins?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/connect/v1/custom-connector-plugins?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/connect.v1.CustomConnectorPlugin' - - type: object - required: - - id - - metadata - - display_name - - connector_class - - connector_type - - upload_source - uniqueItems: true - ListMeta: - type: object - description: ListMeta describes metadata that resource collections may have - properties: - first: - description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds' - last: - description: 'A link to the last page of results. If a response does not contain a last link, then direct navigation to the last page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT' - prev: - description: 'A link to the previous page of results. If a response does not contain a prev link, then either there is no previous data or backwards traversal through the result set is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld' - next: - description: 'A link to the next page of results. If a response does not contain a next link, then there is no more data available.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb' - total_size: - description: Number of records in the full result set. This response may be paginated and have a smaller number of records. - type: integer - format: int32 - minimum: 0 - example: 123 - connect.v1.CustomConnectorPlugin: - type: object - description: |- - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Custom Connector Plugins Model - - properties: - api_version: - type: string - enum: - - connect/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - CustomConnectorPlugin - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/connect/v1/custom-connector-plugins/ccp-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/custom-connector-plugin=ccp-12345' - display_name: - type: string - description: Display name of Custom Connector Plugin. - maxLength: 60 - content_format: - type: string - example: ZIP - description: Archive format of Custom Connector Plugin. - x-extensible-enum: - - ZIP - - JAR - readOnly: true - description: - type: string - description: Description of Custom Connector Plugin. - maxLength: 256 - documentation_link: - maxLength: 512 - type: string - pattern: '^$|^(http://|https://).+' - example: 'https://github.com/confluentinc/kafka-connect-datagen' - description: Document link of Custom Connector Plugin. - connector_class: - type: string - maxLength: 150 - pattern: '^(([a-zA-Z][a-zA-Z_$0-9]*(\.[a-zA-Z][a-zA-Z_$0-9]*)*)\.)?([a-zA-Z][a-zA-Z_$0-9]*)$' - description: Java class or alias for connector. You can get connector class from connector documentation provided by developer. - example: io.confluent.kafka.connect.datagen.DatagenConnector - x-immutable: true - connector_type: - type: string - description: | - Custom Connector type. - example: SOURCE - x-extensible-enum: - - SOURCE - - SINK - x-immutable: true - cloud: - type: string - description: Cloud provider where the Custom Connector Plugin archive is uploaded. - example: AWS - default: AWS - x-extensible-enum: - - AWS - - GCP - - AZURE - x-immutable: true - sensitive_config_properties: - type: array - description: A sensitive property is a connector configuration property that must be hidden after a user enters property value when setting up connector. - items: - type: string - pattern: '^[\w\+\.-]+$' - maxLength: 150 - example: - - passwords - - keys - - tokens - upload_source: - type: object - oneOf: - - $ref: '#/components/schemas/connect.v1.UploadSource.PresignedUrl' - description: '[immutable] Upload source of Custom Connector Plugin. Only required in `create` request, will be ignored in `read`, `update` or `list`.' - discriminator: - propertyName: location - mapping: - PRESIGNED_URL_LOCATION: '#/components/schemas/connect.v1.UploadSource.PresignedUrl' - Failure: - type: object - description: Provides information about problems encountered while performing an operation. - required: - - errors - properties: - errors: - description: List of errors which caused this operation to fail - type: array - items: - $ref: '#/components/schemas/Error' - uniqueItems: true - ObjectMeta: - description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' - required: - - self - properties: - self: - description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' - type: string - format: uri - readOnly: true - example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' - resource_name: - description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name - type: string - format: uri - readOnly: true - example: 'crn://confluent.cloud/kafka=lkc-f3a90de' - created_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. - updated_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. - deleted_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. - readOnly: true - connect.v1.UploadSource.PresignedUrl: - type: object - description: Presigned URL of the uploaded Custom Connector Plugin archive. - properties: - location: - type: string - description: | - Location of the Custom Connector Plugin source. - x-extensible-enum: - - PRESIGNED_URL_LOCATION - example: PRESIGNED_URL_LOCATION - upload_id: - type: string - example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 - description: Upload ID returned by the `/presigned-upload-url` API. This field returns an empty string in all responses. - required: - - location - - upload_id - Error: - type: object - description: Describes a particular error encountered while performing an operation. - properties: - id: - description: A unique identifier for this particular occurrence of the problem. - type: string - maxLength: 255 - status: - description: 'The HTTP status code applicable to this problem, expressed as a string value.' - type: string - code: - description: 'An application-specific error code, expressed as a string value.' - type: string - title: - description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' - type: string - detail: - description: A human-readable explanation specific to this occurrence of the problem. - type: string - source: - type: object - description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' - properties: - pointer: - description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' - type: string - parameter: - description: A string indicating which query parameter caused the error. - type: string - error_code: - type: integer - format: int32 - message: - type: string - nullable: true - additionalProperties: false - connect.v1.CustomConnectorPluginUpdate: - type: object - description: |- - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Custom Connector Plugins Model - - properties: - api_version: - type: string - enum: - - connect/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - CustomConnectorPlugin - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/connect/v1/custom-connector-plugins/ccp-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/custom-connector-plugin=ccp-12345' - display_name: - type: string - description: Display name of Custom Connector Plugin. - maxLength: 60 - content_format: - type: string - example: ZIP - description: Archive format of Custom Connector Plugin. - x-extensible-enum: - - ZIP - - JAR - readOnly: true - description: - type: string - description: Description of Custom Connector Plugin. - maxLength: 256 - documentation_link: - maxLength: 512 - type: string - pattern: '^$|^(http://|https://).+' - example: 'https://github.com/confluentinc/kafka-connect-datagen' - description: Document link of Custom Connector Plugin. - sensitive_config_properties: - type: array - description: A sensitive property is a connector configuration property that must be hidden after a user enters property value when setting up connector. - items: - type: string - pattern: '^[\w\+\.-]+$' - maxLength: 150 - example: - - passwords - - keys - - tokens - upload_source: - type: object - oneOf: - - $ref: '#/components/schemas/connect.v1.UploadSource.PresignedUrl' - description: '[immutable] Upload source of Custom Connector Plugin. Only required in `create` request, will be ignored in `read`, `update` or `list`.' - discriminator: - propertyName: location - mapping: - PRESIGNED_URL_LOCATION: '#/components/schemas/connect.v1.UploadSource.PresignedUrl' - connect.v1.PresignedUrlRequest: - type: object - description: | - Request schema of the presigned upload URL. - properties: - api_version: - type: string - enum: - - connect/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - PresignedUrlRequest - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/connect/v1/presigned-url-requests/pur-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/presigned-url-request=pur-12345' - content_format: - type: string - example: ZIP - description: Archive format of the Custom Connector Plugin. - x-extensible-enum: - - JAR - - ZIP - cloud: - type: string - example: AWS - default: AWS - description: Cloud provider where the Custom Connector Plugin archive is uploaded. - x-extensible-enum: - - AWS - - GCP - - AZURE - connect.v1.PresignedUrl: - type: object - description: |- - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Presigned Urls Model - - properties: - api_version: - type: string - enum: - - connect/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - PresignedUrl - content_format: - type: string - description: Content format of the Custom Connector Plugin archive. - example: ZIP - x-extensible-enum: - - ZIP - - JAR - readOnly: true - cloud: - type: string - description: Cloud provider where the Custom Connector Plugin archive is uploaded. - example: AWS - x-extensible-enum: - - AWS - - GCP - - AZURE - readOnly: true - upload_id: - type: string - description: Unique identifier of this upload. - example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 - readOnly: true - upload_url: - type: string - format: uri - description: Upload URL for the Custom Connector Plugin archive. - example: 'https://confluent-custom-connectors-stag-us-west-2.s3.dualstack.us-west-2.amazonaws.com/' - readOnly: true - upload_form_data: - type: object - description: Upload form data of the Custom Connector Plugin. All values should be strings. - example: - bucket: confluent-custom-connectors-stag-us-west-2 - key: staging/custom-plugin/2f37f0b6-f8da-4e8b-bc5f-282ebb0511be/connect-e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66/plugin.zip - policy: string - x-amz-algorithm: AWS4-HMAC-SHA256 - x-amz-credential: string - x-amz-date: 20230725T013857Z - x-amz-security-token: string - x-amz-signature: string - readOnly: true - parameters: - AclHost: - name: host - description: The ACL host. - in: query - required: false - schema: - type: string - AclOperation: - name: operation - description: The ACL operation. - in: query - required: false - schema: - $ref: '#/components/schemas/AclOperation' - AclOperationRequired: - name: operation - description: The ACL operation. - in: query - required: true - schema: - $ref: '#/components/schemas/AclOperation' - AclPatternType: - name: pattern_type - description: The ACL pattern type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPatternType' - AclPatternTypeRequired: - name: pattern_type - description: The ACL pattern type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPatternType' - AclPermission: - name: permission - description: The ACL permission. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPermission' - AclPermissionRequired: - name: permission - description: The ACL permission. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPermission' - AclPrincipal: - name: principal - description: The ACL principal. This is the Service Account name or user name. - in: query - required: false - schema: - type: string - AclResourceName: - name: resource_name - description: The ACL resource name. - in: query - required: false - schema: - type: string - AclResourceType: - name: resource_type - description: The ACL resource type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclResourceType' - AclResourceTypeRequired: - name: resource_type - description: The ACL resource type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclResourceType' - BrokerId: - name: broker_id - description: The Kafka broker ID. - in: path - required: true - schema: - type: integer - example: 1 - ClusterId: - name: cluster_id - description: The Kafka cluster ID. - in: path - required: true - schema: - type: string - example: cluster-1 - ConfigName: - name: name - description: The configuration parameter name. - in: path - required: true - schema: - type: string - example: compression.type - ConsumerGroupId: - name: consumer_group_id - description: The consumer group ID. - in: path - required: true - schema: - type: string - example: consumer-group-1 - ConsumerId: - name: consumer_id - description: The consumer ID. - in: path - required: true - schema: - type: string - example: consumer-1 - IncludeAuthorizedOperations: - name: include_authorized_operations - description: Specify if authorized operations should be included in the response. - in: query - required: false - schema: - type: boolean - PartitionId: - name: partition_id - description: The partition ID. - in: path - required: true - schema: - type: integer - example: 0 - TopicName: - name: topic_name - description: The topic name. - in: path - required: true - schema: - type: string - example: topic-1 - BrokerTaskType: - name: task_type - description: The Kafka broker task type. - in: path - required: true - schema: - $ref: '#/components/schemas/BrokerTaskType' - example: remove-broker - ShouldShutdown: - name: should_shutdown - description: 'To shutdown the broker or not, Default: true' - in: query - required: false - schema: - type: boolean - example: true - ValidateOnly: - name: validate_only - description: 'To validate the action can be performed successfully or not. Default: false' - in: query - required: false - schema: - type: boolean - example: false - ValidateLink: - name: validate_link - description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' - in: query - required: false - schema: - type: boolean - example: false - IncludeTasks: - name: include_tasks - description: 'Whether to include cluster linking tasks in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludeStateTransitionErrors: - name: include_state_transition_errors - description: 'Whether to include mirror state transition errors in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - Force: - name: force - description: 'Force the action. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludePartitionLevelTruncationData: - name: include_partition_level_truncation_data - description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - LinkName: - name: link_name - description: The link name - in: path - required: true - schema: - type: string - example: link-sb1 - LinkConfigName: - name: config_name - description: The link config name - in: path - required: true - schema: - type: string - example: consumer.offset.sync.enable - MirrorTopicStatus: - name: mirror_status - description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' - in: query - required: false - schema: - $ref: '#/components/schemas/MirrorTopicStatus' - example: ACTIVE - MirrorTopicName: - name: mirror_topic_name - description: Cluster Linking mirror topic name - in: path - required: true - schema: - type: string - example: topic-1 - QueryParamLinkName: - name: link_name - description: The link name - in: query - required: true - schema: - type: string - example: link-sb1 - responses: - connect.v1.UnauthenticatedError: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/connect.v1.ConnectorError' - example: - error: - code: 401 - message: Unauthorized - connect.v1.AccountNotFoundError: - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/connect.v1.ConnectorError' - example: - error: - code: 404 - message: account not found - RateLimitError: - description: Rate Limit Exceeded - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Retry-After: - schema: - type: integer - description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. - connect.v1.DefaultSystemError: - description: Internal Server Error - content: - application/json: - schema: - $ref: '#/components/schemas/connect.v1.ConnectorError' - example: - error: - code: 500 - message: 'Oops, something went wrong' - connect.v1.BadRequestError: - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/connect.v1.ConnectorError' - example: - error: - code: 400 - message: Bad Request - connect.v1.OK: - description: OK - content: - application/json: - schema: - type: object - properties: - error: - type: object - nullable: true - example: - error: null - connect.v1.ResourceNotFoundError: - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/connect.v1.ConnectorError' - example: - error: - code: 404 - message: resource not found - connect.v1.ForbiddenError: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/connect.v1.ConnectorError' - example: - error: - code: 403 - message: Forbidden - BadRequestError: - description: Bad Request - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '400' - code: invalid_filter - title: Invalid Filter - detail: The 'delorean' resource can't be filtered by 'num_doors' - source: - parameter: num_doors - UnauthenticatedError: - x-summary: Unauthorized - description: The request lacks valid authentication credentials for this resource. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - WWW-Authenticate: - schema: - type: string - description: The unique identifier for the API request. - example: 'Basic error="invalid_key", error_description="The API Key is invalid"' - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '401' - code: user_unauthenticated - title: Authentication Required - detail: Valid authentication credentials must be provided - UnauthorizedError: - x-summary: Forbidden - description: The access credentials were considered insufficient to grant access - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '403' - code: user_unauthorized - title: User Access Unauthorized - detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. - DefaultSystemError: - description: 'Oops, something went wrong!' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '500' - code: out_of_gas - title: DeLorean Out Of Gas - detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' - ConflictError: - x-summary: Conflict - description: The request is in conflict with the current server state - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/{object}/{id}' - description: Resource URI of conflicting resource - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '409' - code: resource_already_exists - title: Resource Already exists - detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. - ValidationError: - description: Validation Failed - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - NotFoundError: - description: Not Found - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '404' - title: Not Found - securitySchemes: - cloud-api-key: - type: http - scheme: basic - description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. - confluent-sts-access-token: - type: oauth2 - description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' - scopes: {} - api-key: - type: http - scheme: basic - description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. - resource-api-key: - type: http - scheme: basic - description: | - Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID - as the username and resource-specific API Key Secret as the password. - external-access-token: - type: oauth2 - description: Authenticate with OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https:///token' - scopes: {} - oauth: - type: oauth2 - description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. - flows: - clientCredentials: - tokenUrl: /oauth2/token - scopes: - 'partner:alter': enables partners to alter entitlements - 'partner:create': enables partners to create entitlements and signup on behalf of customers - 'partner:delete': enables partners to delete entitlements and organizations - 'partner:describe': enables partners to read and list entitlements and organizations - requestBodies: - AlterBrokerConfigBatchRequest: - description: The alter broker configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterClusterConfigBatchRequest: - description: The alter cluster configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterTopicConfigBatchRequest: - description: The alter topic configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - examples: - batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only_batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only: true - CreateAclRequest: - description: The ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestData' - example: - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - BatchCreateAclRequest: - description: The batch ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestDataList' - example: - data: - - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - - resource_type: TOPIC - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: READ - permission: ALLOW - CreateTopicRequest: - description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTopicRequestData' - examples: - uniform_replication: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - configs: - - name: cleanup.policy - value: compact - - name: compression.type - value: gzip - dry_run_create_topic: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - validate_only: true - ProduceRequest: - description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' - content: - application/json: - schema: - $ref: '#/components/schemas/ProduceRequest' - examples: - binary_and_json: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - partition_id: 1 - headers: - - name: Header-1 - value: SGVhZGVyLTE= - - name: Header-2 - value: SGVhZGVyLTI= - key: - type: BINARY - data: Zm9vYmFy - value: - type: JSON - data: - foo: bar - timestamp: '2021-02-05T19:14:42Z' - string: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - value: - type: STRING - data: My message - empty_value: - description: key or value can be omitted entirely. - value: - key: - data: 1000 - UpdateBrokerConfigRequest: - description: The broker configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateClusterConfigRequest: - description: The cluster configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateTopicConfigRequest: - description: The topic configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - CreateLinkRequest: - description: Create a cluster link - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLinkRequestData' - examples: - destination_initiated_link: - description: Create a destination initiated cluster link - value: - source_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: acl.sync.enable - value: 'false' - - name: consumer.offset.sync.ms - value: '30000' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_source_cluster: - description: Create a source initiated cluster link at source cluster - value: - destination_cluster_id: cluster-2 - configs: - - name: bootstrap.servers - value: cluster-2-bootstrap-server - - name: link.mode - value: SOURCE - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_destination_cluster: - description: Create a source initiated cluster link at destination cluster - value: - destination_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: link.mode - value: DESTINATION - - name: connection.mode - value: INBOUND - - name: acl.sync.enable - value: 'false' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_east: - description: Create a bidirectional cluster link in east - value: - remote_cluster_id: cluster-west - configs: - - name: bootstrap.servers - value: cluster-west-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: west. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_west: - description: Create a bidirectional cluster link in west - value: - remote_cluster_id: cluster-east - cluster_link_id: eEBkTffYSESld6EO898x3w - configs: - - name: bootstrap.servers - value: cluster-east-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: east. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - UpdateLinkConfigRequest: - content: - application/json: - example: - value: '300000' - schema: - $ref: '#/components/schemas/UpdateLinkConfigRequestData' - description: Link config value to update - AlterLinkConfigBatchRequest: - content: - application/json: - example: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - CreateMirrorTopicRequest: - description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateMirrorTopicRequestData' - examples: - generic_example: - description: Generic example of creating a mirror topic - value: - source_topic_name: topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 1 - example_with_mirror_topic_name: - description: Example using optional mirror_topic_name flag - value: - source_topic_name: topic-1 - mirror_topic_name: link1_topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 3 - AlterMirrorsRequest: - description: Mirror topics to be altered. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterMirrorsRequestData' - examples: - mirror_topic_names: - description: Example using mirror topic names - value: - mirror_topic_names: - - topic-1 - - topic-2 - mirror_topic_name_pattern: - description: Example using mirror topic name pattern - value: - mirror_topic_name_pattern: .* - RemoveBrokersRequest: - content: - application/json: - example: - broker_ids: - - 1 - - 2 - - 3 - schema: - $ref: '#/components/schemas/RemoveBrokersRequestData' - description: Broker ids to remove - BrokerReplicaExclusionBatchRequest: - description: Alter Broker Replica Exclusions. - content: - application/json: - schema: - $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' - example: - data: - - broker_id: 1 - reason: The broker is to be removed. - - broker_id: 2 - reason: The broker is to be removed. - x-stackQL-resources: - connectors: - id: confluent.connect.connectors - name: connectors - title: Connectors - methods: - list_connectv1connectors: - operation: - $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors/get' - response: - mediaType: application/json - openAPIDocKey: '200' - create_connectv1connector: - operation: - $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors/post' - response: - mediaType: application/json - openAPIDocKey: '201' - schemaRef: '#/components/schemas/connect.v1.ConnectorWithOffsets' - read_connectv1connector: - operation: - $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/connect.v1.Connector' - delete_connectv1connector: - operation: - $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}/delete' - response: - mediaType: application/json - openAPIDocKey: '200' - schemaRef: '#/components/responses/connect.v1.OK' - pause_connectv1connector: - operation: - $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1pause/put' - response: - mediaType: application/json - openAPIDocKey: '202' - resume_connectv1connector: - operation: - $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1resume/put' - response: - mediaType: application/json - openAPIDocKey: '202' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/connectors/methods/read_connectv1connector' - - $ref: '#/components/x-stackQL-resources/connectors/methods/list_connectv1connectors' - insert: - - $ref: '#/components/x-stackQL-resources/connectors/methods/create_connectv1connector' - update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/connectors/methods/delete_connectv1connector' - connectors_with_expansions: - id: confluent.connect.connectors_with_expansions - name: connectors_with_expansions - title: Connectors With Expansions - methods: - list_connectv1connectors_with_expansions: - operation: - $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors?expand=info,status,id/get' - response: - mediaType: application/json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/connect.v1.ConnectorExpansionMap' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/connectors_with_expansions/methods/list_connectv1connectors_with_expansions' - insert: [] - update: [] - replace: [] - delete: [] - connector_config: - id: confluent.connect.connector_config - name: connector_config - title: Connector Config - methods: - get_connectv1connector_config: - operation: - $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1config/get' - response: - mediaType: application/json - openAPIDocKey: '200' - create_or_update_connectv1connector_config: - operation: - $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1config/put' - response: - mediaType: application/json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/connect.v1.Connector' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/connector_config/methods/get_connectv1connector_config' - insert: - - $ref: '#/components/x-stackQL-resources/connector_config/methods/create_or_update_connectv1connector_config' - update: [] - replace: [] - delete: [] - connector_status: - id: confluent.connect.connector_status - name: connector_status - title: Connector Status - methods: - read_connectv1connector_status: - operation: - $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1status/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/connector_status/methods/read_connectv1connector_status' - insert: [] - update: [] - replace: [] - delete: [] - connector_tasks: - id: confluent.connect.connector_tasks - name: connector_tasks - title: Connector Tasks - methods: - list_connectv1connector_tasks: - operation: - $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1tasks/get' - response: - mediaType: application/json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/connect.v1.Connectors' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/connector_tasks/methods/list_connectv1connector_tasks' - insert: [] - update: [] - replace: [] - delete: [] - managed_connector_plugins: - id: confluent.connect.managed_connector_plugins - name: managed_connector_plugins - title: Managed Connector Plugins - methods: - list_connectv1connector_plugins: - operation: - $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connector-plugins/get' - response: - mediaType: application/json - openAPIDocKey: '200' - validate_connectv1connector_plugin: - operation: - $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connector-plugins~1{plugin_name}~1config~1validate/put' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/managed_connector_plugins/methods/list_connectv1connector_plugins' - insert: [] - update: [] - replace: [] - delete: [] - connector_offsets: - id: confluent.connect.connector_offsets - name: connector_offsets - title: Connector Offsets - methods: - get_connectv1connector_offsets: - operation: - $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1offsets/get' - response: - mediaType: application/json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/connect.v1.ConnectorOffsets' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/connector_offsets/methods/get_connectv1connector_offsets' - insert: [] - update: [] - replace: [] - delete: [] - connector_offsets_requests: - id: confluent.connect.connector_offsets_requests - name: connector_offsets_requests - title: Connector Offsets Requests - methods: - alter_connectv1connector_offsets_request: - operation: - $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1offsets~1request/post' - response: - mediaType: application/json - openAPIDocKey: '202' - schemaRef: '#/components/schemas/connect.v1.AlterOffsetRequestInfo' - get_connectv1connector_offsets_request_status: - operation: - $ref: '#/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1offsets~1request~1status/get' - response: - mediaType: application/json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/connect.v1.AlterOffsetStatus' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/connector_offsets_requests/methods/get_connectv1connector_offsets_request_status' - insert: [] - update: [] - replace: [] - delete: [] - custom_connector_plugins: - id: confluent.connect.custom_connector_plugins - name: custom_connector_plugins - title: Custom Connector Plugins - methods: - list_connect_v1custom_connector_plugins: - operation: - $ref: '#/paths/~1connect~1v1~1custom-connector-plugins/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_connect_v1custom_connector_plugin: - operation: - $ref: '#/paths/~1connect~1v1~1custom-connector-plugins/post' - response: - mediaType: application/json - openAPIDocKey: '201' - get_connect_v1custom_connector_plugin: - operation: - $ref: '#/paths/~1connect~1v1~1custom-connector-plugins~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_connect_v1custom_connector_plugin: - operation: - $ref: '#/paths/~1connect~1v1~1custom-connector-plugins~1{id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_connect_v1custom_connector_plugin: - operation: - $ref: '#/paths/~1connect~1v1~1custom-connector-plugins~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/custom_connector_plugins/methods/get_connect_v1custom_connector_plugin' - - $ref: '#/components/x-stackQL-resources/custom_connector_plugins/methods/list_connect_v1custom_connector_plugins' - insert: - - $ref: '#/components/x-stackQL-resources/custom_connector_plugins/methods/create_connect_v1custom_connector_plugin' - update: - - $ref: '#/components/x-stackQL-resources/custom_connector_plugins/methods/update_connect_v1custom_connector_plugin' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/custom_connector_plugins/methods/delete_connect_v1custom_connector_plugin' - presigned_urls: - id: confluent.connect.presigned_urls - name: presigned_urls - title: Presigned Urls - methods: - presigned_upload_url_connect_v1presigned_url: - operation: - $ref: '#/paths/~1connect~1v1~1presigned-upload-url/post' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - replace: [] - delete: [] -paths: - '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors': - get: - operationId: listConnectv1Connectors - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a list of "names" of the active connectors. You can then make a [read request](#operation/readConnectv1Connector) for a specific connector by name. - summary: List of Connectors - tags: - - Connectors (connect/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - parameters: - - name: environment_id - in: path - schema: - type: string - required: true - description: The unique identifier of the environment this resource belongs to. - - name: kafka_cluster_id - in: path - schema: - type: string - required: true - description: The unique identifier for the Kafka cluster. - responses: - '200': - description: Connector. - content: - application/json: - schema: - type: array - description: List of connector names - items: - type: string - description: Connector name - example: - - MyGcsLogsBucketConnector - - MyS3BucketConnector - - MyDatagenConnector - '401': - $ref: '#/components/responses/connect.v1.UnauthenticatedError' - '404': - $ref: '#/components/responses/connect.v1.AccountNotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/connect.v1.DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createConnectv1Connector - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Create a new connector. Returns the new connector information if successful. - summary: Create a Connector - tags: - - Connectors (connect/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '201': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/connect.v1.ConnectorWithOffsets' - example: - name: MyGcsLogsBucketConnector - config: - cloud.environment: prod - cloud.provider: aws - connector.class: GcsSink - data.format: BYTES - flush.size: '1000' - gcs.bucket.name: APILogsBucket - gcs.credentials.config: '****************' - kafka.api.key: '****************' - kafka.api.secret: '****************' - kafka.endpoint: 'SASL_SSL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092' - kafka.region: us-west-2 - name: MyGcsLogsBucketConnector - tasks.max: '1' - time.interval: DAILY - topics: APILogsTopic - tasks: - - connector: MyGcsLogsBucketConnector - task: 0 - type: sink - offsets: - - partition: - kafka_partition: 0 - kafka_topic: APILogsTopic - offset: - kafka_offset: 1000 - headers: {} - '400': - description: Bad Request - content: - application/json: - schema: - type: object - properties: - code: - type: integer - message: - type: string - example: - error: - code: 400 - message: Unauthorized - '401': - $ref: '#/components/responses/connect.v1.UnauthenticatedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - description: Internal Server Error - content: - application/json: - schema: - type: object - properties: - error_code: - type: integer - message: - type: string - example: - error_code: 500 - message: Failed to find any class that implements Connector and which name matches io.confluent.connect.... - requestBody: - content: - application/json: - schema: - type: object - properties: - name: - type: string - description: Name of the connector to create. - config: - type: object - description: Configuration parameters for the connector. All values should be strings. - x-redact: true - required: - - connector.class - - name - - kafka.api.key - - kafka.api.secret - properties: - connector.class: - type: string - description: '\[Required for Managed Connector, Ignored for Custom Connector\] The connector class name, e.g., BigQuerySink, GcsSink, etc.' - name: - type: string - description: 'Name or alias of the class (plugin) for this connector. For custom connector, it must be the same as the name of the connector to create.' - kafka.api.key: - type: string - description: The kafka cluster api key. - kafka.api.secret: - type: string - description: The kafka cluster api secret key. - x-redact: true - confluent.connector.type: - type: string - description: | - \[Required for Custom Connector\] The connector type. - example: CUSTOM - default: MANAGED - x-extensible-enum: - - CUSTOM - - MANAGED - confluent.custom.plugin.id: - type: string - example: ccp-lq5m06 - description: | - \[Required for Custom Connector\] The custom plugin id of custom connector, e.g., `ccp-lq5m06` - confluent.custom.connection.endpoints: - type: string - description: | - \[Optional for Custom Connector\] Egress endpoint(s) for the connector to use when attaching to the sink or source data system. - confluent.custom.schema.registry.auto: - type: string - description: | - \[Optional for Custom Connector\] Automatically add the required schema registry properties in a custom connector config if schema registry is enabled. - example: 'FALSE' - default: 'FALSE' - x-extensible-enum: - - 'TRUE' - - 'FALSE' - additionalProperties: - type: string - description: Other configuration parameters for the connector. All values should be strings. See the connector's docs for details. - offsets: - $ref: '#/components/schemas/connect.v1.Offsets' - examples: - sink: - value: - name: MyGcsLogsBucketConnector - config: - connector.class: GcsSink - data.format: BYTES - flush.size: '1000' - gcs.bucket.name: APILogsBucket - gcs.credentials.config: '****************' - kafka.api.key: '****************' - kafka.api.secret: '****************' - name: MyGcsLogsBucketConnector - tasks.max: '2' - time.interval: DAILY - topics: APILogsTopic - offsets: - - partition: - kafka_partition: 0 - kafka_topic: APILogsTopic - offset: - kafka_offset: 1000 - source: - value: - name: MySqlCdcSourceV2Connector_0 - config: - connector.class: MySqlCdcSourceV2 - output.data.format: JSON - flush.size: '1000' - database.hostname: 12.34.567.98 - database.password: '****************' - database.port: '1234' - database.user: '****' - kafka.api.key: '****************' - kafka.api.secret: '****************' - name: MySqlCdcSourceV2Connector_0 - tasks.max: '1' - time.interval: DAILY - topic.prefix: test - offsets: - - partition: - server: test - offset: - file: mysql-bin.000123 - pos: 154 - ts_sec: 1712907333 - description: '' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"name":"string","config":{"connector.class":"string","name":"string","kafka.api.key":"string","kafka.api.secret":"string","confluent.connector.type":"CUSTOM","confluent.custom.plugin.id":"ccp-lq5m06","confluent.custom.connection.endpoints":"string","confluent.custom.schema.registry.auto":"FALSE","property1":"string","property2":"string"},"offsets":[{"partition":{},"offset":{}}]}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"name\":\"string\",\"config\":{\"connector.class\":\"string\",\"name\":\"string\",\"kafka.api.key\":\"string\",\"kafka.api.secret\":\"string\",\"confluent.connector.type\":\"CUSTOM\",\"confluent.custom.plugin.id\":\"ccp-lq5m06\",\"confluent.custom.connection.endpoints\":\"string\",\"confluent.custom.schema.registry.auto\":\"FALSE\",\"property1\":\"string\",\"property2\":\"string\"},\"offsets\":[{\"partition\":{},\"offset\":{}}]}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"string\\\",\\\"config\\\":{\\\"connector.class\\\":\\\"string\\\",\\\"name\\\":\\\"string\\\",\\\"kafka.api.key\\\":\\\"string\\\",\\\"kafka.api.secret\\\":\\\"string\\\",\\\"confluent.connector.type\\\":\\\"CUSTOM\\\",\\\"confluent.custom.plugin.id\\\":\\\"ccp-lq5m06\\\",\\\"confluent.custom.connection.endpoints\\\":\\\"string\\\",\\\"confluent.custom.schema.registry.auto\\\":\\\"FALSE\\\",\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"offsets\\\":[{\\\"partition\\\":{},\\\"offset\\\":{}}]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"name\":\"string\",\"config\":{\"connector.class\":\"string\",\"name\":\"string\",\"kafka.api.key\":\"string\",\"kafka.api.secret\":\"string\",\"confluent.connector.type\":\"CUSTOM\",\"confluent.custom.plugin.id\":\"ccp-lq5m06\",\"confluent.custom.connection.endpoints\":\"string\",\"confluent.custom.schema.registry.auto\":\"FALSE\",\"property1\":\"string\",\"property2\":\"string\"},\"offsets\":[{\"partition\":{},\"offset\":{}}]}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - name: 'string', - config: { - 'connector.class': 'string', - name: 'string', - 'kafka.api.key': 'string', - 'kafka.api.secret': 'string', - 'confluent.connector.type': 'CUSTOM', - 'confluent.custom.plugin.id': 'ccp-lq5m06', - 'confluent.custom.connection.endpoints': 'string', - 'confluent.custom.schema.registry.auto': 'FALSE', - property1: 'string', - property2: 'string' - }, - offsets: [{partition: {}, offset: {}}] - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"name\":\"string\",\"config\":{\"connector.class\":\"string\",\"name\":\"string\",\"kafka.api.key\":\"string\",\"kafka.api.secret\":\"string\",\"confluent.connector.type\":\"CUSTOM\",\"confluent.custom.plugin.id\":\"ccp-lq5m06\",\"confluent.custom.connection.endpoints\":\"string\",\"confluent.custom.schema.registry.auto\":\"FALSE\",\"property1\":\"string\",\"property2\":\"string\"},\"offsets\":[{\"partition\":{},\"offset\":{}}]}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"name\":\"string\",\"config\":{\"connector.class\":\"string\",\"name\":\"string\",\"kafka.api.key\":\"string\",\"kafka.api.secret\":\"string\",\"confluent.connector.type\":\"CUSTOM\",\"confluent.custom.plugin.id\":\"ccp-lq5m06\",\"confluent.custom.connection.endpoints\":\"string\",\"confluent.custom.schema.registry.auto\":\"FALSE\",\"property1\":\"string\",\"property2\":\"string\"},\"offsets\":[{\"partition\":{},\"offset\":{}}]}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - parameters: - - name: environment_id - in: path - schema: - type: string - required: true - description: The unique identifier of the environment this resource belongs to. - - name: kafka_cluster_id - in: path - schema: - type: string - required: true - description: The unique identifier for the Kafka cluster. - '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors?expand=info,status,id': - get: - operationId: listConnectv1ConnectorsWithExpansions - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve an object with the queried expansions of all connectors. Without `expand` query parameter, this list connector’s endpoint will return a [list of only the connector names](#operation/listConnectv1Connectors). - summary: List of Connectors with Expansions - tags: - - Connectors (connect/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Connector. - content: - application/json: - schema: - $ref: '#/components/schemas/connect.v1.ConnectorExpansionMap' - example: - MyGcsLogsBucketConnector: - id: - id: lcc-xxxxx - id_type: ID - info: - name: MyGcsLogsBucketConnector - config: - cloud.environment: prod - cloud.provider: aws - connector.class: GcsSink - data.format: BYTES - flush.size: '1000' - gcs.bucket.name: APILogsBucket - gcs.credentials.config: '****************' - kafka.api.key: '****************' - kafka.api.secret: '****************' - kafka.endpoint: 'SASL_SSL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092' - kafka.region: us-west-2 - name: MyGcsLogsBucketConnector - tasks.max: '1' - time.interval: DAILY - topics: APILogsTopic - type: sink - status: - name: MyGcsLogsBucketConnector - connector: - state: PROVISIONING - worker_id: MyGcsLogsBucketConnector - trace: '' - tasks: [] - type: sink - MyS3BucketConnector: - id: - id: lcc-xxxxx - id_type: ID - info: - name: MyS3BucketConnector - config: - cloud.environment: prod - cloud.provider: aws - connector.class: S3Sink - data.format: BYTES - flush.size: '1000' - s3.bucket: APILogsBucket - aws.access.key.id: '************' - aws.secret.access.key: '**********' - kafka.api.key: '****************' - kafka.api.secret: '****************' - kafka.endpoint: 'SASL_SSL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092' - kafka.region: us-west-2 - name: MyS3BucketConnector - tasks.max: '1' - time.interval: DAILY - topics: APILogsTopic - type: source - status: - name: MyS3BucketConnector - connector: - state: FAILED - worker_id: MyS3BucketConnector - trace: | - There were some errors with your configuration: - topics: Provided Kafka ApiKey is invalid - kafka.api.secret: Provided Kafka ApiKey is invalid - tasks: [] - type: sink - MyDatagenConnector: - id: - id: lcc-xxxxx - id_type: ID - info: - name: MyDatagenConnector - config: - cloud.environment: prod - cloud.provider: aws - connector.class: DatagenSource - data.format: BYTES - flush.size: '1000' - quickstart: ORDERS - kafka.api.key: '****************' - kafka.api.secret: '****************' - kafka.endpoint: 'SASL_SSL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092' - kafka.region: us-west-2 - name: MyDatagenConnector - tasks.max: '1' - time.interval: DAILY - topics: APILogsTopic - type: source - status: - name: MyDatagenConnector - connector: - state: RUNNING - worker_id: MyDatagenConnector - trace: '' - tasks: - - id: 0 - msg: '' - state: RUNNING - worker_id: MyDatagenConnector - type: source - '401': - $ref: '#/components/responses/connect.v1.UnauthenticatedError' - '404': - $ref: '#/components/responses/connect.v1.AccountNotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/connect.v1.DefaultSystemError' - parameters: - - name: environment_id - in: path - schema: - type: string - required: true - description: The unique identifier of the environment this resource belongs to. - - name: kafka_cluster_id - in: path - schema: - type: string - required: true - description: The unique identifier for the Kafka cluster. - - name: expand - in: query - description: |- - - id : Returns metadata of each connector such as id and id type. - - info : Returns metadata of each connector such as the configuration, task - information, and type of connector. - - status : Returns additional state information of each connector including their status and tasks. - schema: - type: string - enum: - - id - - info - - status - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors?expand=info,status,id' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors?expand=info,status,id") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors?expand=info,status,id\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors?expand=info,status,id", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors?expand=info,status,id", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors?expand=info,status,id"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors?expand=info,status,id"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config': - get: - operationId: getConnectv1ConnectorConfig - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Get the configuration for the connector. - summary: Read a Connector Configuration - tags: - - Connectors (connect/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Connector. - content: - application/json: - schema: - type: object - description: Configuration parameters for the connector. - required: - - cloud.environment - - cloud.provider - - connector.class - - name - - kafka.endpoint - - kafka.region - - kafka.api.key - - kafka.api.secret - properties: - cloud.environment: - type: string - description: The cloud environment type. - cloud.provider: - type: string - description: 'The cloud service provider, e.g. aws, azure, etc.' - x-extensible-enum: - - aws - - azure - - gcp - connector.class: - type: string - description: 'The connector class name. E.g. BigQuerySink, GcsSink, etc.' - name: - type: string - description: 'Name or alias of the class (plugin) for this connector. For Custom Connector, it must be the same as connector_name.' - kafka.endpoint: - type: string - description: The kafka cluster endpoint. - kafka.region: - type: string - description: The kafka cluster region. - kafka.api.key: - type: string - description: The kafka cluster api key. - kafka.api.secret: - type: string - description: The kafka cluster api secret key. - x-redact: true - additionalProperties: - type: string - description: Other configuration parameters for the connector. See the connector's docs for the list of options. - example: - cloud.environment: prod - cloud.provider: aws - connector.class: GcsSink - data.format: BYTES - flush.size: '1000' - gcs.bucket.name: APILogsBucket - gcs.credentials.config: '****************' - kafka.api.key: '****************' - kafka.api.secret: '****************' - kafka.endpoint: 'SASL_SSL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092' - kafka.region: us-west-2 - name: MyGcsLogsBucketConnector - tasks.max: '2' - time.interval: DAILY - topics: APILogsTopic - '401': - $ref: '#/components/responses/connect.v1.UnauthenticatedError' - '404': - $ref: '#/components/responses/connect.v1.AccountNotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/connect.v1.DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - name: connector_name - in: path - schema: - type: string - required: true - description: The unique name of the connector. - - name: environment_id - in: path - schema: - type: string - required: true - description: The unique identifier of the environment this resource belongs to. - - name: kafka_cluster_id - in: path - schema: - type: string - required: true - description: The unique identifier for the Kafka cluster. - put: - operationId: createOrUpdateConnectv1ConnectorConfig - description: 'Create a new connector using the given configuration, or update the configuration for an existing connector. Returns information about the connector after the change has been made.' - summary: Create or Update a Connector Configuration - tags: - - Connectors (connect/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - type: object - description: Configuration parameters for the connector. - required: - - connector.class - - name - - kafka.api.key - - kafka.api.secret - properties: - connector.class: - type: string - description: '\[Required for Managed Connector, Ignored for Custom Connector\] The connector class name. E.g. BigQuerySink, GcsSink, etc.' - name: - type: string - description: Name or alias of the class (plugin) for this connector. - kafka.api.key: - type: string - description: The kafka cluster api key. - kafka.api.secret: - type: string - description: The kafka cluster api secret key. - x-redact: true - confluent.connector.type: - type: string - description: | - \[Required for Custom Connector\] The connector type. - example: CUSTOM - default: MANAGED - x-extensible-enum: - - CUSTOM - - MANAGED - confluent.custom.plugin.id: - type: string - example: ccp-lq5m06 - description: | - \[Required for Custom Connector\] The custom plugin id of custom connector, e.g., `ccp-lq5m06` - confluent.custom.connection.endpoints: - type: string - description: | - \[Optional for Custom Connector\] Egress endpoint(s) for the connector to use when attaching to the sink or source data system. - confluent.custom.schema.registry.auto: - type: string - description: | - \[Optional for Custom Connector\] Automatically add the required schema registry properties in a custom connector config if schema registry is enabled. - example: 'FALSE' - default: 'FALSE' - x-extensible-enum: - - 'TRUE' - - 'FALSE' - additionalProperties: - type: string - description: Other configuration parameters for the connector. All values should be strings. See the connector's docs for details. - example: - connector.class: GcsSink - data.format: BYTES - flush.size: '1000' - gcs.bucket.name: APILogsBucket - gcs.credentials.config: '****************' - kafka.api.key: '****************' - kafka.api.secret: '****************' - name: MyGcsLogsBucketConnector - tasks.max: '2' - time.interval: DAILY - topics: APILogsTopic - description: Configuration parameters for the connector. All values should be strings. - responses: - '200': - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/connect.v1.Connector' - example: - name: MyGcsLogsBucketConnector - config: - cloud.environment: prod - cloud.provider: aws - connector.class: GcsSink - data.format: BYTES - flush.size: '1000' - gcs.bucket.name: APILogsBucket - gcs.credentials.config: '****************' - kafka.api.key: '****************' - kafka.api.secret: '****************' - kafka.endpoint: 'SASL_SSL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092' - kafka.region: us-west-2 - name: MyGcsLogsBucketConnector - tasks.max: '2' - time.interval: DAILY - topics: APILogsTopic - tasks: - - connector: MyGcsLogsBucketConnector - task: 0 - - connector: MyGcsLogsBucketConnector - task: 1 - type: sink - '400': - $ref: '#/components/responses/connect.v1.BadRequestError' - '401': - $ref: '#/components/responses/connect.v1.UnauthenticatedError' - '404': - $ref: '#/components/responses/connect.v1.AccountNotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - description: Internal Server Error - content: - application/json: - schema: - type: object - properties: - error_code: - type: integer - message: - type: string - example: - error_code: 500 - message: Failed to find any class that implements Connector and which name matches io.confluent.connect.... - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"connector.class":"string","name":"string","kafka.api.key":"string","kafka.api.secret":"string","confluent.connector.type":"CUSTOM","confluent.custom.plugin.id":"ccp-lq5m06","confluent.custom.connection.endpoints":"string","confluent.custom.schema.registry.auto":"FALSE","property1":"string","property2":"string"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"connector.class\":\"string\",\"name\":\"string\",\"kafka.api.key\":\"string\",\"kafka.api.secret\":\"string\",\"confluent.connector.type\":\"CUSTOM\",\"confluent.custom.plugin.id\":\"ccp-lq5m06\",\"confluent.custom.connection.endpoints\":\"string\",\"confluent.custom.schema.registry.auto\":\"FALSE\",\"property1\":\"string\",\"property2\":\"string\"}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config") - .put(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config\"\n\n\tpayload := strings.NewReader(\"{\\\"connector.class\\\":\\\"string\\\",\\\"name\\\":\\\"string\\\",\\\"kafka.api.key\\\":\\\"string\\\",\\\"kafka.api.secret\\\":\\\"string\\\",\\\"confluent.connector.type\\\":\\\"CUSTOM\\\",\\\"confluent.custom.plugin.id\\\":\\\"ccp-lq5m06\\\",\\\"confluent.custom.connection.endpoints\\\":\\\"string\\\",\\\"confluent.custom.schema.registry.auto\\\":\\\"FALSE\\\",\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"connector.class\":\"string\",\"name\":\"string\",\"kafka.api.key\":\"string\",\"kafka.api.secret\":\"string\",\"confluent.connector.type\":\"CUSTOM\",\"confluent.custom.plugin.id\":\"ccp-lq5m06\",\"confluent.custom.connection.endpoints\":\"string\",\"confluent.custom.schema.registry.auto\":\"FALSE\",\"property1\":\"string\",\"property2\":\"string\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PUT", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - 'connector.class': 'string', - name: 'string', - 'kafka.api.key': 'string', - 'kafka.api.secret': 'string', - 'confluent.connector.type': 'CUSTOM', - 'confluent.custom.plugin.id': 'ccp-lq5m06', - 'confluent.custom.connection.endpoints': 'string', - 'confluent.custom.schema.registry.auto': 'FALSE', - property1: 'string', - property2: 'string' - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"connector.class\":\"string\",\"name\":\"string\",\"kafka.api.key\":\"string\",\"kafka.api.secret\":\"string\",\"confluent.connector.type\":\"CUSTOM\",\"confluent.custom.plugin.id\":\"ccp-lq5m06\",\"confluent.custom.connection.endpoints\":\"string\",\"confluent.custom.schema.registry.auto\":\"FALSE\",\"property1\":\"string\",\"property2\":\"string\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/config"); - var request = new RestRequest(Method.PUT); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"connector.class\":\"string\",\"name\":\"string\",\"kafka.api.key\":\"string\",\"kafka.api.secret\":\"string\",\"confluent.connector.type\":\"CUSTOM\",\"confluent.custom.plugin.id\":\"ccp-lq5m06\",\"confluent.custom.connection.endpoints\":\"string\",\"confluent.custom.schema.registry.auto\":\"FALSE\",\"property1\":\"string\",\"property2\":\"string\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - parameters: - - name: connector_name - in: path - schema: - type: string - required: true - description: The unique name of the connector. - - name: environment_id - in: path - schema: - type: string - required: true - description: The unique identifier of the environment this resource belongs to. - - name: kafka_cluster_id - in: path - schema: - type: string - required: true - description: The unique identifier for the Kafka cluster. - '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}': - get: - operationId: readConnectv1Connector - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Get information about the connector. - summary: Read a Connector - tags: - - Connectors (connect/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Connector. - content: - application/json: - schema: - $ref: '#/components/schemas/connect.v1.Connector' - example: - name: MyGcsLogsBucketConnector - config: - cloud.environment: prod - cloud.provider: aws - connector.class: GcsSink - data.format: BYTES - flush.size: '1000' - gcs.bucket.name: APILogsBucket - gcs.credentials.config: '****************' - kafka.api.key: '****************' - kafka.api.secret: '****************' - kafka.endpoint: 'SASL_SSL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092' - kafka.region: us-west-2 - name: MyGcsLogsBucketConnector - tasks.max: '1' - time.interval: DAILY - topics: APILogsTopic - tasks: - - connector: MyGcsLogsBucketConnector - task: 0 - type: sink - '401': - $ref: '#/components/responses/connect.v1.UnauthenticatedError' - '404': - $ref: '#/components/responses/connect.v1.AccountNotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/connect.v1.DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - name: connector_name - in: path - schema: - type: string - required: true - description: The unique name of the connector. - - name: environment_id - in: path - schema: - type: string - required: true - description: The unique identifier of the environment this resource belongs to. - - name: kafka_cluster_id - in: path - schema: - type: string - required: true - description: The unique identifier for the Kafka cluster. - delete: - operationId: deleteConnectv1Connector - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Delete a connector. Halts all tasks and deletes the connector configuration. - summary: Delete a Connector - tags: - - Connectors (connect/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - $ref: '#/components/responses/connect.v1.OK' - '401': - $ref: '#/components/responses/connect.v1.UnauthenticatedError' - '404': - $ref: '#/components/responses/connect.v1.ResourceNotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/connect.v1.DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - name: connector_name - in: path - schema: - type: string - required: true - description: The unique name of the connector. - - name: environment_id - in: path - schema: - type: string - required: true - description: The unique identifier of the environment this resource belongs to. - - name: kafka_cluster_id - in: path - schema: - type: string - required: true - description: The unique identifier for the Kafka cluster. - '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/pause': - put: - operationId: pauseConnectv1Connector - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Pause the connector and its tasks. Stops message processing until the connector is resumed. This call is asynchronous and the tasks will not transition to PAUSED state at the same time. - summary: Pause a Connector - tags: - - Lifecycle (connect/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '202': - description: Accepted - '401': - $ref: '#/components/responses/connect.v1.UnauthenticatedError' - '404': - $ref: '#/components/responses/connect.v1.ResourceNotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/connect.v1.DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/pause' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/pause") - .put(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/pause\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("PUT", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/pause", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/pause", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/pause"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/pause"); - var request = new RestRequest(Method.PUT); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - name: connector_name - in: path - schema: - type: string - required: true - description: The unique name of the connector. - - name: environment_id - in: path - schema: - type: string - required: true - description: The unique identifier of the environment this resource belongs to. - - name: kafka_cluster_id - in: path - schema: - type: string - required: true - description: The unique identifier for the Kafka cluster. - '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/resume': - put: - operationId: resumeConnectv1Connector - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Resume a paused connector or do nothing if the connector is not paused. This call is asynchronous and the tasks will not transition to RUNNING state at the same time. - summary: Resume a Connector - tags: - - Lifecycle (connect/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '202': - description: Accepted - '401': - $ref: '#/components/responses/connect.v1.UnauthenticatedError' - '404': - $ref: '#/components/responses/connect.v1.ResourceNotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/connect.v1.DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/resume' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/resume") - .put(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/resume\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("PUT", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/resume", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/resume", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/resume"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/resume"); - var request = new RestRequest(Method.PUT); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - name: connector_name - in: path - schema: - type: string - required: true - description: The unique name of the connector. - - name: environment_id - in: path - schema: - type: string - required: true - description: The unique identifier of the environment this resource belongs to. - - name: kafka_cluster_id - in: path - schema: - type: string - required: true - description: The unique identifier for the Kafka cluster. - '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/status': - get: - operationId: readConnectv1ConnectorStatus - description: 'Get current status of the connector. This includes whether it is running, failed, or paused. Also includes which worker it is assigned to, error information if it has failed, and the state of all its tasks.' - summary: Read a Connector Status - tags: - - Status (connect/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Connector. - content: - application/json: - schema: - type: object - properties: - name: - type: string - description: The name of the connector. - type: - type: string - description: 'Type of connector, sink or source.' - enum: - - sink - - source - connector: - type: object - description: The map containing connector status. - required: - - state - - worker_id - properties: - state: - type: string - description: The state of the connector. - enum: - - NONE - - PROVISIONING - - RUNNING - - DEGRADED - - FAILED - - PAUSED - - DELETED - worker_id: - type: string - description: The worker ID of the connector. - trace: - type: string - description: The exception name in case of error. - tasks: - type: array - description: The map containing the task status. - items: - type: object - properties: - id: - type: integer - description: The ID of task. - state: - type: string - description: The state of the task. - worker_id: - type: string - description: The worker ID of the task. - msg: - type: string - required: - - id - - state - - worker_id - required: - - name - - type - - connector - example: - name: MyGcsLogsBucketConnector - connector: - state: PROVISIONING - worker_id: MyGcsLogsBucketConnector - trace: '' - tasks: [] - type: source - '401': - $ref: '#/components/responses/connect.v1.UnauthenticatedError' - '404': - $ref: '#/components/responses/connect.v1.AccountNotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/connect.v1.DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/status' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/status") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/status\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/status", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/status", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/status"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/status"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - name: connector_name - in: path - schema: - type: string - required: true - description: The unique name of the connector. - - name: environment_id - in: path - schema: - type: string - required: true - description: The unique identifier of the environment this resource belongs to. - - name: kafka_cluster_id - in: path - schema: - type: string - required: true - description: The unique identifier for the Kafka cluster. - '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/tasks': - get: - operationId: listConnectv1ConnectorTasks - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Get a list of tasks currently running for the connector. - summary: List of Connector Tasks - tags: - - Status (connect/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Connector Task. - content: - application/json: - schema: - $ref: '#/components/schemas/connect.v1.Connectors' - example: - - id: - connector: MyGcsLogsBucketConnector - task: 2 - config: - cloud.environment: prod - cloud.provider: aws - connector.class: GcsSink - data.format: BYTES - flush.size: '1000' - gcs.bucket.name: APILogsBucket - gcs.credentials.config: '****************' - kafka.api.key: '****************' - kafka.api.secret: '****************' - kafka.endpoint: 'SASL_SSL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092' - kafka.region: us-west-2 - name: MyGcsLogsBucketConnector - tasks.max: '2' - time.interval: DAILY - topics: APILogsTopic - '401': - $ref: '#/components/responses/connect.v1.UnauthenticatedError' - '404': - $ref: '#/components/responses/connect.v1.AccountNotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/connect.v1.DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/tasks' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/tasks") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/tasks\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/tasks", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/tasks", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/tasks"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/tasks"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - name: connector_name - in: path - schema: - type: string - required: true - description: The unique name of the connector. - - name: environment_id - in: path - schema: - type: string - required: true - description: The unique identifier of the environment this resource belongs to. - - name: kafka_cluster_id - in: path - schema: - type: string - required: true - description: The unique identifier for the Kafka cluster. - '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins': - get: - operationId: listConnectv1ConnectorPlugins - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Return a list of Managed Connector plugins installed in the Kafka Connect cluster. - summary: List of Managed Connector plugins - tags: - - Managed Connector Plugins (connect/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Connector Plugin. - content: - application/json: - schema: - type: array - items: - type: object - properties: - class: - type: string - description: The connector class name. E.g. BigQuerySink. - type: - type: string - description: 'Type of connector, sink or source.' - enum: - - sink - - source - version: - type: string - description: The version string for the connector available. - required: - - class - - type - example: - - class: BigQuerySink - type: sink - - class: KinesisSource - type: source - version: 0.1.0 - - class: PostgresSource - type: source - version: 0.1.0 - - class: S3_SINK - type: sink - - class: GcsSink - type: sink - version: 0.2.0 - '401': - $ref: '#/components/responses/connect.v1.UnauthenticatedError' - '404': - $ref: '#/components/responses/connect.v1.ResourceNotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/connect.v1.DefaultSystemError' - parameters: - - name: environment_id - in: path - schema: - type: string - required: true - description: The unique identifier of the environment this resource belongs to. - - name: kafka_cluster_id - in: path - schema: - type: string - required: true - description: The unique identifier for the Kafka cluster. - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins/{plugin_name}/config/validate': - put: - operationId: validateConnectv1ConnectorPlugin - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Validate the provided configuration values against the configuration definition. This API performs per config validation and returns suggested values and validation error messages. - summary: Validate a Managed Connector Plugin - tags: - - Managed Connector Plugins (connect/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Connector Plugin. - content: - application/json: - schema: - type: object - properties: - name: - type: string - description: The class name of the connector plugin. - groups: - type: array - description: The list of groups used in configuration definitions. - items: - type: string - error_count: - type: integer - description: The total number of errors encountered during configuration validation. - configs: - type: array - items: - type: object - properties: - definition: - type: object - description: 'The definition for a config in the connector plugin, which includes the name, type, importance, etc.' - properties: - name: - type: string - description: The name of the configuration - type: - type: string - enum: - - NONE - - BOOLEAN - - INT - - SHORT - - LONG - - DOUBLE - - STRING - - LIST - - ENUM - - PASSWORD - description: The config types - required: - type: boolean - description: Whether this configuration is required - default_value: - type: string - description: Default value for this configuration - importance: - type: string - enum: - - NONE - - HIGH - - MEDIUM - - LOW - description: The importance level for a configuration - documentation: - type: string - description: The documentation for the configuration - group: - type: string - description: The UI group to which the configuration belongs to - width: - type: string - enum: - - NONE - - SHORT - - MEDIUM - - LONG - description: The width of a configuration value - display_name: - type: string - dependents: - type: array - description: Other configurations on which this configuration is dependent - items: - type: string - order: - type: integer - description: The order of configuration in specified group - alias: - type: string - value: - type: object - description: 'The current value for a config, which includes the name, value, recommended values, etc.' - properties: - name: - type: string - description: The name of the configuration - value: - type: string - description: The value for the configuration - recommended_values: - type: array - description: The list of valid values for the configuration - items: - type: string - errors: - type: array - description: 'Errors, if any, in the configuration value' - items: - type: string - visible: - type: boolean - description: |- - The visibility of the configuration. Based on the values of other configuration - fields, this visibility boolean value points out if the current field should be - visible or not. - metadata: - type: object - description: |- - Map of metadata details about the connector configuration, such as type of - input, etc. + input, etc. (opaque JSON object) example: name: io.confluent.connect.gcs.GcsSinkConnector groups: @@ -6133,7 +1495,9 @@ paths: required: true default_value: '' importance: HIGH - documentation: Identifies the topic name or a comma-separated list of topic names. + documentation: >- + Identifies the topic name or a comma-separated list of + topic names. group: Which topics do you want to get data from? width: NONE display_name: Topic names @@ -6153,7 +1517,9 @@ paths: required: true default_value: '' importance: HIGH - documentation: 'Sets the input/output message format. Valid entries are AVRO, JSON, or BYTES' + documentation: >- + Sets the input/output message format. Valid entries are + AVRO, JSON, or BYTES group: Messages width: NONE display_name: Message format @@ -6176,7 +1542,9 @@ paths: required: true default_value: '' importance: HIGH - documentation: Contents of the downloaded GCP service account JSON file. + documentation: >- + Contents of the downloaded GCP service account JSON + file. group: Google Cloud Storage details width: NONE display_name: Google Cloud Storage credentials. @@ -6196,7 +1564,9 @@ paths: required: true default_value: '' importance: HIGH - documentation: A Google Cloud Storage bucket must be in the same region as your Confluent Cloud cluster. + documentation: >- + A Google Cloud Storage bucket must be in the same region + as your Confluent Cloud cluster. group: Google Cloud Storage details width: NONE display_name: Bucket name. @@ -6216,7 +1586,9 @@ paths: required: true default_value: '' importance: HIGH - documentation: Sets how your messages grouped in storage. Valid entries are DAILY or HOURLY. + documentation: >- + Sets how your messages grouped in storage. Valid entries + are DAILY or HOURLY. group: Organize my data by... width: NONE display_name: Time interval @@ -6258,7 +1630,13 @@ paths: required: true default_value: '1000' importance: HIGH - documentation: 'This value defaults to 1000. For example, if you use the default setting of 1000 and your topic has six partitions, files start to be created in the storage bucket after more than 1000 records exist in each partition. Note that the default value of 1000 can be increased if needed.' + documentation: >- + This value defaults to 1000. For example, if you use the + default setting of 1000 and your topic has six + partitions, files start to be created in the storage + bucket after more than 1000 records exist in each + partition. Note that the default value of 1000 can be + increased if needed. group: Organize my data by... width: NONE display_name: Flush size @@ -6274,1677 +1652,5411 @@ paths: visible: true metadata: {} '401': - $ref: '#/components/responses/connect.v1.UnauthenticatedError' + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '404': + $ref: '#/components/responses/connect.v1.ResourceNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + requestBody: + content: + application/json: + schema: + type: object + description: >- + Configuration parameters for the connector. All values should be + strings. + additionalProperties: + type: string + description: >- + Other configuration parameters for the connector. All values + should be strings. See the connector's docs for the list of + options. + example: + cloud.environment: prod + cloud.provider: aws + connector.class: GcsSink + data.format: BYTES + flush.size: '500' + gcs.bucket.name: APILogsBucket + gcs.credentials.config: '****************' + kafka.api.key: '****************' + kafka.api.secret: '****************' + kafka.endpoint: SASL_SSL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092 + kafka.region: us-west-2 + name: MyGcsLogsBucketConnector + tasks.max: '2' + time.interval: DAILY + topics: APILogsTopic + description: >- + Configuration parameters for the connector. All values should be + strings. + x-lifecycle-stage: General Availability + parameters: + - name: plugin_name + in: path + schema: + type: string + required: true + description: The unique name of the connector plugin. + - name: environment_id + in: path + schema: + type: string + required: true + description: The unique identifier of the environment this resource belongs to. + - name: kafka_cluster_id + in: path + schema: + type: string + required: true + description: The unique identifier for the Kafka cluster. + /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins/{plugin_name}/config/translate?mask_sensitive=true: + put: + x-lifecycle-stage: General Availability + operationId: translateConnectv1ConnectorPlugin + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Translate the provided Self Managed configuration values. This API + performs configuration translation + + and returns the translated fully managed configuration along with any + errors or warnings. + + Query Parameter `mask_sensitive=true` redacts sensitive config values in + response. + summary: >- + Translate Self Managed Connector Plugin Configurations to Fully Managed + Connector Plugin Configurations + tags: + - Managed Connector Plugins (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + Configuration parameters for the self managed connector. All + values should be strings. + additionalProperties: + type: string + description: >- + Configuration parameters for the self managed connector. All + values should be strings. See the self managed connector's + docs for the list of options. + example: + topics: nidhi_topic + input.data.format: JSON + connector.class: io.confluent.connect.datadog.metrics.DatadogMetricsSinkConnector + name: DatadogMetricsSinkConnector_87 + datadog.api.key: 535069c094cdfd1a55fb3e80eba09241 + datadog.domain: COM + max.retry.time.ms: '5000' + behavior.on.error: log + tasks.max: '1' + errors.tolerance: all + errors.deadletterqueue.context.headers.enable: 'true' + errors.log.include.messages: 'true' + errors.log.enable: 'true' + reporter.bootstrap.servers: localhost:9092 + reporter.error.topic.replication.factor: '1' + confluent.topic.bootstrap.servers: localhost:9092 + confluent.topic.replication.factor: '1' + description: >- + Configuration parameters for the connector. All values should be + strings. + responses: + '200': + description: Connector Plugin translation result. + content: + application/json: + schema: + type: object + properties: + config: + type: object + description: The translated configuration + additionalProperties: + type: string + errors: + type: array + description: List of configuration errors + items: + type: object + properties: + field: + type: string + description: The field name that has an error + message: + type: string + description: The error message + required: + - field + - message + warnings: + type: array + description: List of configuration warnings + items: + type: object + properties: + field: + type: string + description: The field name that has a warning + message: + type: string + description: The warning message + required: + - field + - message + example: + config: + connector.class: DatadogMetricsSink + name: DatadogMetricsSinkConnector_87 + topics: nidhi_topic + datadog.api.key: '****************' + datadog.domain: COM + max.retry.time.ms: '5000' + behavior.on.error: log + tasks.max: '1' + errors.tolerance: all + errors.deadletterqueue.context.headers.enable: 'true' + errors.log.include.messages: 'true' + errors.log.enable: 'true' + confluent.topic.bootstrap.servers: localhost:9092 + input.data.format: JSON + max.poll.interval.ms: '300000' + max.poll.records: '500' + errors: + - field: datadog.site + message: Required config is missing. + warnings: + - field: confluent.topic.bootstrap.servers + message: Customer given value is ignored. Default value is used. + - field: reporter.error.topic.replication.factor + message: Customer given value is ignored. Default value is used. + - field: confluent.topic.replication.factor + message: Customer given value is ignored. Default value is used. + '400': + $ref: '#/components/responses/connect.v1.BadRequestError' + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '403': + $ref: '#/components/responses/connect.v1.ForbiddenError' + '404': + $ref: '#/components/responses/connect.v1.ResourceNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + x-lifecycle-stage: General Availability + parameters: + - name: plugin_name + in: path + schema: + type: string + required: true + description: The unique name of the connector plugin. + - name: environment_id + in: path + schema: + type: string + required: true + description: The unique identifier of the environment this resource belongs to. + - name: kafka_cluster_id + in: path + schema: + type: string + required: true + description: The unique identifier for the Kafka cluster. + - name: mask_sensitive + in: query + required: false + schema: + type: string + maxLength: 255 + description: Indicates whether to redact sensitive config values in response. + /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets: + get: + x-lifecycle-stage: General Availability + operationId: getConnectv1ConnectorOffsets + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Get the current offsets for the connector. The offsets provide + information on the point in the source system, + + from which the connector is pulling in data. The offsets of a connector + are continuously observed periodically and are queryable via this API. + summary: Get a Connector Offsets + tags: + - Offsets (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Connector Offsets. + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.ConnectorOffsets' + examples: + sink: + value: + id: lcc-as341 + name: MysqlSinkConnector + offsets: + - partition: + kafka_partition: 0 + kafka_topic: topic_A + offset: + kafka_offset: 20032323 + - partition: + kafka_partition: 1 + kafka_topic: topic_B + offset: + kafka_offset: 20032322 + metadata: + observed_at: 2024-02-20T15:14:19.000Z + source: + value: + id: lcc-21sdda + name: MysqlSourceConnector + offsets: + - partition: + protocol: 1 + table: sourcedb.sourcetable + offset: + timestamp_nanos: 0 + incrementing: 3 + timestamp: 1699142400000 + metadata: + observed_at: 2024-02-20T15:14:19.000Z + '400': + $ref: '#/components/responses/connect.v1.BadRequestError' + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '403': + $ref: '#/components/responses/connect.v1.ForbiddenError' + '404': + $ref: '#/components/responses/connect.v1.ResourceNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + x-lifecycle-stage: General Availability + parameters: + - name: connector_name + in: path + schema: + type: string + required: true + description: The unique name of the connector. + - name: environment_id + in: path + schema: + type: string + required: true + description: The unique identifier of the environment this resource belongs to. + - name: kafka_cluster_id + in: path + schema: + type: string + required: true + description: The unique identifier for the Kafka cluster. + /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request: + post: + x-lifecycle-stage: General Availability + operationId: alterConnectv1ConnectorOffsetsRequest + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Request to alter the offsets of a connector. This supports the ability + to PATCH/DELETE the offsets of a connector. + + Note, you will see momentary downtime as this will internally stop the + connector, while the offsets are being altered. + + You can only make one alter offsets request at a time for a connector. + summary: Request to Alter the Connector Offsets + tags: + - Offsets (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '202': + description: Accepted + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.AlterOffsetRequestInfo' + examples: + patch: + value: + id: lcc-sa32er + name: MySinkConnector + offsets: + - partition: + kafka_partition: 0 + kafka_topic: topic_A + offset: + kafka_offset: 1000 + requested_at: 2024-02-20T15:14:19.000Z + type: PATCH + delete: + value: + id: lcc-234ds + name: MySourceConnector + offsets: [] + requested_at: 2024-02-20T15:14:19.000Z + type: DELETE + '400': + $ref: '#/components/responses/connect.v1.BadRequestError' + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '403': + $ref: '#/components/responses/connect.v1.ForbiddenError' + '404': + $ref: '#/components/responses/connect.v1.ResourceNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.AlterOffsetRequest' + examples: + patch sink: + value: + type: PATCH + offsets: + - partition: + kafka_partition: 0 + kafka_topic: topic_A + offset: + kafka_offset: 1000 + patch source: + value: + type: PATCH + offsets: + - partition: + protocol: 1 + table: sourcedb.sourcetable + offset: + timestamp_nanos: 0 + incrementing: 3 + timestamp: 1699000000000 + delete: + value: + type: DELETE + x-lifecycle-stage: General Availability + parameters: + - name: connector_name + in: path + schema: + type: string + required: true + description: The unique name of the connector. + - name: environment_id + in: path + schema: + type: string + required: true + description: The unique identifier of the environment this resource belongs to. + - name: kafka_cluster_id + in: path + schema: + type: string + required: true + description: The unique identifier for the Kafka cluster. + /connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request/status: + get: + x-lifecycle-stage: General Availability + operationId: getConnectv1ConnectorOffsetsRequestStatus + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Get the status of the previous alter offset request. + summary: Get the Status of Alter Offset Request + tags: + - Offsets (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Connector Offsets Request Status. + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.AlterOffsetStatus' + examples: + sink - pending patch operation: + value: + request: + id: lcc-sa32er + name: MySinkConnector + offsets: + - partition: + kafka_partition: 0 + kafka_topic: topic_A + offset: + kafka_offset: 1000 + requested_at: 2024-02-20T15:14:19.000Z + type: PATCH + status: + phase: PENDING + applied_at: null + source - applied patch operation: + value: + request: + id: lcc-x1sdfs + name: MySourceConnector + offsets: + - partition: + protocol: 1 + table: sourcedb.sourcetable + offset: + timestamp_nanos: 0 + incrementing: 3 + timestamp: 1699000000000 + requested_at: 2024-02-20T15:14:19.000Z + type: PATCH + status: + phase: APPLIED + message: >- + The Connect framework-managed offsets for this connector + have been altered successfully. However, if this + connector manages offsets externally, they will need to + be altered manually in the system that the connector + uses. + previous_offsets: + - partition: + protocol: 1 + table: sourcedb.sourcetable + offset: + timestamp_nanos: 0 + incrementing: 2 + timestamp: 1698329479943 + applied_at: 2024-02-20T15:14:20+0000 + delete: + value: + request: + id: lcc-234ds + name: MySourceConnector + offsets: [] + requested_at: 2024-02-20T15:14:19.000Z + type: DELETE + status: + phase: APPLIED + message: >- + The Connect framework-managed offsets for this connector + have been reset successfully. However, if this connector + manages offsets externally, they will need to be reset + manually in the system that the connector uses. + previous_offsets: + - partition: + protocol: 1 + table: sourcedb.sourcetable + offset: + timestamp_nanos: 0 + incrementing: 2 + timestamp: 1698329479943 + applied_at: 2024-02-20T15:14:20.000Z + '400': + $ref: '#/components/responses/connect.v1.BadRequestError' + '401': + $ref: '#/components/responses/connect.v1.UnauthenticatedError' + '403': + $ref: '#/components/responses/connect.v1.ForbiddenError' + '404': + $ref: '#/components/responses/connect.v1.ResourceNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/connect.v1.DefaultSystemError' + x-lifecycle-stage: General Availability + parameters: + - name: connector_name + in: path + schema: + type: string + required: true + description: The unique name of the connector. + - name: environment_id + in: path + schema: + type: string + required: true + description: The unique identifier of the environment this resource belongs to. + - name: kafka_cluster_id + in: path + schema: + type: string + required: true + description: The unique identifier for the Kafka cluster. + /connect/v1/custom-connector-plugins: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listConnectV1CustomConnectorPlugins + summary: List of Custom Connector Plugins + description: > + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all custom connector + plugins. + + + If no `cloud` filter is specified, returns custom connector plugins from + all clouds. + parameters: + - name: cloud + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Filter the results by exact match for cloud. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Custom Connector Plugins (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Custom Connector Plugin. + content: + application/json: + schema: + type: object + description: >- + CustomConnectorPlugins objects represent Custom Connector + Plugins on Confluent Cloud. + + The API allows you to list, create, read, update, and delete + your Custom Connector Plugins. + + Related guide: + + [Custom Connector Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Custom Connector Plugins Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - connect/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectorPluginList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + CustomConnectorPlugins objects represent Custom + Connector Plugins on Confluent Cloud. + + The API allows you to list, create, read, update, and + delete your Custom Connector Plugins. + + Related guide: + + [Custom Connector Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Custom Connector Plugins Model + + + properties: + api_version: + type: string + enum: + - connect/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - CustomConnectorPlugin + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + display_name: + type: string + description: Display name of Custom Connector Plugin. + maxLength: 60 + content_format: + type: string + example: ZIP + description: Archive format of Custom Connector Plugin. + x-extensible-enum: + - ZIP + - JAR + readOnly: true + description: + type: string + description: Description of Custom Connector Plugin. + maxLength: 256 + documentation_link: + maxLength: 512 + type: string + pattern: ^$|^(http://|https://).+ + example: >- + https://github.com/confluentinc/kafka-connect-datagen + description: Document link of Custom Connector Plugin. + connector_class: + type: string + maxLength: 150 + pattern: >- + ^(([a-zA-Z][a-zA-Z_$0-9]*(\.[a-zA-Z][a-zA-Z_$0-9]*)*)\.)?([a-zA-Z][a-zA-Z_$0-9]*)$ + description: >- + Java class or alias for connector. You can get + connector class from connector documentation + provided by developer. + example: io.confluent.kafka.connect.datagen.DatagenConnector + x-immutable: true + connector_type: + type: string + description: | + Custom Connector type. + example: SOURCE + x-extensible-enum: + - SOURCE + - SINK + x-immutable: true + cloud: + type: string + description: >- + Cloud provider where the Custom Connector Plugin + archive is uploaded. + example: AWS + default: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + x-immutable: true + sensitive_config_properties: + type: array + description: > + A sensitive property is a connector configuration + property that must be hidden after a user enters + property + + value when setting up connector. + items: + type: string + pattern: ^[\w\+\.-]+$ + maxLength: 150 + example: + - passwords + - keys + - tokens + upload_source: + type: object + description: >- + Upload source of Custom Connector Plugin. Only + required in `create` request, will be ignored in + `read`, `update` or `list`. + discriminator: + propertyName: location + mapping: + PRESIGNED_URL_LOCATION: >- + #/components/schemas/connect.v1.UploadSource.PresignedUrl + properties: + location: + type: string + description: | + Location of the Custom Connector Plugin source. + x-extensible-enum: + - PRESIGNED_URL_LOCATION + example: PRESIGNED_URL_LOCATION + upload_id: + type: string + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + description: >- + Upload ID returned by the + `/presigned-upload-url` API. This field returns + an empty string in all responses. + required: + - location + - upload_id + runtime_language: + type: string + example: JAVA + default: JAVA + description: Runtime language of Custom Connector Plugin. + x-extensible-enum: + - JAVA + - PYTHON + required: + - id + - metadata + - display_name + - connector_class + - connector_type + - upload_source + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createConnectV1CustomConnectorPlugin + summary: Create a Custom Connector Plugin + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create a custom connector plugin. + tags: + - Custom Connector Plugins (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + CustomConnectorPlugins objects represent Custom Connector + Plugins on Confluent Cloud. + + The API allows you to list, create, read, update, and delete + your Custom Connector Plugins. + + Related guide: + + [Custom Connector Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Custom Connector Plugins Model + + + properties: + api_version: + type: string + enum: + - connect/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectorPlugin + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + display_name: + type: string + description: Display name of Custom Connector Plugin. + maxLength: 60 + content_format: + type: string + example: ZIP + description: Archive format of Custom Connector Plugin. + x-extensible-enum: + - ZIP + - JAR + readOnly: true + description: + type: string + description: Description of Custom Connector Plugin. + maxLength: 256 + documentation_link: + maxLength: 512 + type: string + pattern: ^$|^(http://|https://).+ + example: https://github.com/confluentinc/kafka-connect-datagen + description: Document link of Custom Connector Plugin. + connector_class: + type: string + maxLength: 150 + pattern: >- + ^(([a-zA-Z][a-zA-Z_$0-9]*(\.[a-zA-Z][a-zA-Z_$0-9]*)*)\.)?([a-zA-Z][a-zA-Z_$0-9]*)$ + description: >- + Java class or alias for connector. You can get connector + class from connector documentation provided by developer. + example: io.confluent.kafka.connect.datagen.DatagenConnector + x-immutable: true + connector_type: + type: string + description: | + Custom Connector type. + example: SOURCE + x-extensible-enum: + - SOURCE + - SINK + x-immutable: true + cloud: + type: string + description: >- + Cloud provider where the Custom Connector Plugin archive is + uploaded. + example: AWS + default: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + x-immutable: true + sensitive_config_properties: + type: array + description: > + A sensitive property is a connector configuration property + that must be hidden after a user enters property + + value when setting up connector. + items: + type: string + pattern: ^[\w\+\.-]+$ + maxLength: 150 + example: + - passwords + - keys + - tokens + upload_source: + type: object + description: >- + Upload source of Custom Connector Plugin. Only required in + `create` request, will be ignored in `read`, `update` or + `list`. + discriminator: + propertyName: location + mapping: + PRESIGNED_URL_LOCATION: >- + #/components/schemas/connect.v1.UploadSource.PresignedUrl + properties: + location: + type: string + description: | + Location of the Custom Connector Plugin source. + x-extensible-enum: + - PRESIGNED_URL_LOCATION + example: PRESIGNED_URL_LOCATION + upload_id: + type: string + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + description: >- + Upload ID returned by the `/presigned-upload-url` API. + This field returns an empty string in all responses. + required: + - location + - upload_id + runtime_language: + type: string + example: JAVA + default: JAVA + description: Runtime language of Custom Connector Plugin. + x-extensible-enum: + - JAVA + - PYTHON + required: + - display_name + - connector_class + - connector_type + - upload_source + responses: + '201': + description: A Custom Connector Plugin was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: >- + https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id} + description: CustomConnectorPlugin resource uri + content: + application/json: + schema: + type: object + description: >- + CustomConnectorPlugins objects represent Custom Connector + Plugins on Confluent Cloud. + + The API allows you to list, create, read, update, and delete + your Custom Connector Plugins. + + Related guide: + + [Custom Connector Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Custom Connector Plugins Model + + + properties: + api_version: + type: string + enum: + - connect/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectorPlugin + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + description: Display name of Custom Connector Plugin. + maxLength: 60 + content_format: + type: string + example: ZIP + description: Archive format of Custom Connector Plugin. + x-extensible-enum: + - ZIP + - JAR + readOnly: true + description: + type: string + description: Description of Custom Connector Plugin. + maxLength: 256 + documentation_link: + maxLength: 512 + type: string + pattern: ^$|^(http://|https://).+ + example: https://github.com/confluentinc/kafka-connect-datagen + description: Document link of Custom Connector Plugin. + connector_class: + type: string + maxLength: 150 + pattern: >- + ^(([a-zA-Z][a-zA-Z_$0-9]*(\.[a-zA-Z][a-zA-Z_$0-9]*)*)\.)?([a-zA-Z][a-zA-Z_$0-9]*)$ + description: >- + Java class or alias for connector. You can get connector + class from connector documentation provided by developer. + example: io.confluent.kafka.connect.datagen.DatagenConnector + x-immutable: true + connector_type: + type: string + description: | + Custom Connector type. + example: SOURCE + x-extensible-enum: + - SOURCE + - SINK + x-immutable: true + cloud: + type: string + description: >- + Cloud provider where the Custom Connector Plugin archive + is uploaded. + example: AWS + default: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + x-immutable: true + sensitive_config_properties: + type: array + description: > + A sensitive property is a connector configuration property + that must be hidden after a user enters property + + value when setting up connector. + items: + type: string + pattern: ^[\w\+\.-]+$ + maxLength: 150 + example: + - passwords + - keys + - tokens + upload_source: + type: object + description: >- + Upload source of Custom Connector Plugin. Only required in + `create` request, will be ignored in `read`, `update` or + `list`. + discriminator: + propertyName: location + mapping: + PRESIGNED_URL_LOCATION: >- + #/components/schemas/connect.v1.UploadSource.PresignedUrl + properties: + location: + type: string + description: | + Location of the Custom Connector Plugin source. + x-extensible-enum: + - PRESIGNED_URL_LOCATION + example: PRESIGNED_URL_LOCATION + upload_id: + type: string + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + description: >- + Upload ID returned by the `/presigned-upload-url` API. + This field returns an empty string in all responses. + required: + - location + - upload_id + runtime_language: + type: string + example: JAVA + default: JAVA + description: Runtime language of Custom Connector Plugin. + x-extensible-enum: + - JAVA + - PYTHON + required: + - display_name + - connector_class + - connector_type + - upload_source + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /connect/v1/custom-connector-plugins/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getConnectV1CustomConnectorPlugin + summary: Read a Custom Connector Plugin + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read a custom connector plugin. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the custom connector plugin. + tags: + - Custom Connector Plugins (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Custom Connector Plugin. + content: + application/json: + schema: + type: object + description: >- + CustomConnectorPlugins objects represent Custom Connector + Plugins on Confluent Cloud. + + The API allows you to list, create, read, update, and delete + your Custom Connector Plugins. + + Related guide: + + [Custom Connector Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Custom Connector Plugins Model + + + properties: + api_version: + type: string + enum: + - connect/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectorPlugin + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + description: Display name of Custom Connector Plugin. + maxLength: 60 + content_format: + type: string + example: ZIP + description: Archive format of Custom Connector Plugin. + x-extensible-enum: + - ZIP + - JAR + readOnly: true + description: + type: string + description: Description of Custom Connector Plugin. + maxLength: 256 + documentation_link: + maxLength: 512 + type: string + pattern: ^$|^(http://|https://).+ + example: https://github.com/confluentinc/kafka-connect-datagen + description: Document link of Custom Connector Plugin. + connector_class: + type: string + maxLength: 150 + pattern: >- + ^(([a-zA-Z][a-zA-Z_$0-9]*(\.[a-zA-Z][a-zA-Z_$0-9]*)*)\.)?([a-zA-Z][a-zA-Z_$0-9]*)$ + description: >- + Java class or alias for connector. You can get connector + class from connector documentation provided by developer. + example: io.confluent.kafka.connect.datagen.DatagenConnector + x-immutable: true + connector_type: + type: string + description: | + Custom Connector type. + example: SOURCE + x-extensible-enum: + - SOURCE + - SINK + x-immutable: true + cloud: + type: string + description: >- + Cloud provider where the Custom Connector Plugin archive + is uploaded. + example: AWS + default: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + x-immutable: true + sensitive_config_properties: + type: array + description: > + A sensitive property is a connector configuration property + that must be hidden after a user enters property + + value when setting up connector. + items: + type: string + pattern: ^[\w\+\.-]+$ + maxLength: 150 + example: + - passwords + - keys + - tokens + upload_source: + type: object + description: >- + Upload source of Custom Connector Plugin. Only required in + `create` request, will be ignored in `read`, `update` or + `list`. + discriminator: + propertyName: location + mapping: + PRESIGNED_URL_LOCATION: >- + #/components/schemas/connect.v1.UploadSource.PresignedUrl + properties: + location: + type: string + description: | + Location of the Custom Connector Plugin source. + x-extensible-enum: + - PRESIGNED_URL_LOCATION + example: PRESIGNED_URL_LOCATION + upload_id: + type: string + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + description: >- + Upload ID returned by the `/presigned-upload-url` API. + This field returns an empty string in all responses. + required: + - location + - upload_id + runtime_language: + type: string + example: JAVA + default: JAVA + description: Runtime language of Custom Connector Plugin. + x-extensible-enum: + - JAVA + - PYTHON + required: + - api_version + - kind + - id + - display_name + - connector_class + - connector_type + - upload_source + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateConnectV1CustomConnectorPlugin + summary: Update a Custom Connector Plugin + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update a custom connector plugin. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the custom connector plugin. + tags: + - Custom Connector Plugins (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.CustomConnectorPlugin' + responses: + '200': + description: Custom Connector Plugin. + content: + application/json: + schema: + type: object + description: >- + CustomConnectorPlugins objects represent Custom Connector + Plugins on Confluent Cloud. + + The API allows you to list, create, read, update, and delete + your Custom Connector Plugins. + + Related guide: + + [Custom Connector Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Custom Connector Plugins Model + + + properties: + api_version: + type: string + enum: + - connect/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectorPlugin + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + description: Display name of Custom Connector Plugin. + maxLength: 60 + content_format: + type: string + example: ZIP + description: Archive format of Custom Connector Plugin. + x-extensible-enum: + - ZIP + - JAR + readOnly: true + description: + type: string + description: Description of Custom Connector Plugin. + maxLength: 256 + documentation_link: + maxLength: 512 + type: string + pattern: ^$|^(http://|https://).+ + example: https://github.com/confluentinc/kafka-connect-datagen + description: Document link of Custom Connector Plugin. + connector_class: + type: string + maxLength: 150 + pattern: >- + ^(([a-zA-Z][a-zA-Z_$0-9]*(\.[a-zA-Z][a-zA-Z_$0-9]*)*)\.)?([a-zA-Z][a-zA-Z_$0-9]*)$ + description: >- + Java class or alias for connector. You can get connector + class from connector documentation provided by developer. + example: io.confluent.kafka.connect.datagen.DatagenConnector + x-immutable: true + connector_type: + type: string + description: | + Custom Connector type. + example: SOURCE + x-extensible-enum: + - SOURCE + - SINK + x-immutable: true + cloud: + type: string + description: >- + Cloud provider where the Custom Connector Plugin archive + is uploaded. + example: AWS + default: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + x-immutable: true + sensitive_config_properties: + type: array + description: > + A sensitive property is a connector configuration property + that must be hidden after a user enters property + + value when setting up connector. + items: + type: string + pattern: ^[\w\+\.-]+$ + maxLength: 150 + example: + - passwords + - keys + - tokens + upload_source: + type: object + description: >- + Upload source of Custom Connector Plugin. Only required in + `create` request, will be ignored in `read`, `update` or + `list`. + discriminator: + propertyName: location + mapping: + PRESIGNED_URL_LOCATION: >- + #/components/schemas/connect.v1.UploadSource.PresignedUrl + properties: + location: + type: string + description: | + Location of the Custom Connector Plugin source. + x-extensible-enum: + - PRESIGNED_URL_LOCATION + example: PRESIGNED_URL_LOCATION + upload_id: + type: string + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + description: >- + Upload ID returned by the `/presigned-upload-url` API. + This field returns an empty string in all responses. + required: + - location + - upload_id + runtime_language: + type: string + example: JAVA + default: JAVA + description: Runtime language of Custom Connector Plugin. + x-extensible-enum: + - JAVA + - PYTHON + required: + - api_version + - kind + - id + - display_name + - connector_class + - connector_type + - upload_source + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteConnectV1CustomConnectorPlugin + summary: Delete a Custom Connector Plugin + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete a custom connector plugin. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the custom connector plugin. + tags: + - Custom Connector Plugins (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Custom Connector Plugin is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' '404': - $ref: '#/components/responses/connect.v1.ResourceNotFoundError' + $ref: '#/components/responses/NotFoundError' '429': $ref: '#/components/responses/RateLimitError' '500': - $ref: '#/components/responses/connect.v1.DefaultSystemError' + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /connect/v1/presigned-upload-url: + post: + summary: Request a presigned upload URL for a new Custom Connector Plugin. + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Request a presigned upload URL to upload a Custom Connector Plugin + archive. requestBody: content: application/json: schema: type: object - description: Configuration parameters for the connector. All values should be strings. + description: | + Request schema of the presigned upload URL. + properties: + api_version: + type: string + enum: + - connect/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PresignedUrlRequest + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + content_format: + type: string + example: ZIP + description: Archive format of the Custom Connector Plugin. + x-extensible-enum: + - JAR + - ZIP + cloud: + type: string + example: AWS + default: AWS + description: >- + Cloud provider where the Custom Connector Plugin archive is + uploaded. + x-extensible-enum: + - AWS + - GCP + - AZURE + required: + - content_format + x-lifecycle-stage: General Availability + x-self-access: true + x-name: connect.v1.PresignedUrl + operationId: presigned-upload-urlConnectV1PresignedUrl + tags: + - Presigned Urls (connect/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: Presigned Url. + content: + application/json: + schema: + type: object + description: >- + Request a presigned upload URL for new Custom Connector + Plugin. Note that + + the URL policy expires in one hour. If the policy expires, you + can request + + a new presigned upload URL. + + + Related guide: + + [Custom Connector Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Presigned Urls Model + + + properties: + api_version: + type: string + enum: + - connect/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PresignedUrl + content_format: + type: string + description: Content format of the Custom Connector Plugin archive. + example: ZIP + x-extensible-enum: + - ZIP + - JAR + readOnly: true + cloud: + type: string + description: >- + Cloud provider where the Custom Connector Plugin archive + is uploaded. + example: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + readOnly: true + upload_id: + type: string + description: Unique identifier of this upload. + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + readOnly: true + upload_url: + type: string + format: uri + description: Upload URL for the Custom Connector Plugin archive. + example: >- + https://confluent-custom-connectors-stag-us-west-2.s3.dualstack.us-west-2.amazonaws.com/ + readOnly: true + upload_form_data: + type: string + description: >- + Upload form data of the Custom Connector Plugin. All + values should be strings. (opaque JSON object) + example: + bucket: confluent-custom-connectors-stag-us-west-2 + key: >- + staging/custom-plugin/2f37f0b6-f8da-4e8b-bc5f-282ebb0511be/connect-e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66/plugin.zip + policy: string + x-amz-algorithm: AWS4-HMAC-SHA256 + x-amz-credential: string + x-amz-date: 20230725T013857Z + x-amz-security-token: string + x-amz-signature: string + readOnly: true + required: + - api_version + - kind + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /connect/v1/custom-connector-runtimes: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listConnectV1CustomConnectorRuntimes + summary: List of Custom Connector Runtimes + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all custom connector + runtimes. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Custom Connector Runtimes (connect/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Custom Connector Runtime. + content: + application/json: + schema: + type: object + description: >- + List of supported runtime languages for Custom Connector + Plugin. The list defines the supported + + entries for confluent.custom.connect.plugin.runtime attribute + in CustomConnectorPlugin object. + + Each entry also defines the set of supported java versions for + that runtime which can be specified during + + connector provisioning via the + confluent.custom.connect.plugin.java.version attribute. + + + + ## The Custom Connector Runtimes Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - connect/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectorRuntimeList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + List of supported runtime languages for Custom Connector + Plugin. The list defines the supported + + entries for confluent.custom.connect.plugin.runtime + attribute in CustomConnectorPlugin object. + + Each entry also defines the set of supported java + versions for that runtime which can be specified during + + connector provisioning via the + confluent.custom.connect.plugin.java.version attribute. + + + + ## The Custom Connector Runtimes Model + + + properties: + api_version: + type: string + enum: + - connect/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - CustomConnectorRuntime + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + custom_connect_plugin_runtime_name: + type: string + description: > + Name of the runtime that is being used while + provisioning a custom connector. This corresponds to + + the property custom.connect.plugin.runtime in the + connector configuration. + example: 3.9.0 + readOnly: true + runtime_ak_version: + type: string + description: >- + The underlying version of Apache Kafka which bundles + the connect runtime + example: 3.9.0 + readOnly: true + supported_java_versions: + type: array + description: List of supported Java versions + items: + type: string + example: + - '11' + - '17' + readOnly: true + product_maturity: + type: string + description: > + The product maturity phase for the plugin runtime. + + EA (Early Access), GA (Generally Available), or + Preview. + x-extensible-enum: + - EA + - GA + - PREVIEW + example: GA + readOnly: true + end_of_life_at: + type: string + format: date-time + description: End of Life date for the runtime + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: + type: string + description: Description of the runtime + example: >- + Custom Connector Plugin runtime using AK 3.9.0 and + supporting Java 11 and 17 + readOnly: true + required: + - id + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true +components: + schemas: + connect.v1.ConnectorWithOffsets: + type: object + properties: + name: + type: string + description: Name of the connector + config: + type: object + description: >- + Configuration parameters for the connector. These configurations + + are the minimum set of key-value pairs which can be used to + + define how the connector connects Kafka to the external system. + + Some of these key-value pairs are common to all the connectors, such + as + + connection parameters to Kafka, connector metadata, etc. The list + + of common connector configurations is as follows + + - cloud.environment + + - cloud.provider + + - connector.class + + - kafka.api.key + + - kafka.api.secret + + - kafka.endpoint + + - kafka.region + + - name + + A specific connector such as `GcsSink` would have additional + + parameters such as `gcs.bucket.name`, `flush.size`, etc. + required: + - cloud.environment + - cloud.provider + - connector.class + - name + - kafka.endpoint + - kafka.region + - kafka.api.key + - kafka.api.secret + properties: + cloud.environment: + type: string + description: The cloud environment type. + cloud.provider: + type: string + description: The cloud service provider, e.g. aws, azure, etc. + x-extensible-enum: + - aws + - azure + - gcp + connector.class: + type: string + description: The connector class name. E.g. BigQuerySink, GcsSink, etc. + name: + type: string + description: Name or alias of the class (plugin) for this connector. + kafka.endpoint: + type: string + description: The Kafka cluster endpoint. + kafka.region: + type: string + description: The Kafka cluster region. + kafka.api.key: + type: string + description: The Kafka cluster API key. + kafka.api.secret: + type: string + description: The Kafka cluster API secret. + x-redact: true + additionalProperties: + type: string + tasks: + type: array + description: List of active tasks generated by the connector + items: + type: object + properties: + connector: + type: string + description: The name of the connector the task belongs to + task: + type: integer + description: Task ID within the connector + required: + - connector + - task + type: + type: string + description: Type of connector, sink or source + enum: + - sink + - source + offsets: + $ref: '#/components/schemas/connect.v1.Offsets' + required: + - name + - config + connect.v1.Offsets: + type: array + description: Array of offsets which are categorised into partitions. + items: + type: object + properties: + partition: + type: object + additionalProperties: true + description: >- + The partition information. For sink connectors this is the kafka + topic and + + partition. For source connectors this is depends on the partitions + defined by the + + source connector. For example, the table which this task is + pulling data from in a + + JDBC based MySQL source connector. + + Please refer to the + [documentation](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + for + + more information. + offset: + type: object + additionalProperties: true + description: >- + The offset of the partition. For sink connectors this is the kafka + offset. For + + source connectors this is depends on the offset defined by the + source connector. + + For example, the timestamp and incrementing column info in a + table, for a JDBC based + + MySQL source connector. + + Please refer to the + [documentation](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) + for + + more information. + connect.v1.ConnectorExpansionMap: + type: object + additionalProperties: + $ref: '#/components/schemas/connect.v1.ConnectorExpansion' + connect.v1.Connector: + type: object + properties: + name: + type: string + description: Name of the connector + config: + type: object + description: |- + Configuration parameters for the connector. These configurations + are the minimum set of key-value pairs (KVP) which can be used to + define how the connector connects Kafka to the external system. + Some of these KVPs are common to all the connectors, such as + connection parameters to Kafka, connector metadata, etc. The list + of common connector configurations is as follows + + - cloud.environment + - cloud.provider + - connector.class + - kafka.api.key + - kafka.api.secret + - kafka.endpoint + - kafka.region + - name + + A specific connector such as `GcsSink` would have additional + parameters such as `gcs.bucket.name`, `flush.size`, etc. + required: + - cloud.environment + - cloud.provider + - connector.class + - name + - kafka.endpoint + - kafka.region + - kafka.api.key + - kafka.api.secret + properties: + cloud.environment: + type: string + description: The cloud environment type. + cloud.provider: + type: string + description: The cloud service provider, e.g. aws, azure, etc. + x-extensible-enum: + - aws + - azure + - gcp + connector.class: + type: string + description: The connector class name. E.g. BigQuerySink, GcsSink, etc. + name: + type: string + description: Name or alias of the class (plugin) for this connector. + kafka.endpoint: + type: string + description: The kafka cluster endpoint. + kafka.region: + type: string + description: The kafka cluster region. + kafka.api.key: + type: string + description: The kafka cluster api key. + kafka.api.secret: + type: string + description: The kafka cluster api secret key. + x-redact: true + additionalProperties: + type: string + tasks: + type: array + description: List of active tasks generated by the connector + items: + type: object + properties: + connector: + type: string + description: The name of the connector the task belongs to + task: + type: integer + description: Task ID within the connector + required: + - connector + - task + type: + type: string + description: Type of connector, sink or source + enum: + - sink + - source + required: + - name + - config + connect.v1.Connectors: + type: array + description: List of active task configs that have been created by the connector + items: + type: object + properties: + id: + type: object + description: The ID of task. + properties: + connector: + type: string + description: The name of the connector the task belongs to. + task: + type: integer + description: Task ID within the connector. + config: + type: object + description: |- + Configuration parameters for the connector. These configurations + are the minimum set of key-value pairs (KVP) which can be used to + define how the connector connects Kafka to the external system. + Some of these KVPs are common to all the connectors, such as + connection parameters to Kafka, connector metadata, etc. The list + of common connector configurations is as follows + + - cloud.environment + - cloud.provider + - connector.class + - kafka.api.key + - kafka.api.secret + - kafka.endpoint + - kafka.region + - name + + A specific connector such as `GcsSink` would have additional + parameters such as `gcs.bucket.name`, `flush.size`, etc. + required: + - cloud.environment + - cloud.provider + - connector.class + - name + - kafka.endpoint + - kafka.region + - kafka.api.key + - kafka.api.secret + properties: + cloud.environment: + type: string + description: The cloud environment type. + cloud.provider: + type: string + description: The cloud service provider, e.g. aws, azure, etc. + x-extensible-enum: + - aws + - azure + - gcp + connector.class: + type: string + description: The connector class name. E.g. BigQuerySink, GcsSink, etc. + name: + type: string + description: Name or alias of the class (plugin) for this connector. + kafka.endpoint: + type: string + description: The kafka cluster endpoint. + kafka.region: + type: string + description: The kafka cluster region. + kafka.api.key: + type: string + description: The kafka cluster api key. + kafka.api.secret: + type: string + description: The kafka cluster api secret key. + x-redact: true + additionalProperties: + type: string + connect.v1.ConnectorOffsets: + type: object + description: Offsets for a connector + properties: + name: + type: string + description: The name of the connector. + id: + type: string + description: The ID of the connector. + offsets: + $ref: '#/components/schemas/connect.v1.Offsets' + metadata: + type: object + description: Metadata of the connector offset. + properties: + observed_at: + type: string + format: date-time + example: '2024-02-20T15:14:19.000Z' + readOnly: true + description: >- + The time at which the offsets were observed. The time is in UTC, + ISO 8601 format. + connect.v1.AlterOffsetRequestInfo: + type: object + description: The request made to alter offsets. + properties: + id: + type: string + description: The ID of the connector. + name: + type: string + description: The name of the connector. + offsets: + $ref: '#/components/schemas/connect.v1.Offsets' + requested_at: + type: string + format: date-time + readOnly: true + example: '2024-02-20T15:14:19.000Z' + description: >- + The time at which the request was made. The time is in UTC, ISO 8601 + format. + type: + $ref: '#/components/schemas/connect.v1.AlterOffsetRequestType' + required: + - id + - name + - type + - requested_at + connect.v1.AlterOffsetRequest: + type: object + description: >- + Request to alter the offset of a connector. The offsets parameter is + options for DELETE type. + properties: + type: + $ref: '#/components/schemas/connect.v1.AlterOffsetRequestType' + offsets: + $ref: '#/components/schemas/connect.v1.Offsets' + required: + - type + connect.v1.AlterOffsetStatus: + type: object + description: >- + Status of the alter offset operation. The previous offsets in the + response + + is the offsets that the connector last processed, before the offsets + were altered, + + via a patch or delete operation. + properties: + request: + $ref: '#/components/schemas/connect.v1.AlterOffsetRequestInfo' + status: + type: object + description: The response of the alter offsets operation. + properties: + phase: + type: string + x-extensible-enum: + - PENDING + - PENDING_VALIDATION + - APPLIED + - FAILED + description: >- + The phase of the alter offset operation. + + + PENDING: The offset alter operation is in progress. + + + APPLIED: The offset alter operation has been applied to the + connector. + + + FAILED: The offset alter operation has failed to be applied to + the connector. + message: + type: string + description: An info message from the alter offset operation. + required: + - phase + previous_offsets: + $ref: '#/components/schemas/connect.v1.Offsets' + applied_at: + type: string + nullable: true + format: date-time + example: '2024-02-20T15:14:19.000Z' + readOnly: true + description: >- + The time at which the offsets were applied. The time is in UTC, ISO + 8601 format. + required: + - request + - status + SearchFilter: + description: Filter a collection by a string search + type: string + connect.v1.CustomConnectorPluginList: + type: object + description: >- + CustomConnectorPlugins objects represent Custom Connector Plugins on + Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Custom + Connector Plugins. + + Related guide: + + [Custom Connector Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Custom Connector Plugins Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - connect/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectorPluginList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + CustomConnectorPlugins objects represent Custom Connector Plugins + on Confluent Cloud. + + The API allows you to list, create, read, update, and delete your + Custom Connector Plugins. + + Related guide: + + [Custom Connector Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Custom Connector Plugins Model + + + properties: + api_version: + type: string + enum: + - connect/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectorPlugin + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + display_name: + type: string + description: Display name of Custom Connector Plugin. + maxLength: 60 + content_format: + type: string + example: ZIP + description: Archive format of Custom Connector Plugin. + x-extensible-enum: + - ZIP + - JAR + readOnly: true + description: + type: string + description: Description of Custom Connector Plugin. + maxLength: 256 + documentation_link: + maxLength: 512 + type: string + pattern: ^$|^(http://|https://).+ + example: https://github.com/confluentinc/kafka-connect-datagen + description: Document link of Custom Connector Plugin. + connector_class: + type: string + maxLength: 150 + pattern: >- + ^(([a-zA-Z][a-zA-Z_$0-9]*(\.[a-zA-Z][a-zA-Z_$0-9]*)*)\.)?([a-zA-Z][a-zA-Z_$0-9]*)$ + description: >- + Java class or alias for connector. You can get connector class + from connector documentation provided by developer. + example: io.confluent.kafka.connect.datagen.DatagenConnector + x-immutable: true + connector_type: + type: string + description: | + Custom Connector type. + example: SOURCE + x-extensible-enum: + - SOURCE + - SINK + x-immutable: true + cloud: + type: string + description: >- + Cloud provider where the Custom Connector Plugin archive is + uploaded. + example: AWS + default: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + x-immutable: true + sensitive_config_properties: + type: array + description: > + A sensitive property is a connector configuration property + that must be hidden after a user enters property + + value when setting up connector. + items: + type: string + pattern: ^[\w\+\.-]+$ + maxLength: 150 + example: + - passwords + - keys + - tokens + upload_source: + type: object + description: >- + Upload source of Custom Connector Plugin. Only required in + `create` request, will be ignored in `read`, `update` or + `list`. + discriminator: + propertyName: location + mapping: + PRESIGNED_URL_LOCATION: '#/components/schemas/connect.v1.UploadSource.PresignedUrl' + properties: + location: + type: string + description: | + Location of the Custom Connector Plugin source. + x-extensible-enum: + - PRESIGNED_URL_LOCATION + example: PRESIGNED_URL_LOCATION + upload_id: + type: string + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + description: >- + Upload ID returned by the `/presigned-upload-url` API. + This field returns an empty string in all responses. + required: + - location + - upload_id + runtime_language: + type: string + example: JAVA + default: JAVA + description: Runtime language of Custom Connector Plugin. + x-extensible-enum: + - JAVA + - PYTHON + required: + - id + - metadata + - display_name + - connector_class + - connector_type + - upload_source + uniqueItems: true + connect.v1.CustomConnectorPlugin: + type: object + description: >- + CustomConnectorPlugins objects represent Custom Connector Plugins on + Confluent Cloud. + + The API allows you to list, create, read, update, and delete your Custom + Connector Plugins. + + Related guide: + + [Custom Connector Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Custom Connector Plugins Model + + + properties: + api_version: + type: string + enum: + - connect/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectorPlugin + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + display_name: + type: string + description: Display name of Custom Connector Plugin. + maxLength: 60 + content_format: + type: string + example: ZIP + description: Archive format of Custom Connector Plugin. + x-extensible-enum: + - ZIP + - JAR + readOnly: true + description: + type: string + description: Description of Custom Connector Plugin. + maxLength: 256 + documentation_link: + maxLength: 512 + type: string + pattern: ^$|^(http://|https://).+ + example: https://github.com/confluentinc/kafka-connect-datagen + description: Document link of Custom Connector Plugin. + connector_class: + type: string + maxLength: 150 + pattern: >- + ^(([a-zA-Z][a-zA-Z_$0-9]*(\.[a-zA-Z][a-zA-Z_$0-9]*)*)\.)?([a-zA-Z][a-zA-Z_$0-9]*)$ + description: >- + Java class or alias for connector. You can get connector class from + connector documentation provided by developer. + example: io.confluent.kafka.connect.datagen.DatagenConnector + x-immutable: true + connector_type: + type: string + description: | + Custom Connector type. + example: SOURCE + x-extensible-enum: + - SOURCE + - SINK + x-immutable: true + cloud: + type: string + description: >- + Cloud provider where the Custom Connector Plugin archive is + uploaded. + example: AWS + default: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + x-immutable: true + sensitive_config_properties: + type: array + description: > + A sensitive property is a connector configuration property that must + be hidden after a user enters property + + value when setting up connector. + items: + type: string + pattern: ^[\w\+\.-]+$ + maxLength: 150 + example: + - passwords + - keys + - tokens + upload_source: + type: object + description: >- + Upload source of Custom Connector Plugin. Only required in `create` + request, will be ignored in `read`, `update` or `list`. + discriminator: + propertyName: location + mapping: + PRESIGNED_URL_LOCATION: '#/components/schemas/connect.v1.UploadSource.PresignedUrl' + properties: + location: + type: string + description: | + Location of the Custom Connector Plugin source. + x-extensible-enum: + - PRESIGNED_URL_LOCATION + example: PRESIGNED_URL_LOCATION + upload_id: + type: string + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + description: >- + Upload ID returned by the `/presigned-upload-url` API. This + field returns an empty string in all responses. + required: + - location + - upload_id + runtime_language: + type: string + example: JAVA + default: JAVA + description: Runtime language of Custom Connector Plugin. + x-extensible-enum: + - JAVA + - PYTHON + connect.v1.PresignedUrlRequest: + type: object + description: | + Request schema of the presigned upload URL. + properties: + api_version: + type: string + enum: + - connect/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PresignedUrlRequest + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + content_format: + type: string + example: ZIP + description: Archive format of the Custom Connector Plugin. + x-extensible-enum: + - JAR + - ZIP + cloud: + type: string + example: AWS + default: AWS + description: >- + Cloud provider where the Custom Connector Plugin archive is + uploaded. + x-extensible-enum: + - AWS + - GCP + - AZURE + connect.v1.PresignedUrl: + type: object + description: >- + Request a presigned upload URL for new Custom Connector Plugin. Note + that + + the URL policy expires in one hour. If the policy expires, you can + request + + a new presigned upload URL. + + + Related guide: + + [Custom Connector Plugin + API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + + + ## The Presigned Urls Model + + + properties: + api_version: + type: string + enum: + - connect/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PresignedUrl + content_format: + type: string + description: Content format of the Custom Connector Plugin archive. + example: ZIP + x-extensible-enum: + - ZIP + - JAR + readOnly: true + cloud: + type: string + description: >- + Cloud provider where the Custom Connector Plugin archive is + uploaded. + example: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + readOnly: true + upload_id: + type: string + description: Unique identifier of this upload. + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + readOnly: true + upload_url: + type: string + format: uri + description: Upload URL for the Custom Connector Plugin archive. + example: >- + https://confluent-custom-connectors-stag-us-west-2.s3.dualstack.us-west-2.amazonaws.com/ + readOnly: true + upload_form_data: + type: string + description: >- + Upload form data of the Custom Connector Plugin. All values should + be strings. (opaque JSON object) + example: + bucket: confluent-custom-connectors-stag-us-west-2 + key: >- + staging/custom-plugin/2f37f0b6-f8da-4e8b-bc5f-282ebb0511be/connect-e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66/plugin.zip + policy: string + x-amz-algorithm: AWS4-HMAC-SHA256 + x-amz-credential: string + x-amz-date: 20230725T013857Z + x-amz-security-token: string + x-amz-signature: string + readOnly: true + connect.v1.CustomConnectorRuntimeList: + type: object + description: >- + List of supported runtime languages for Custom Connector Plugin. The + list defines the supported + + entries for confluent.custom.connect.plugin.runtime attribute in + CustomConnectorPlugin object. + + Each entry also defines the set of supported java versions for that + runtime which can be specified during + + connector provisioning via the + confluent.custom.connect.plugin.java.version attribute. + + + + ## The Custom Connector Runtimes Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - connect/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectorRuntimeList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + List of supported runtime languages for Custom Connector Plugin. + The list defines the supported + + entries for confluent.custom.connect.plugin.runtime attribute in + CustomConnectorPlugin object. + + Each entry also defines the set of supported java versions for + that runtime which can be specified during + + connector provisioning via the + confluent.custom.connect.plugin.java.version attribute. + + + + ## The Custom Connector Runtimes Model + + + properties: + api_version: + type: string + enum: + - connect/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectorRuntime + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + custom_connect_plugin_runtime_name: + type: string + description: > + Name of the runtime that is being used while provisioning a + custom connector. This corresponds to + + the property custom.connect.plugin.runtime in the connector + configuration. + example: 3.9.0 + readOnly: true + runtime_ak_version: + type: string + description: >- + The underlying version of Apache Kafka which bundles the + connect runtime + example: 3.9.0 + readOnly: true + supported_java_versions: + type: array + description: List of supported Java versions + items: + type: string + example: + - '11' + - '17' + readOnly: true + product_maturity: + type: string + description: | + The product maturity phase for the plugin runtime. + EA (Early Access), GA (Generally Available), or Preview. + x-extensible-enum: + - EA + - GA + - PREVIEW + example: GA + readOnly: true + end_of_life_at: + type: string + format: date-time + description: End of Life date for the runtime + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: + type: string + description: Description of the runtime + example: >- + Custom Connector Plugin runtime using AK 3.9.0 and supporting + Java 11 and 17 + readOnly: true + required: + - id + uniqueItems: true + connect.v1.ConnectorError: + type: object + properties: + error: + type: object + description: Connector Error with error code and message. + properties: + code: + type: integer + description: Error code for the type of error + message: + type: string + description: Human readable error message + connect.v1.ConnectorExpansion: + type: object + description: Name of connector + properties: + id: + type: object + description: The ID of connector. + properties: + id: + type: string + description: The ID of the connector. + id_type: + type: string + description: Type of the value in the `id` property. + info: + type: object + description: Metadata of the connector. + properties: + name: + type: string + description: Name of the connector. + config: + type: object + description: >- + Configuration parameters for the connector. These configurations + + are the minimum set of key-value pairs (KVP) which are used to + + define how the connector connects Kafka to the external system. + + Some of these KVPs are common to all the connectors, such as + + connection parameters to Kafka, connector metadata, etc. The + list + + of common connector configurations is as follows + + - cloud.environment + - cloud.provider + - connector.class + - kafka.api.key + - kafka.api.secret + - kafka.endpoint + - kafka.region + - name + + For example, a connector like `GcsSink` would have additional + + parameters such as `gcs.bucket.name`, `flush.size`, etc. + required: + - cloud.environment + - cloud.provider + - connector.class + - name + - kafka.endpoint + - kafka.region + - kafka.api.key + - kafka.api.secret + properties: + cloud.environment: + type: string + description: The cloud environment type. + cloud.provider: + type: string + description: The cloud service provider, e.g. aws, azure, etc. + x-extensible-enum: + - aws + - azure + - gcp + connector.class: + type: string + description: The connector class name. E.g. BigQuerySink, GcsSink, etc. + name: + type: string + description: Name or alias of the class (plugin) for this connector. + kafka.endpoint: + type: string + description: The kafka cluster endpoint. + kafka.region: + type: string + description: The kafka cluster region. + kafka.api.key: + type: string + description: The kafka cluster api key. + kafka.api.secret: + type: string + description: The kafka cluster api secret key. + x-redact: true additionalProperties: type: string - description: Other configuration parameters for the connector. All values should be strings. See the connector's docs for the list of options. - example: - cloud.environment: prod - cloud.provider: aws - connector.class: GcsSink - data.format: BYTES - flush.size: '500' - gcs.bucket.name: APILogsBucket - gcs.credentials.config: '****************' - kafka.api.key: '****************' - kafka.api.secret: '****************' - kafka.endpoint: 'SASL_SSL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092' - kafka.region: us-west-2 - name: MyGcsLogsBucketConnector - tasks.max: '2' - time.interval: DAILY - topics: APILogsTopic - description: Configuration parameters for the connector. All values should be strings. - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins/{plugin_name}/config/validate' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"property1":"string","property2":"string"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"property1\":\"string\",\"property2\":\"string\"}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins/{plugin_name}/config/validate") - .put(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins/{plugin_name}/config/validate\"\n\n\tpayload := strings.NewReader(\"{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"property1\":\"string\",\"property2\":\"string\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PUT", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins/{plugin_name}/config/validate", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins/{plugin_name}/config/validate", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({property1: 'string', property2: 'string'})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins/{plugin_name}/config/validate"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"property1\":\"string\",\"property2\":\"string\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connector-plugins/{plugin_name}/config/validate"); - var request = new RestRequest(Method.PUT); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"property1\":\"string\",\"property2\":\"string\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - parameters: - - name: plugin_name - in: path - schema: - type: string - required: true - description: The unique name of the connector plugin. - - name: environment_id - in: path - schema: - type: string - required: true - description: The unique identifier of the environment this resource belongs to. - - name: kafka_cluster_id - in: path - schema: - type: string - required: true - description: The unique identifier for the Kafka cluster. - '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets': - get: - operationId: getConnectv1ConnectorOffsets - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + status: + type: object + description: Status of the connector and its tasks. + properties: + name: + type: string + description: The name of the connector. + type: + type: string + description: Type of connector, sink or source. + enum: + - sink + - source + connector: + type: object + description: A map containing connector status. + required: + - state + - worker_id + properties: + state: + type: string + description: The state of the connector. + enum: + - NONE + - PROVISIONING + - RUNNING + - DEGRADED + - FAILED + - PAUSED + - DELETED + worker_id: + type: string + description: The worker ID of the connector. + trace: + type: string + description: Exception message in case of an error. + tasks: + type: array + description: A map containing the task status. + items: + type: object + properties: + id: + type: integer + description: The ID of task. + state: + type: string + description: The state of the task. + worker_id: + type: string + description: The worker ID of the task. + msg: + type: string + required: + - id + - state + - worker_id + required: + - name + - type + - connector + connect.v1.AlterOffsetRequestType: + type: string + enum: + - PATCH + - DELETE + description: >- + The type of alter operation. PATCH will update the offset to the + provided values. - Get the current offsets for the connector. The offsets provide information on the point in the source system, - from which the connector is pulling in data. The offsets of a connector are continuously observed periodically and are queryable via this API. - summary: Get a Connector Offsets - tags: - - Offsets (connect/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Connector Offsets. - content: - application/json: - schema: - $ref: '#/components/schemas/connect.v1.ConnectorOffsets' - examples: - sink: - value: - id: lcc-as341 - name: MysqlSinkConnector - offsets: - - partition: - kafka_partition: 0 - kafka_topic: topic_A - offset: - kafka_offset: 20032323 - - partition: - kafka_partition: 1 - kafka_topic: topic_B - offset: - kafka_offset: 20032322 - metadata: - observed_at: '2024-02-20T15:14:19Z' - source: - value: - id: lcc-21sdda - name: MysqlSourceConnector - offsets: - - partition: - protocol: 1 - table: sourcedb.sourcetable - offset: - timestamp_nanos: 0 - incrementing: 3 - timestamp: 1699142400000 - metadata: - observed_at: '2024-02-20T15:14:19Z' - '400': - $ref: '#/components/responses/connect.v1.BadRequestError' - '401': - $ref: '#/components/responses/connect.v1.UnauthenticatedError' - '403': - $ref: '#/components/responses/connect.v1.ForbiddenError' - '404': - $ref: '#/components/responses/connect.v1.ResourceNotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/connect.v1.DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - name: connector_name - in: path - schema: - type: string - required: true - description: The unique name of the connector. - - name: environment_id - in: path - schema: - type: string - required: true - description: The unique identifier of the environment this resource belongs to. - - name: kafka_cluster_id - in: path - schema: - type: string - required: true - description: The unique identifier for the Kafka cluster. - '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request': - post: - operationId: alterConnectv1ConnectorOffsetsRequest - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The update will only happen for the partitions provided in the request. + + DELETE will delete the offset for the provided partitions and reset them + back to the + + base state. It is as if, a fresh new connector was created. + + + For sink connectors PATCH/DELETE will move the offsets to the provided + point in the + + topic partition. If the offset provided is not present in the topic + partition it will + + by default reset to the earliest offset in the topic partition. + + + For source connectors, post PATCH/DELETE the connector will attempt to + read from the + + position defined in the altered offsets. + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not contain + a first link, then direct navigation to the first page is not + supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not contain a + last link, then direct navigation to the last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not contain a + next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + Failure: + type: object + description: >- + Provides information about problems encountered while performing an + operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + ObjectMeta: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. It + is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + connect.v1.UploadSource.PresignedUrl: + type: object + description: Presigned URL of the uploaded Custom Connector Plugin archive. + properties: + location: + type: string + description: | + Location of the Custom Connector Plugin source. + x-extensible-enum: + - PRESIGNED_URL_LOCATION + example: PRESIGNED_URL_LOCATION + upload_id: + type: string + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + description: >- + Upload ID returned by the `/presigned-upload-url` API. This field + returns an empty string in all responses. + required: + - location + - upload_id + connect.v1.CustomConnectorRuntime: + type: object + description: >- + List of supported runtime languages for Custom Connector Plugin. The + list defines the supported - Request to alter the offsets of a connector. This supports the ability to PATCH/DELETE the offsets of a connector. - Note, you will see momentary downtime as this will internally stop the connector, while the offsets are being altered. - You can only make one alter offsets request at a time for a connector. - summary: Request to Alter the Connector Offsets - tags: - - Offsets (connect/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '202': - description: Accepted - content: - application/json: - schema: - $ref: '#/components/schemas/connect.v1.AlterOffsetRequestInfo' - examples: - patch: - value: - id: lcc-sa32er - name: MySinkConnector - offsets: - - partition: - kafka_partition: 0 - kafka_topic: topic_A - offset: - kafka_offset: 1000 - requested_at: '2024-02-20T15:14:19Z' - type: PATCH - delete: - value: - id: lcc-234ds - name: MySourceConnector - offsets: [] - requested_at: '2024-02-20T15:14:19Z' - type: DELETE - '400': - $ref: '#/components/responses/connect.v1.BadRequestError' - '401': - $ref: '#/components/responses/connect.v1.UnauthenticatedError' - '403': - $ref: '#/components/responses/connect.v1.ForbiddenError' - '404': - $ref: '#/components/responses/connect.v1.ResourceNotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/connect.v1.DefaultSystemError' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/connect.v1.AlterOffsetRequest' - examples: - patch sink: - value: - type: PATCH - offsets: - - partition: - kafka_partition: 0 - kafka_topic: topic_A - offset: - kafka_offset: 1000 - patch source: - value: - type: PATCH - offsets: - - partition: - protocol: 1 - table: sourcedb.sourcetable - offset: - timestamp_nanos: 0 - incrementing: 3 - timestamp: 1699000000000 - delete: - value: - type: DELETE - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"type":"PATCH","offsets":[{"partition":{},"offset":{}}]}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"type\":\"PATCH\",\"offsets\":[{\"partition\":{},\"offset\":{}}]}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request\"\n\n\tpayload := strings.NewReader(\"{\\\"type\\\":\\\"PATCH\\\",\\\"offsets\\\":[{\\\"partition\\\":{},\\\"offset\\\":{}}]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"type\":\"PATCH\",\"offsets\":[{\"partition\":{},\"offset\":{}}]}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({type: 'PATCH', offsets: [{partition: {}, offset: {}}]})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"type\":\"PATCH\",\"offsets\":[{\"partition\":{},\"offset\":{}}]}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"type\":\"PATCH\",\"offsets\":[{\"partition\":{},\"offset\":{}}]}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - parameters: - - name: connector_name - in: path - schema: - type: string - required: true - description: The unique name of the connector. - - name: environment_id - in: path - schema: - type: string - required: true - description: The unique identifier of the environment this resource belongs to. - - name: kafka_cluster_id - in: path - schema: - type: string - required: true - description: The unique identifier for the Kafka cluster. - '/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request/status': - get: - operationId: getConnectv1ConnectorOffsetsRequestStatus - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + entries for confluent.custom.connect.plugin.runtime attribute in + CustomConnectorPlugin object. - Get the status of the previous alter offset request. - summary: Get the Status of Alter Offset Request - tags: - - Offsets (connect/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Connector Offsets Request Status. - content: - application/json: - schema: - $ref: '#/components/schemas/connect.v1.AlterOffsetStatus' - examples: - sink - pending patch operation: - value: - request: - id: lcc-sa32er - name: MySinkConnector - offsets: - - partition: - kafka_partition: 0 - kafka_topic: topic_A - offset: - kafka_offset: 1000 - requested_at: '2024-02-20T15:14:19Z' - type: PATCH - status: - phase: PENDING - applied_at: null - source - applied patch operation: - value: - request: - id: lcc-x1sdfs - name: MySourceConnector - offsets: - - partition: - protocol: 1 - table: sourcedb.sourcetable - offset: - timestamp_nanos: 0 - incrementing: 3 - timestamp: 1699000000000 - requested_at: '2024-02-20T15:14:19Z' - type: PATCH - status: - phase: APPLIED - message: 'The Connect framework-managed offsets for this connector have been altered successfully. However, if this connector manages offsets externally, they will need to be altered manually in the system that the connector uses.' - previous_offsets: - - partition: - protocol: 1 - table: sourcedb.sourcetable - offset: - timestamp_nanos: 0 - incrementing: 2 - timestamp: 1698329479943 - applied_at: '2024-02-20T15:14:20+0000' - delete: - value: - request: - id: lcc-234ds - name: MySourceConnector - offsets: [] - requested_at: '2024-02-20T15:14:19Z' - type: DELETE - status: - phase: APPLIED - message: 'The Connect framework-managed offsets for this connector have been reset successfully. However, if this connector manages offsets externally, they will need to be reset manually in the system that the connector uses.' - previous_offsets: - - partition: - protocol: 1 - table: sourcedb.sourcetable - offset: - timestamp_nanos: 0 - incrementing: 2 - timestamp: 1698329479943 - applied_at: '2024-02-20T15:14:20Z' - '400': - $ref: '#/components/responses/connect.v1.BadRequestError' - '401': - $ref: '#/components/responses/connect.v1.UnauthenticatedError' - '403': - $ref: '#/components/responses/connect.v1.ForbiddenError' - '404': - $ref: '#/components/responses/connect.v1.ResourceNotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/connect.v1.DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request/status' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request/status") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request/status\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request/status", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request/status", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request/status"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/connect/v1/environments/{environment_id}/clusters/{kafka_cluster_id}/connectors/{connector_name}/offsets/request/status"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - name: connector_name - in: path - schema: + Each entry also defines the set of supported java versions for that + runtime which can be specified during + + connector provisioning via the + confluent.custom.connect.plugin.java.version attribute. + + + + ## The Custom Connector Runtimes Model + + + properties: + api_version: + type: string + enum: + - connect/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CustomConnectorRuntime + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + custom_connect_plugin_runtime_name: + type: string + description: > + Name of the runtime that is being used while provisioning a custom + connector. This corresponds to + + the property custom.connect.plugin.runtime in the connector + configuration. + example: 3.9.0 + readOnly: true + runtime_ak_version: + type: string + description: >- + The underlying version of Apache Kafka which bundles the connect + runtime + example: 3.9.0 + readOnly: true + supported_java_versions: + type: array + description: List of supported Java versions + items: type: string - required: true - description: The unique name of the connector. - - name: environment_id - in: path + example: + - '11' + - '17' + readOnly: true + product_maturity: + type: string + description: | + The product maturity phase for the plugin runtime. + EA (Early Access), GA (Generally Available), or Preview. + x-extensible-enum: + - EA + - GA + - PREVIEW + example: GA + readOnly: true + end_of_life_at: + type: string + format: date-time + description: End of Life date for the runtime + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: + type: string + description: Description of the runtime + example: >- + Custom Connector Plugin runtime using AK 3.9.0 and supporting Java + 11 and 17 + readOnly: true + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. + type: string + code: + description: An application-specific error code, expressed as a string value. + type: string + title: + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. + type: string + detail: + description: >- + A human-readable explanation specific to this occurrence of the + problem. + type: string + source: + type: object + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. + properties: + pointer: + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + responses: + connect.v1.UnauthenticatedError: + description: Unauthorized + content: + application/json: schema: - type: string - required: true - description: The unique identifier of the environment this resource belongs to. - - name: kafka_cluster_id - in: path + $ref: '#/components/schemas/connect.v1.ConnectorError' + example: + error: + code: 401 + message: Unauthorized + connect.v1.AccountNotFoundError: + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.ConnectorError' + example: + error: + code: 404 + message: account not found + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: schema: type: string - required: true - description: The unique identifier for the Kafka cluster. - /connect/v1/custom-connector-plugins: - get: - operationId: listConnectV1CustomConnectorPlugins - summary: List of Custom Connector Plugins - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all custom connector plugins. - - If no `cloud` filter is specified, returns custom connector plugins from all clouds. - parameters: - - name: cloud - in: query - required: false + description: The unique identifier for the API request. + X-RateLimit-Limit: schema: - $ref: '#/components/schemas/SearchFilter' - example: AWS - description: Filter the results by exact match for cloud. - - name: page_size - in: query - required: false + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: schema: type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Custom Connector Plugins (connect/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Custom Connector Plugin. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/connect.v1.CustomConnectorPluginList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/connect/v1/custom-connector-plugins?cloud=AWS' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/connect/v1/custom-connector-plugins?cloud=AWS") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/custom-connector-plugins?cloud=AWS\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/connect/v1/custom-connector-plugins?cloud=AWS", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/connect/v1/custom-connector-plugins?cloud=AWS", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/custom-connector-plugins?cloud=AWS"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/connect/v1/custom-connector-plugins?cloud=AWS"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createConnectV1CustomConnectorPlugin - summary: Create a Custom Connector Plugin - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to create a custom connector plugin. - tags: - - Custom Connector Plugins (connect/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/connect.v1.CustomConnectorPlugin' - - type: object - required: - - display_name - - connector_class - - connector_type - - upload_source - responses: - '201': - description: A Custom Connector Plugin was created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. + Retry-After: + schema: + type: integer + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. + connect.v1.DefaultSystemError: + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.ConnectorError' + example: + error: + code: 500 + message: Oops, something went wrong + connect.v1.BadRequestError: + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.ConnectorError' + example: + error: + code: 400 + message: Bad Request + connect.v1.OK: + description: OK + content: + application/json: + schema: + type: object + properties: + error: type: string - format: uri - example: 'https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}' - description: CustomConnectorPlugin resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/connect.v1.CustomConnectorPlugin' - - type: object - required: - - display_name - - connector_class - - connector_type - - upload_source - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/connect/v1/custom-connector-plugins \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"display_name":"string","description":"string","documentation_link":"https://github.com/confluentinc/kafka-connect-datagen","connector_class":"io.confluent.kafka.connect.datagen.DatagenConnector","connector_type":"SOURCE","cloud":"AWS","sensitive_config_properties":["passwords","keys","tokens"],"upload_source":{"location":"PRESIGNED_URL_LOCATION","upload_id":"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66"}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"string\",\"description\":\"string\",\"documentation_link\":\"https://github.com/confluentinc/kafka-connect-datagen\",\"connector_class\":\"io.confluent.kafka.connect.datagen.DatagenConnector\",\"connector_type\":\"SOURCE\",\"cloud\":\"AWS\",\"sensitive_config_properties\":[\"passwords\",\"keys\",\"tokens\"],\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/connect/v1/custom-connector-plugins") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/custom-connector-plugins\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"documentation_link\\\":\\\"https://github.com/confluentinc/kafka-connect-datagen\\\",\\\"connector_class\\\":\\\"io.confluent.kafka.connect.datagen.DatagenConnector\\\",\\\"connector_type\\\":\\\"SOURCE\\\",\\\"cloud\\\":\\\"AWS\\\",\\\"sensitive_config_properties\\\":[\\\"passwords\\\",\\\"keys\\\",\\\"tokens\\\"],\\\"upload_source\\\":{\\\"location\\\":\\\"PRESIGNED_URL_LOCATION\\\",\\\"upload_id\\\":\\\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\\\"}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"display_name\":\"string\",\"description\":\"string\",\"documentation_link\":\"https://github.com/confluentinc/kafka-connect-datagen\",\"connector_class\":\"io.confluent.kafka.connect.datagen.DatagenConnector\",\"connector_type\":\"SOURCE\",\"cloud\":\"AWS\",\"sensitive_config_properties\":[\"passwords\",\"keys\",\"tokens\"],\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/connect/v1/custom-connector-plugins", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/connect/v1/custom-connector-plugins", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - display_name: 'string', - description: 'string', - documentation_link: 'https://github.com/confluentinc/kafka-connect-datagen', - connector_class: 'io.confluent.kafka.connect.datagen.DatagenConnector', - connector_type: 'SOURCE', - cloud: 'AWS', - sensitive_config_properties: ['passwords', 'keys', 'tokens'], - upload_source: { - location: 'PRESIGNED_URL_LOCATION', - upload_id: 'e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66' - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/custom-connector-plugins"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"string\",\"description\":\"string\",\"documentation_link\":\"https://github.com/confluentinc/kafka-connect-datagen\",\"connector_class\":\"io.confluent.kafka.connect.datagen.DatagenConnector\",\"connector_type\":\"SOURCE\",\"cloud\":\"AWS\",\"sensitive_config_properties\":[\"passwords\",\"keys\",\"tokens\"],\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/connect/v1/custom-connector-plugins"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"display_name\":\"string\",\"description\":\"string\",\"documentation_link\":\"https://github.com/confluentinc/kafka-connect-datagen\",\"connector_class\":\"io.confluent.kafka.connect.datagen.DatagenConnector\",\"connector_type\":\"SOURCE\",\"cloud\":\"AWS\",\"sensitive_config_properties\":[\"passwords\",\"keys\",\"tokens\"],\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/connect/v1/custom-connector-plugins/{id}': - get: - operationId: getConnectV1CustomConnectorPlugin - summary: Read a Custom Connector Plugin - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read a custom connector plugin. - parameters: - - name: id - in: path - required: true + nullable: true + description: (opaque JSON object) + example: + error: null + connect.v1.ResourceNotFoundError: + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.ConnectorError' + example: + error: + code: 404 + message: resource not found + connect.v1.ForbiddenError: + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/connect.v1.ConnectorError' + example: + error: + code: 403 + message: Forbidden + BadRequestError: + description: Bad Request + headers: + X-Request-Id: schema: type: string - description: The unique identifier for the custom connector plugin. - tags: - - Custom Connector Plugins (connect/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Custom Connector Plugin. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/connect.v1.CustomConnectorPlugin' - - type: object - required: - - api_version - - kind - - id - - display_name - - connector_class - - connector_type - - upload_source - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/connect/v1/custom-connector-plugins/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/connect/v1/custom-connector-plugins/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateConnectV1CustomConnectorPlugin - summary: Update a Custom Connector Plugin - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to update a custom connector plugin. - - parameters: - - name: id - in: path - required: true + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: schema: type: string - description: The unique identifier for the custom connector plugin. - tags: - - Custom Connector Plugins (connect/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/connect.v1.CustomConnectorPluginUpdate' - responses: - '200': - description: Custom Connector Plugin. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/connect.v1.CustomConnectorPlugin' - - type: object - required: - - api_version - - kind - - id - - display_name - - connector_class - - connector_type - - upload_source - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"display_name":"string","description":"string","documentation_link":"https://github.com/confluentinc/kafka-connect-datagen","connector_class":"io.confluent.kafka.connect.datagen.DatagenConnector","connector_type":"SOURCE","cloud":"AWS","sensitive_config_properties":["passwords","keys","tokens"],"upload_source":{"location":"PRESIGNED_URL_LOCATION","upload_id":"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66"}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"string\",\"description\":\"string\",\"documentation_link\":\"https://github.com/confluentinc/kafka-connect-datagen\",\"connector_class\":\"io.confluent.kafka.connect.datagen.DatagenConnector\",\"connector_type\":\"SOURCE\",\"cloud\":\"AWS\",\"sensitive_config_properties\":[\"passwords\",\"keys\",\"tokens\"],\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"string\\\",\\\"description\\\":\\\"string\\\",\\\"documentation_link\\\":\\\"https://github.com/confluentinc/kafka-connect-datagen\\\",\\\"connector_class\\\":\\\"io.confluent.kafka.connect.datagen.DatagenConnector\\\",\\\"connector_type\\\":\\\"SOURCE\\\",\\\"cloud\\\":\\\"AWS\\\",\\\"sensitive_config_properties\\\":[\\\"passwords\\\",\\\"keys\\\",\\\"tokens\\\"],\\\"upload_source\\\":{\\\"location\\\":\\\"PRESIGNED_URL_LOCATION\\\",\\\"upload_id\\\":\\\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\\\"}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"display_name\":\"string\",\"description\":\"string\",\"documentation_link\":\"https://github.com/confluentinc/kafka-connect-datagen\",\"connector_class\":\"io.confluent.kafka.connect.datagen.DatagenConnector\",\"connector_type\":\"SOURCE\",\"cloud\":\"AWS\",\"sensitive_config_properties\":[\"passwords\",\"keys\",\"tokens\"],\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/connect/v1/custom-connector-plugins/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/connect/v1/custom-connector-plugins/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - display_name: 'string', - description: 'string', - documentation_link: 'https://github.com/confluentinc/kafka-connect-datagen', - connector_class: 'io.confluent.kafka.connect.datagen.DatagenConnector', - connector_type: 'SOURCE', - cloud: 'AWS', - sensitive_config_properties: ['passwords', 'keys', 'tokens'], - upload_source: { - location: 'PRESIGNED_URL_LOCATION', - upload_id: 'e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66' - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"string\",\"description\":\"string\",\"documentation_link\":\"https://github.com/confluentinc/kafka-connect-datagen\",\"connector_class\":\"io.confluent.kafka.connect.datagen.DatagenConnector\",\"connector_type\":\"SOURCE\",\"cloud\":\"AWS\",\"sensitive_config_properties\":[\"passwords\",\"keys\",\"tokens\"],\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"display_name\":\"string\",\"description\":\"string\",\"documentation_link\":\"https://github.com/confluentinc/kafka-connect-datagen\",\"connector_class\":\"io.confluent.kafka.connect.datagen.DatagenConnector\",\"connector_type\":\"SOURCE\",\"cloud\":\"AWS\",\"sensitive_config_properties\":[\"passwords\",\"keys\",\"tokens\"],\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteConnectV1CustomConnectorPlugin - summary: Delete a Custom Connector Plugin - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to delete a custom connector plugin. - parameters: - - name: id - in: path - required: true + description: The unique identifier for the API request. + WWW-Authenticate: schema: type: string - description: The unique identifier for the custom connector plugin. - tags: - - Custom Connector Plugins (connect/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A Custom Connector Plugin is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/connect/v1/custom-connector-plugins/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/connect/v1/custom-connector-plugins/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/connect/v1/custom-connector-plugins/{id}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /connect/v1/presigned-upload-url: - post: - summary: Request a presigned upload URL for a new Custom Connector Plugin. - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Request a presigned upload URL to upload a Custom Connector Plugin archive. - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/connect.v1.PresignedUrlRequest' - - type: object - required: - - content_format - x-name: connect.v1.PresignedUrl - operationId: presigned-upload-urlConnectV1PresignedUrl - tags: - - Presigned Urls (connect/v1) - security: - - cloud-api-key: [] - responses: - '200': - description: Presigned Url. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/connect.v1.PresignedUrl' - - type: object - required: - - api_version - - kind - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/connect/v1/presigned-upload-url \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"content_format":"ZIP","cloud":"AWS"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"content_format\":\"ZIP\",\"cloud\":\"AWS\"}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/connect/v1/presigned-upload-url") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/connect/v1/presigned-upload-url\"\n\n\tpayload := strings.NewReader(\"{\\\"content_format\\\":\\\"ZIP\\\",\\\"cloud\\\":\\\"AWS\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"content_format\":\"ZIP\",\"cloud\":\"AWS\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/connect/v1/presigned-upload-url", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/connect/v1/presigned-upload-url", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({content_format: 'ZIP', cloud: 'AWS'})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/connect/v1/presigned-upload-url"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"content_format\":\"ZIP\",\"cloud\":\"AWS\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/connect/v1/presigned-upload-url"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"content_format\":\"ZIP\",\"cloud\":\"AWS\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); + description: The unique identifier for the API request. + example: >- + Basic error="invalid_key", error_description="The API Key is + invalid" + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: >- + The user 'mcfly' is not allowed to access the 'delorean' + resource without the 'plutonium' role. + DefaultSystemError: + description: Oops, something went wrong! + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/{object}/{id} + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: >- + The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already + exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + x-stackQL-resources: + connectors: + id: confluent.connect.connectors + name: connectors + title: Connectors + methods: + list_connectv1_connectors: + operation: + $ref: >- + #/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $ + create_connectv1_connector: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors/post + response: + mediaType: application/json + openAPIDocKey: '201' + list_connectv1_connectors_with_expansions: + operation: + $ref: >- + #/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors?expand=info,status,id/get + response: + mediaType: application/json + openAPIDocKey: '200' + read_connectv1_connector: + operation: + $ref: >- + #/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}/get + response: + mediaType: application/json + openAPIDocKey: '200' + delete_connectv1_connector: + operation: + $ref: >- + #/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + pause_connectv1_connector: + operation: + $ref: >- + #/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1pause/put + response: + mediaType: application/json + openAPIDocKey: '202' + resume_connectv1_connector: + operation: + $ref: >- + #/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1resume/put + response: + mediaType: application/json + openAPIDocKey: '202' + restart_connectv1_connector: + operation: + $ref: >- + #/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1restart/post + response: + mediaType: application/json + openAPIDocKey: '202' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/connectors/methods/read_connectv1_connector + - $ref: >- + #/components/x-stackQL-resources/connectors/methods/list_connectv1_connectors + insert: + - $ref: >- + #/components/x-stackQL-resources/connectors/methods/create_connectv1_connector + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/connectors/methods/delete_connectv1_connector + replace: [] + connector_config: + id: confluent.connect.connector_config + name: connector_config + title: Connector Config + methods: + get_connectv1_connector_config: + operation: + $ref: >- + #/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1config/get + response: + mediaType: application/json + openAPIDocKey: '200' + create_or_update_connectv1_connector_config: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1config/put + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/connector_config/methods/get_connectv1_connector_config + insert: [] + update: [] + delete: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/connector_config/methods/create_or_update_connectv1_connector_config + connector_status: + id: confluent.connect.connector_status + name: connector_status + title: Connector Status + methods: + read_connectv1_connector_status: + operation: + $ref: >- + #/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1status/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/connector_status/methods/read_connectv1_connector_status + insert: [] + update: [] + delete: [] + replace: [] + connector_tasks: + id: confluent.connect.connector_tasks + name: connector_tasks + title: Connector Tasks + methods: + list_connectv1_connector_tasks: + operation: + $ref: >- + #/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1tasks/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $ + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/connector_tasks/methods/list_connectv1_connector_tasks + insert: [] + update: [] + delete: [] + replace: [] + managed_connector_plugins: + id: confluent.connect.managed_connector_plugins + name: managed_connector_plugins + title: Managed Connector Plugins + methods: + list_connectv1_connector_plugins: + operation: + $ref: >- + #/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connector-plugins/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $ + validate_connectv1_connector_plugin: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connector-plugins~1{plugin_name}~1config~1validate/put + response: + mediaType: application/json + openAPIDocKey: '200' + translate_connectv1_connector_plugin: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connector-plugins~1{plugin_name}~1config~1translate?mask_sensitive=true/put + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/managed_connector_plugins/methods/list_connectv1_connector_plugins + insert: [] + update: [] + delete: [] + replace: [] + connector_offsets: + id: confluent.connect.connector_offsets + name: connector_offsets + title: Connector Offsets + methods: + get_connectv1_connector_offsets: + operation: + $ref: >- + #/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1offsets/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/connector_offsets/methods/get_connectv1_connector_offsets + insert: [] + update: [] + delete: [] + replace: [] + connector_offsets_requests: + id: confluent.connect.connector_offsets_requests + name: connector_offsets_requests + title: Connector Offsets Requests + methods: + alter_connectv1_connector_offsets_request: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1offsets~1request/post + response: + mediaType: application/json + openAPIDocKey: '202' + get_connectv1_connector_offsets_request_status: + operation: + $ref: >- + #/paths/~1connect~1v1~1environments~1{environment_id}~1clusters~1{kafka_cluster_id}~1connectors~1{connector_name}~1offsets~1request~1status/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/connector_offsets_requests/methods/get_connectv1_connector_offsets_request_status + insert: [] + update: [] + delete: [] + replace: [] + custom_connector_plugins: + id: confluent.connect.custom_connector_plugins + name: custom_connector_plugins + title: Custom Connector Plugins + methods: + list_connect_v1_custom_connector_plugins: + operation: + $ref: '#/paths/~1connect~1v1~1custom-connector-plugins/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_connect_v1_custom_connector_plugin: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1connect~1v1~1custom-connector-plugins/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_connect_v1_custom_connector_plugin: + operation: + $ref: '#/paths/~1connect~1v1~1custom-connector-plugins~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_connect_v1_custom_connector_plugin: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1connect~1v1~1custom-connector-plugins~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_connect_v1_custom_connector_plugin: + operation: + $ref: '#/paths/~1connect~1v1~1custom-connector-plugins~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/custom_connector_plugins/methods/get_connect_v1_custom_connector_plugin + - $ref: >- + #/components/x-stackQL-resources/custom_connector_plugins/methods/list_connect_v1_custom_connector_plugins + insert: + - $ref: >- + #/components/x-stackQL-resources/custom_connector_plugins/methods/create_connect_v1_custom_connector_plugin + update: + - $ref: >- + #/components/x-stackQL-resources/custom_connector_plugins/methods/update_connect_v1_custom_connector_plugin + delete: + - $ref: >- + #/components/x-stackQL-resources/custom_connector_plugins/methods/delete_connect_v1_custom_connector_plugin + replace: [] + presigned_urls: + id: confluent.connect.presigned_urls + name: presigned_urls + title: Presigned Urls + methods: + presigned_upload_url_connect_v1_presigned_url: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1connect~1v1~1presigned-upload-url/post' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] + custom_connector_runtimes: + id: confluent.connect.custom_connector_runtimes + name: custom_connector_runtimes + title: Custom Connector Runtimes + methods: + list_connect_v1_custom_connector_runtimes: + operation: + $ref: '#/paths/~1connect~1v1~1custom-connector-runtimes/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/custom_connector_runtimes/methods/list_connect_v1_custom_connector_runtimes + insert: [] + update: [] + delete: [] + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/encryption_keys.yaml b/providers/src/confluent/v00.00.00000/services/encryption_keys.yaml index 2f830e2a..9d46a5da 100644 --- a/providers/src/confluent/v00.00.00000/services/encryption_keys.yaml +++ b/providers/src/confluent/v00.00.00000/services/encryption_keys.yaml @@ -1,3125 +1,330 @@ openapi: 3.0.0 -servers: - - url: 'https://api.confluent.cloud' - description: Confluent Cloud API info: - version: '' - contact: - name: Confluent Cloud - url: 'https://www.confluent.io/cloud-contact-us/' - email: support@confluent.io - x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b - x-audience: external-public - x-logo: - url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' - title: Confluent Cloud APIs - encryption_keys - description: encryption_keys -tags: - - name: API Keys (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. - - The API allows you to list, create, update and delete your API Keys. - - - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - - ## The API Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - - name: Environments (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. - - - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - - ## The Environments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - - name: Organizations (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). - - The API allows you to list, view, and update your organizations. - - - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - - ## The Organizations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - - name: Users (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `User` objects represent individuals who may access your Confluent resources. - - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. - - - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). - - ## The Users Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - - name: Service Accounts (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. - - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. - - - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). - - ## The Service Accounts Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - - name: Invitations (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. - - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. - - - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). - - ## The Invitations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - - name: IP Groups (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) - - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. - - - ## The IP Groups Model - - - name: IP Filters (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. - - - ## The IP Filters Model - - - name: Role Bindings (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A role binding grants a Principal a role on resources that match a pattern. - - The API allows you to perform create, delete, and list operations on role bindings. - - - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). - - ## The Role Bindings Model - - - name: Subscriptions (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. - - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Subscriptions Model - - - name: Integrations (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Integrations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - - name: Notification Types (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The type of notifications (and their corresponding metadata) supported by Confluent. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Notification Types Model - - - name: Clusters (cmk/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Kafka clusters. - - - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - - name: Clusters (ksqldbcm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. - - - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the following quotas: - - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - - name: Connectors (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for Managed Connectors or Custom Connectors in Confluent Cloud. - - The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. - - Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). - - Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - name: Lifecycle (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. - - name: Status (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. - - name: Managed Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for Managed connectors in Confluent Cloud. - - name: Offsets (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the offsets for a Managed Connector. - - Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) - - name: Custom Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Custom Connector Plugins Model - - - name: Presigned Urls (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Presigned Urls Model - - - name: Cluster (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Configs (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: ACL (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Consumer Group (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Partition (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Topic (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Records (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Cluster Linking (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Applied Quotas (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. - - - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - - ## The Applied Quotas Model - - - name: Scopes (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Gets a list of all available scopes for applied quotas. - - - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). - - ## The Scopes Model - - - name: Entitlements (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Entitlement` objects represent metadata about a marketplace entitlement. - - An entitlement includes metadata about a marketplace purchase - (start date, end date, billing information, partner IDs, etc). - The API allows partners to create, read, and list entitlements. (Unless you - need entitlement creation and customer registration to be separate, - we recommend using the Signup API to create an organization and entitlement - at the same time) - - The API only allows authorized partners to interact with the Entitlements API. - - name: Regions (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. - - - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Regions Model - - - name: Clusters (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list, create, read, and delete your Schema Registry clusters. - - - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Clusters Model - - - name: Clusters (srcm/v3) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list and read your Schema Registry clusters. - - - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - - ## The Clusters Model - - - name: Compatibility (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to test schema compatibility. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Config (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to manage and query schema compatibility settings and cluster configurations. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Contexts (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to retrieve information about schema contexts. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Exporters (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete exporters. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Modes (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects modes of operation. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Schemas (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schemas. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Subjects (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects and versions. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Key Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete key encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Data Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete data encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Entity (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Search (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to search for entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Types (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Provider Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. - - - ## The Provider Shared Resources Model - - - name: Provider Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderShare` object respresents the share that you have created through Stream Sharing. - - - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). - - ## The Provider Shares Model - - - name: Consumer Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. - - - ## The Consumer Shared Resources Model - - - name: Consumer Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerShare` object respresents the share that you received through Stream Sharing. - - - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). - - ## The Consumer Shares Model - - - name: Shared Tokens (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Encrypted Token shared with consumer - - - ## The Shared Tokens Model - - - name: Opt Ins (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Stream sharing opt in options - - ## The Opt Ins Model - - - name: Organizations (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Organizations` objects represent an entire Confluent Cloud organization. - Partners are allowed to get an organization they have signed up or - list all organizations they have signed up. - - name: Signup (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Signup` APIs can only be performed by partners. - - name: Networks (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. - - The API allows you to list, create, read, update, and delete your networks. - - - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - - ## The Networks Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - - name: Peerings (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - - - ## The Peerings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - - name: Transit Gateway Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AWS Transit Gateway Attachments - - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - - ## The Transit Gateway Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - - name: Private Link Accesses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. - - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). - - - ## The Private Link Accesses Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - - name: Network Link Services (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Services Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - - name: Network Link Endpoints (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Endpoints Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - - name: Network Link Service Associations (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - List of incoming Network Link Enpoints associated with the Network Link Service. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Service Associations Model - - - name: Gateways (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A gateway is a resource that defines network access to Confluent cloud resources. - - - ## The Gateways Model - - - name: IP Addresses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - IP Addresses - - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) - - ## The IP Addresses Model - - - name: Private Link Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. - - - ## The Private Link Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - - name: Private Link Attachment Connections (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. - - - ## The Private Link Attachment Connections Model - - - name: Identity Providers (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Identity Provider. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Identity Providers Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - - name: Jwks (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. - - The API allows you to refresh JWKS public key data. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Jwks Model - - - name: Identity Pools (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. - - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. - - - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). - - ## The Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - - name: OAuth Tokens (sts/v1) - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of - external identities to access Confluent Cloud APIs - - name: Client Quotas (kafka-quotas/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ClientQuota` objects represent Client Quotas you can set at the service account level. - - The API allows you to list, create, read, update, and delete your client quotas. - - - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - - ## The Client Quotas Model - - - name: Pipelines (sd/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. - - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. - - - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). - - ## The Pipelines Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - - name: Keys (byok/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. - - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. - - - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). - - ## The Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - - name: Costs (billing/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cost` objects represent the aggregated billing costs for an organization - - - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). - - ## The Costs Model - - - name: Group Mappings (iam/v2/sso) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. - - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. - - - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). - - ## The Group Mappings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - - name: Compute Pools (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. - - - ## The Compute Pools Model - - - name: Regions (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. - - - ## The Regions Model - - - name: Statements (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - - name: Statement Results (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementResult` represents a result of a `Statement` resource. - The API allows you to read your statement's results. - ## The Statement Results Model - - - name: Statement Exceptions (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementException` represents an exception of a `Statement` resource. - The API allows you to read your statement's exceptions. - ## The Statement Exceptions Model - - - name: Connections (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Connection` represents a core resource used to model SQL connections for execution. - A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - - name: DNS Forwarders (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add, remove, and update DNS forwarder for your gateway. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - - - ## The DNS Forwarders Model - - - name: Access Points (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. - - - ## The Access Points Model - - - name: DNS Records (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - - ## The DNS Records Model - - - name: Certificate Authorities (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Certificate Authority. - - - Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). - - ## The Certificate Authorities Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `certificate_authorities_per_org` | Number of certificate authorities per organization | - - name: Certificate Identity Pools (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Identitypool` objects represent workload identities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities - - - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). - - ## The Certificate Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - - name: Integrations (pim/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). - - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. - - - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). - - ## The Integrations Model - - - name: Flink Artifacts (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. - - - ## The Flink Artifacts Model - - - name: Presigned Urls (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - - ## The Presigned Urls Model - - - name: Flink Artifact Versions (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. - - - ## The Flink Artifact Versions Model - -components: - schemas: - AclOperation: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - AclPatternType: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - MATCH - - LITERAL - - PREFIXED - AclPermission: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - DENY - - ALLOW - AclResourceType: - type: string - enum: - - UNKNOWN - - ANY - - TOPIC - - GROUP - - CLUSTER - - TRANSACTIONAL_ID - - DELEGATION_TOKEN - BrokerTaskType: - type: string - enum: - - add-broker - - remove-broker - MirrorTopicStatus: - enum: - - ACTIVE - - FAILED - - LINK_FAILED - - LINK_PAUSED - - PAUSED - - PENDING_STOPPED - - SOURCE_UNAVAILABLE - - STOPPED - - PENDING_MIRROR - - PENDING_SYNCHRONIZE - - PENDING_SETUP_FOR_RESTORE - - PENDING_RESTORE - type: string - AlterConfigBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - operation: - type: string - x-extensible-enum: - - SET - - DELETE - nullable: true - validate_only: - type: boolean - CreateAclRequestData: - type: object - required: - - resource_type - - resource_name - - pattern_type - - principal - - host - - operation - - permission - properties: - resource_type: - $ref: '#/components/schemas/AclResourceType' - resource_name: - type: string - pattern_type: - $ref: '#/components/schemas/AclPatternType' - principal: - type: string - host: - type: string - operation: - $ref: '#/components/schemas/AclOperation' - permission: - $ref: '#/components/schemas/AclPermission' - CreateAclRequestDataList: - allOf: - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/CreateAclRequestData' - CreateTopicRequestData: - type: object - required: - - topic_name - properties: - topic_name: - type: string - partitions_count: - type: integer - replication_factor: - type: integer - configs: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - validate_only: - type: boolean - ProduceRequest: - type: object - properties: - partition_id: - type: integer - nullable: true - format: int32 - headers: - type: array - items: - $ref: '#/components/schemas/ProduceRequestHeader' - key: - $ref: '#/components/schemas/ProduceRequestData' - value: - $ref: '#/components/schemas/ProduceRequestData' - timestamp: - type: string - format: date-time - nullable: true - UpdateConfigRequestData: - type: object - properties: - value: - type: string - nullable: true - CreateLinkRequestData: - properties: - source_cluster_id: - type: string - destination_cluster_id: - type: string - remote_cluster_id: - description: The expected remote cluster ID. - type: string - cluster_link_id: - description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' - type: string - configs: - items: - $ref: '#/components/schemas/ConfigData' - type: array - type: object - UpdateLinkConfigRequestData: - properties: - value: - type: string - required: - - value - type: object - CreateMirrorTopicRequestData: - properties: - source_topic_name: - type: string - mirror_topic_name: - type: string - replication_factor: - type: integer - configs: - type: array - items: - $ref: '#/components/schemas/ConfigData' - required: - - source_topic_name - type: object - AlterMirrorsRequestData: - properties: - mirror_topic_names: - description: The mirror topics specified as a list of topic names. - type: array - items: + title: encryption_keys API + description: confluent encryption_keys API + version: 1.0.0 +paths: + /dek-registry/v1/keks: + get: + tags: + - Key Encryption Keys (v1) + operationId: getKekNames + parameters: + - description: Whether to include deleted keys + explode: true + in: query + name: deleted + required: false + schema: + type: boolean + style: form + responses: + '200': + content: + application/vnd.schemaregistry.v1+json: + schema: + items: + example: mykek + type: string + type: array + application/vnd.schemaregistry+json; qs=0.9: + schema: + items: + example: mykek + type: string + type: array + application/json; qs=0.5: + schema: + items: + example: mykek + type: string + type: array + description: List of kek names + summary: Get a list of kek names + security: + - resource-api-key: [] + - external-access-token: [] + post: + tags: + - Key Encryption Keys (v1) + operationId: createKek + parameters: + - description: Whether to test kek sharing + explode: true + in: query + name: testSharing + required: false + schema: + type: boolean + default: false + style: form + requestBody: + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/CreateKekRequest' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/CreateKekRequest' + application/json: + schema: + $ref: '#/components/schemas/CreateKekRequest' + application/octet-stream: + schema: + $ref: '#/components/schemas/CreateKekRequest' + description: The create request + required: true + responses: + '200': + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/Kek' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/Kek' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/Kek' + description: The create response + '409': + description: >- + Conflict. Error code 40971 -- Key already exists. Error code 40972 + -- Too many keys. + '422': + description: Error code 42271 -- Invalid key + summary: Create a kek + security: + - resource-api-key: [] + - external-access-token: [] + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /dek-registry/v1/keks/{name}: + delete: + tags: + - Key Encryption Keys (v1) + operationId: deleteKek + parameters: + - description: Name of the kek + explode: false + in: path + name: name + required: true + schema: type: string - mirror_topic_name_pattern: - description: The mirror topics specified as a pattern. - type: string - type: object - RemoveBrokersRequestData: - properties: - broker_ids: - type: array - items: - type: integer - required: - - broker_ids - type: object - BrokerReplicaExclusionBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' - ProduceRequestHeader: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - format: byte - nullable: true - ProduceRequestData: - type: object - properties: - type: - type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - data: - $ref: '#/components/schemas/AnyValue' - nullable: true - ConfigData: - example: - name: name - value: value - properties: - name: - type: string - value: - nullable: true - type: string - required: - - name - - value - BrokerReplicaExclusionRequestData: - type: object - required: - - broker_id - - reason - properties: - broker_id: - type: integer - reason: - type: string - AnyValue: - nullable: true - CreateKekRequest: - example: - kmsProps: - key: kmsProps - shared: true - name: name - doc: doc - kmsKeyId: kmsKeyId - kmsType: kmsType - properties: - name: - type: string - description: Name of the kek - kmsType: - type: string - description: KMS type of the kek - kmsKeyId: - type: string - description: KMS key ID of the kek - kmsProps: - type: object - additionalProperties: + style: simple + - description: Whether to perform a permanent delete + explode: true + in: query + name: permanent + required: false + schema: + type: boolean + style: form + responses: + '204': + description: No Content + '404': + description: >- + Not found. Error code 40470 -- Key not found. Error code 40471 -- + Key not soft-deleted. + '422': + description: >- + Unprocessable entity. Error code 42271 -- Invalid key. Error code + 42272 -- References to key exist. + summary: Delete a kek + security: + - resource-api-key: [] + - external-access-token: [] + get: + tags: + - Key Encryption Keys (v1) + operationId: getKek + parameters: + - description: Name of the kek + explode: false + in: path + name: name + required: true + schema: type: string - description: Properties of the kek - doc: - type: string - description: Description of the kek - shared: - type: boolean - description: Whether the kek is shared - deleted: - type: boolean - description: Whether the kek is deleted - type: object - Kek: - example: - kmsProps: - key: kmsProps - shared: true - deleted: true - name: name - doc: doc - kmsKeyId: kmsKeyId - kmsType: kmsType - ts: 0 - properties: - name: - type: string - description: Name of the kek - kmsType: - type: string - description: KMS type of the kek - kmsKeyId: - type: string - description: KMS key ID of the kek - kmsProps: - type: object - additionalProperties: + style: simple + - description: Whether to include deleted keys + explode: true + in: query + name: deleted + required: false + schema: + type: boolean + style: form + responses: + '200': + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/Kek' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/Kek' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/Kek' + description: The kek info + '404': + description: Error code 40470 -- Key not found + '422': + description: Error code 42271 -- Invalid key + summary: Get a kek by name + security: + - resource-api-key: [] + - external-access-token: [] + put: + tags: + - Key Encryption Keys (v1) + operationId: putKek + parameters: + - description: Name of the kek + explode: false + in: path + name: name + required: true + schema: type: string - description: Properties of the kek - doc: - type: string - description: Description of the kek - shared: - type: boolean - description: Whether the kek is shared - ts: - type: integer - description: Timestamp of the kek - format: int64 - deleted: - type: boolean - description: Whether the kek is deleted - type: object - UpdateKekRequest: - example: - kmsProps: - key: kmsProps - shared: true - doc: doc - properties: - kmsProps: - type: object - additionalProperties: + style: simple + - description: Whether to test kek sharing + explode: true + in: query + name: testSharing + required: false + schema: + type: boolean + default: false + style: form + requestBody: + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/UpdateKekRequest' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/UpdateKekRequest' + application/json: + schema: + $ref: '#/components/schemas/UpdateKekRequest' + application/octet-stream: + schema: + $ref: '#/components/schemas/UpdateKekRequest' + description: The update request + required: true + responses: + '200': + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/Kek' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/Kek' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/Kek' + description: The update response + '404': + description: Error code 40470 -- Key not found + '409': + description: Error code 40971 -- Key already exists + '422': + description: Error code 42271 -- Invalid key + summary: Alters a kek + security: + - resource-api-key: [] + - external-access-token: [] + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /dek-registry/v1/keks/{name}/undelete: + post: + tags: + - Key Encryption Keys (v1) + operationId: undeleteKek + parameters: + - description: Name of the kek + explode: false + in: path + name: name + required: true + schema: type: string - description: Properties of the kek - doc: - type: string - description: Description of the kek - shared: - type: boolean - description: Whether the kek is shared - type: object - CreateDekRequest: - example: - subject: subject - encryptedKeyMaterial: encryptedKeyMaterial - version: 0 - algorithm: AES128_GCM - properties: - subject: - type: string - description: Subject of the dek - version: - type: integer - description: Version of the dek - format: int32 - algorithm: - type: string - description: Algorithm of the dek - enum: - - AES128_GCM - - AES256_GCM - - AES256_SIV - encryptedKeyMaterial: - type: string - description: Encrypted key material of the dek - deleted: - type: boolean - description: Whether the dek is deleted - type: object - Dek: - example: - kekName: kekName - keyMaterial: keyMaterial - deleted: true - subject: subject - encryptedKeyMaterial: encryptedKeyMaterial - version: 0 - algorithm: AES128_GCM - ts: 6 - properties: - kekName: - type: string - description: Kek name of the dek - subject: - type: string - description: Subject of the dek - version: - type: integer - description: Version of the dek - format: int32 - algorithm: - type: string - description: Algorithm of the dek - enum: - - AES128_GCM - - AES256_GCM - - AES256_SIV - encryptedKeyMaterial: - type: string - description: Encrypted key material of the dek - keyMaterial: - type: string - description: Raw key material of the dek - ts: - type: integer - description: Timestamp of the dek - format: int64 - deleted: - type: boolean - description: Whether the dek is deleted - type: object - SearchFilter: - description: Filter a collection by a string search - type: string - byok.v1.KeyList: - type: object - description: |- - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. - - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. - - - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). - - ## The Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - byok/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - KeyList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/byok/v1/keys' - last: - example: 'https://api.confluent.cloud/byok/v1/keys?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/byok/v1/keys?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/byok/v1/keys?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/byok.v1.Key' - - type: object - required: - - id - - metadata - - key - - provider - - state - uniqueItems: true - ListMeta: - type: object - description: ListMeta describes metadata that resource collections may have - properties: - first: - description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds' - last: - description: 'A link to the last page of results. If a response does not contain a last link, then direct navigation to the last page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT' - prev: - description: 'A link to the previous page of results. If a response does not contain a prev link, then either there is no previous data or backwards traversal through the result set is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld' - next: - description: 'A link to the next page of results. If a response does not contain a next link, then there is no more data available.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb' - total_size: - description: Number of records in the full result set. This response may be paginated and have a smaller number of records. - type: integer - format: int32 - minimum: 0 - example: 123 - byok.v1.Key: - type: object - description: |- - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. - - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. - - - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). - - ## The Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - properties: - api_version: - type: string - enum: - - byok/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Key - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/byok/v1/keys/cck-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/key=cck-12345' - key: - type: object - description: | - The cloud-specific key details. - - For AWS, provide the corresponding `key_arn`. - - For Azure, provide the corresponding `key_id`. - - For GCP, provide the corresponding `key_id`. - discriminator: - propertyName: kind - mapping: - AwsKey: '#/components/schemas/byok.v1.AwsKey' - AzureKey: '#/components/schemas/byok.v1.AzureKey' - GcpKey: '#/components/schemas/byok.v1.GcpKey' - oneOf: - - $ref: '#/components/schemas/byok.v1.AwsKey' - - $ref: '#/components/schemas/byok.v1.AzureKey' - - $ref: '#/components/schemas/byok.v1.GcpKey' - x-immutable: true - provider: - type: string - x-extensible-enum: - - AWS - - AZURE - - GCP - description: The cloud provider of the Key. - readOnly: true - example: AWS - state: - type: string - x-extensible-enum: - - AVAILABLE - - IN_USE - description: | - The state of the key: - AVAILABLE: key can be used for a Kafka cluster provisioning - IN_USE: key is already in use by a Kafka cluster provisioning - readOnly: true - example: IN_USE - Failure: - type: object - description: Provides information about problems encountered while performing an operation. - required: - - errors - properties: - errors: - description: List of errors which caused this operation to fail - type: array - items: - $ref: '#/components/schemas/Error' - uniqueItems: true - ObjectMeta: - description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' - required: - - self - properties: - self: - description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' - type: string - format: uri - readOnly: true - example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' - resource_name: - description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name - type: string - format: uri - readOnly: true - example: 'crn://confluent.cloud/kafka=lkc-f3a90de' - created_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. - updated_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. - deleted_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. - readOnly: true - byok.v1.AwsKey: - type: object - description: | - The AWS BYOK details - properties: - key_arn: - description: | - The Amazon Resource Name (ARN) of an AWS KMS key. - type: string - example: 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' - x-immutable: true - roles: - description: | - The Amazon Resource Names (ARNs) of IAM Roles created for this key-environment combination. - type: array - items: - type: string - readOnly: true - example: - - 'arn:aws:iam::123456789876:role/block_storage_manager' - - 'arn:aws:iam::987654321234:role/cc-kafka-1111aaaa-11aa-11aa-11aa-111111aaaaaa' - kind: - description: | - BYOK kind type. - type: string - enum: - - AwsKey - x-immutable: true - required: - - key_arn - - kind - byok.v1.AzureKey: - type: object - description: | - The Azure BYOK details. - properties: - application_id: - description: | - The Application ID created for this key-environment combination. - type: string - readOnly: true - key_id: - description: | - The unique Key Object Identifier URL without version of an Azure Key Vault key. - type: string - example: 'https://vault-name.vault.azure.net/keys/key-name' - x-immutable: true - key_vault_id: - description: | - Key Vault ID containing the key - type: string - example: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourcegroup-name/providers/Microsoft.KeyVault/vaults/vault-name - x-immutable: true - kind: - description: | - BYOK kind type. - type: string - enum: - - AzureKey - x-immutable: true - tenant_id: - description: | - Tenant ID (uuid) hosting the Key Vault containing the key - type: string - example: 00000000-0000-0000-0000-000000000000 - x-immutable: true - required: - - key_id - - key_vault_id - - kind - - tenant_id - byok.v1.GcpKey: - type: object - description: | - The GCP BYOK details - properties: - key_id: - description: | - The Google Cloud Platform key ID. - type: string - example: projects/exampleproject/locations/us-central1/keyRings/testkeyring/cryptoKeys/testbyokkey/cryptoKeyVersions/3 - x-immutable: true - security_group: - description: | - The Google security group created for this key. - type: string - example: testgroupid@domain.com - readOnly: true - kind: - description: | - BYOK kind type. - type: string - enum: - - GcpKey - x-immutable: true - required: - - key_id - - kind - Error: - type: object - description: Describes a particular error encountered while performing an operation. - properties: - id: - description: A unique identifier for this particular occurrence of the problem. - type: string - maxLength: 255 - status: - description: 'The HTTP status code applicable to this problem, expressed as a string value.' - type: string - code: - description: 'An application-specific error code, expressed as a string value.' - type: string - title: - description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' - type: string - detail: - description: A human-readable explanation specific to this occurrence of the problem. - type: string - source: - type: object - description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' - properties: - pointer: - description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' - type: string - parameter: - description: A string indicating which query parameter caused the error. - type: string - error_code: - type: integer - format: int32 - message: - type: string - nullable: true - additionalProperties: false - parameters: - AclHost: - name: host - description: The ACL host. - in: query - required: false - schema: - type: string - AclOperation: - name: operation - description: The ACL operation. - in: query - required: false - schema: - $ref: '#/components/schemas/AclOperation' - AclOperationRequired: - name: operation - description: The ACL operation. - in: query - required: true - schema: - $ref: '#/components/schemas/AclOperation' - AclPatternType: - name: pattern_type - description: The ACL pattern type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPatternType' - AclPatternTypeRequired: - name: pattern_type - description: The ACL pattern type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPatternType' - AclPermission: - name: permission - description: The ACL permission. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPermission' - AclPermissionRequired: - name: permission - description: The ACL permission. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPermission' - AclPrincipal: - name: principal - description: The ACL principal. This is the Service Account name or user name. - in: query - required: false - schema: - type: string - AclResourceName: - name: resource_name - description: The ACL resource name. - in: query - required: false - schema: - type: string - AclResourceType: - name: resource_type - description: The ACL resource type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclResourceType' - AclResourceTypeRequired: - name: resource_type - description: The ACL resource type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclResourceType' - BrokerId: - name: broker_id - description: The Kafka broker ID. - in: path - required: true - schema: - type: integer - example: 1 - ClusterId: - name: cluster_id - description: The Kafka cluster ID. - in: path - required: true - schema: - type: string - example: cluster-1 - ConfigName: - name: name - description: The configuration parameter name. - in: path - required: true - schema: - type: string - example: compression.type - ConsumerGroupId: - name: consumer_group_id - description: The consumer group ID. - in: path - required: true - schema: - type: string - example: consumer-group-1 - ConsumerId: - name: consumer_id - description: The consumer ID. - in: path - required: true - schema: - type: string - example: consumer-1 - IncludeAuthorizedOperations: - name: include_authorized_operations - description: Specify if authorized operations should be included in the response. - in: query - required: false - schema: - type: boolean - PartitionId: - name: partition_id - description: The partition ID. - in: path - required: true - schema: - type: integer - example: 0 - TopicName: - name: topic_name - description: The topic name. - in: path - required: true - schema: - type: string - example: topic-1 - BrokerTaskType: - name: task_type - description: The Kafka broker task type. - in: path - required: true - schema: - $ref: '#/components/schemas/BrokerTaskType' - example: remove-broker - ShouldShutdown: - name: should_shutdown - description: 'To shutdown the broker or not, Default: true' - in: query - required: false - schema: - type: boolean - example: true - ValidateOnly: - name: validate_only - description: 'To validate the action can be performed successfully or not. Default: false' - in: query - required: false - schema: - type: boolean - example: false - ValidateLink: - name: validate_link - description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' - in: query - required: false - schema: - type: boolean - example: false - IncludeTasks: - name: include_tasks - description: 'Whether to include cluster linking tasks in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludeStateTransitionErrors: - name: include_state_transition_errors - description: 'Whether to include mirror state transition errors in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - Force: - name: force - description: 'Force the action. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludePartitionLevelTruncationData: - name: include_partition_level_truncation_data - description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - LinkName: - name: link_name - description: The link name - in: path - required: true - schema: - type: string - example: link-sb1 - LinkConfigName: - name: config_name - description: The link config name - in: path - required: true - schema: - type: string - example: consumer.offset.sync.enable - MirrorTopicStatus: - name: mirror_status - description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' - in: query - required: false - schema: - $ref: '#/components/schemas/MirrorTopicStatus' - example: ACTIVE - MirrorTopicName: - name: mirror_topic_name - description: Cluster Linking mirror topic name - in: path - required: true - schema: - type: string - example: topic-1 - QueryParamLinkName: - name: link_name - description: The link name - in: query - required: true - schema: - type: string - example: link-sb1 - responses: - BadRequestError: - description: Bad Request - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '400' - code: invalid_filter - title: Invalid Filter - detail: The 'delorean' resource can't be filtered by 'num_doors' - source: - parameter: num_doors - UnauthenticatedError: - x-summary: Unauthorized - description: The request lacks valid authentication credentials for this resource. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - WWW-Authenticate: - schema: - type: string - description: The unique identifier for the API request. - example: 'Basic error="invalid_key", error_description="The API Key is invalid"' - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '401' - code: user_unauthenticated - title: Authentication Required - detail: Valid authentication credentials must be provided - UnauthorizedError: - x-summary: Forbidden - description: The access credentials were considered insufficient to grant access - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '403' - code: user_unauthorized - title: User Access Unauthorized - detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. - RateLimitError: - description: Rate Limit Exceeded - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Retry-After: - schema: - type: integer - description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. - DefaultSystemError: - description: 'Oops, something went wrong!' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '500' - code: out_of_gas - title: DeLorean Out Of Gas - detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' - OverQuotaError: - x-summary: Over Quota - description: The request would exceed one or more quotas. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '402' - code: quota_exceeded - title: Kafka Clusters Per Org Quota Exceeded - detail: 'The request would exceed the quota: kafka_clusters_per_environment' - ConflictError: - x-summary: Conflict - description: The request is in conflict with the current server state - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/{object}/{id}' - description: Resource URI of conflicting resource - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '409' - code: resource_already_exists - title: Resource Already exists - detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. - ValidationError: - description: Validation Failed - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - NotFoundError: - description: Not Found - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '404' - title: Not Found - securitySchemes: - cloud-api-key: - type: http - scheme: basic - description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. - confluent-sts-access-token: - type: oauth2 - description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' - scopes: {} - api-key: - type: http - scheme: basic - description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. - resource-api-key: - type: http - scheme: basic - description: | - Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID - as the username and resource-specific API Key Secret as the password. - external-access-token: - type: oauth2 - description: Authenticate with OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https:///token' - scopes: {} - oauth: - type: oauth2 - description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. - flows: - clientCredentials: - tokenUrl: /oauth2/token - scopes: - 'partner:alter': enables partners to alter entitlements - 'partner:create': enables partners to create entitlements and signup on behalf of customers - 'partner:delete': enables partners to delete entitlements and organizations - 'partner:describe': enables partners to read and list entitlements and organizations - requestBodies: - AlterBrokerConfigBatchRequest: - description: The alter broker configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterClusterConfigBatchRequest: - description: The alter cluster configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterTopicConfigBatchRequest: - description: The alter topic configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - examples: - batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only_batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only: true - CreateAclRequest: - description: The ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestData' - example: - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - BatchCreateAclRequest: - description: The batch ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestDataList' - example: - data: - - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - - resource_type: TOPIC - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: READ - permission: ALLOW - CreateTopicRequest: - description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTopicRequestData' - examples: - uniform_replication: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - configs: - - name: cleanup.policy - value: compact - - name: compression.type - value: gzip - dry_run_create_topic: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - validate_only: true - ProduceRequest: - description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' - content: - application/json: - schema: - $ref: '#/components/schemas/ProduceRequest' - examples: - binary_and_json: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - partition_id: 1 - headers: - - name: Header-1 - value: SGVhZGVyLTE= - - name: Header-2 - value: SGVhZGVyLTI= - key: - type: BINARY - data: Zm9vYmFy - value: - type: JSON - data: - foo: bar - timestamp: '2021-02-05T19:14:42Z' - string: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - value: - type: STRING - data: My message - empty_value: - description: key or value can be omitted entirely. - value: - key: - data: 1000 - UpdateBrokerConfigRequest: - description: The broker configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateClusterConfigRequest: - description: The cluster configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateTopicConfigRequest: - description: The topic configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - CreateLinkRequest: - description: Create a cluster link - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLinkRequestData' - examples: - destination_initiated_link: - description: Create a destination initiated cluster link - value: - source_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: acl.sync.enable - value: 'false' - - name: consumer.offset.sync.ms - value: '30000' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_source_cluster: - description: Create a source initiated cluster link at source cluster - value: - destination_cluster_id: cluster-2 - configs: - - name: bootstrap.servers - value: cluster-2-bootstrap-server - - name: link.mode - value: SOURCE - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_destination_cluster: - description: Create a source initiated cluster link at destination cluster - value: - destination_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: link.mode - value: DESTINATION - - name: connection.mode - value: INBOUND - - name: acl.sync.enable - value: 'false' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_east: - description: Create a bidirectional cluster link in east - value: - remote_cluster_id: cluster-west - configs: - - name: bootstrap.servers - value: cluster-west-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: west. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_west: - description: Create a bidirectional cluster link in west - value: - remote_cluster_id: cluster-east - cluster_link_id: eEBkTffYSESld6EO898x3w - configs: - - name: bootstrap.servers - value: cluster-east-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: east. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - UpdateLinkConfigRequest: - content: - application/json: - example: - value: '300000' - schema: - $ref: '#/components/schemas/UpdateLinkConfigRequestData' - description: Link config value to update - AlterLinkConfigBatchRequest: - content: - application/json: - example: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - CreateMirrorTopicRequest: - description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateMirrorTopicRequestData' - examples: - generic_example: - description: Generic example of creating a mirror topic - value: - source_topic_name: topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 1 - example_with_mirror_topic_name: - description: Example using optional mirror_topic_name flag - value: - source_topic_name: topic-1 - mirror_topic_name: link1_topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 3 - AlterMirrorsRequest: - description: Mirror topics to be altered. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterMirrorsRequestData' - examples: - mirror_topic_names: - description: Example using mirror topic names - value: - mirror_topic_names: - - topic-1 - - topic-2 - mirror_topic_name_pattern: - description: Example using mirror topic name pattern - value: - mirror_topic_name_pattern: .* - RemoveBrokersRequest: - content: - application/json: - example: - broker_ids: - - 1 - - 2 - - 3 - schema: - $ref: '#/components/schemas/RemoveBrokersRequestData' - description: Broker ids to remove - BrokerReplicaExclusionBatchRequest: - description: Alter Broker Replica Exclusions. - content: - application/json: + style: simple + responses: + '204': + description: No Content + '404': + description: Error code 40470 -- Key not found + '422': + description: >- + Unprocessable entity. Error code 42271 -- Invalid key. Error code + 42272 -- References to key exist. + summary: Undelete a kek + security: + - resource-api-key: [] + - external-access-token: [] + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /dek-registry/v1/keks/{name}/test: + post: + tags: + - Key Encryption Keys (v1) + operationId: testKek + parameters: + - description: Name of the kek + explode: false + in: path + name: name + required: true schema: - $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' - example: - data: - - broker_id: 1 - reason: The broker is to be removed. - - broker_id: 2 - reason: The broker is to be removed. - x-stackQL-resources: - key_encryption_keys: - id: confluent.encryption_keys.key_encryption_keys - name: key_encryption_keys - title: Key Encryption Keys - methods: - get_kek_names: - operation: - $ref: '#/paths/~1dek-registry~1v1~1keks/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - create_kek: - operation: - $ref: '#/paths/~1dek-registry~1v1~1keks/post' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/Kek' - delete_kek: - operation: - $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - get_kek: - operation: - $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/Kek' - put_kek: - operation: - $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}/put' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/Kek' - undelete_kek: - operation: - $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1undelete/post' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/key_encryption_keys/methods/get_kek' - - $ref: '#/components/x-stackQL-resources/key_encryption_keys/methods/get_kek_names' - insert: - - $ref: '#/components/x-stackQL-resources/key_encryption_keys/methods/create_kek' - update: [] - replace: - - $ref: '#/components/x-stackQL-resources/key_encryption_keys/methods/put_kek' - delete: - - $ref: '#/components/x-stackQL-resources/key_encryption_keys/methods/delete_kek' - data_encryption_keys: - id: confluent.encryption_keys.data_encryption_keys - name: data_encryption_keys - title: Data Encryption Keys - methods: - get_dek_subjects: - operation: - $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1deks/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - create_dek: - operation: - $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1deks/post' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/Dek' - delete_dek_versions: - operation: - $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1deks~1{subject}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - get_dek: - operation: - $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1deks~1{subject}/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/Dek' - undelete_dek_versions: - operation: - $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1deks~1{subject}~1undelete/post' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/data_encryption_keys/methods/get_dek' - - $ref: '#/components/x-stackQL-resources/data_encryption_keys/methods/get_dek_subjects' - insert: - - $ref: '#/components/x-stackQL-resources/data_encryption_keys/methods/create_dek' - update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/data_encryption_keys/methods/delete_dek_versions' - dek_versions: - id: confluent.encryption_keys.dek_versions - name: dek_versions - title: Dek Versions - methods: - delete_dek_version: - operation: - $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1deks~1{subject}~1versions~1{version}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - get_dek_by_version: - operation: - $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1deks~1{subject}~1versions~1{version}/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/Dek' - get_dek_versions: - operation: - $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1deks~1{subject}~1versions/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - undelete_dek_version: - operation: - $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1deks~1{subject}~1versions~1{version}~1undelete/post' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/dek_versions/methods/get_dek_by_version' - - $ref: '#/components/x-stackQL-resources/dek_versions/methods/get_dek_versions' - insert: [] - update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/dek_versions/methods/delete_dek_version' - keys: - id: confluent.encryption_keys.keys - name: keys - title: Keys - methods: - list_byok_v1keys: - operation: - $ref: '#/paths/~1byok~1v1~1keys/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_byok_v1key: - operation: - $ref: '#/paths/~1byok~1v1~1keys/post' - response: - mediaType: application/json - openAPIDocKey: '201' - get_byok_v1key: - operation: - $ref: '#/paths/~1byok~1v1~1keys~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_byok_v1key: - operation: - $ref: '#/paths/~1byok~1v1~1keys~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/keys/methods/get_byok_v1key' - - $ref: '#/components/x-stackQL-resources/keys/methods/list_byok_v1keys' - insert: - - $ref: '#/components/x-stackQL-resources/keys/methods/create_byok_v1key' - update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/keys/methods/delete_byok_v1key' -paths: - /dek-registry/v1/keks: + type: string + style: simple + responses: + '200': + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/Kek' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/Kek' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/Kek' + description: The test response + '422': + description: Error code 42271 -- Invalid key + '500': + description: Error code 50070 -- Dek generation error + summary: Test a kek + security: + - resource-api-key: [] + - external-access-token: [] + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /dek-registry/v1/keks/{name}/deks: get: tags: - - Key Encryption Keys (v1) - operationId: getKekNames + - Data Encryption Keys (v1) + operationId: getDekSubjects parameters: + - description: Name of the kek + explode: false + in: path + name: name + required: true + schema: + type: string + style: simple - description: Whether to include deleted keys explode: true in: query @@ -3128,129 +333,81 @@ paths: schema: type: boolean style: form + - description: Pagination offset for results + explode: true + in: query + name: offset + required: false + schema: + type: integer + default: 0 + style: form + - description: Pagination size for results. Ignored if negative + explode: true + in: query + name: limit + required: false + schema: + type: integer + default: -1 + style: form responses: '200': content: application/vnd.schemaregistry.v1+json: schema: items: - example: mykek + example: User type: string type: array application/vnd.schemaregistry+json; qs=0.9: schema: items: - example: mykek + example: User type: string type: array application/json; qs=0.5: schema: items: - example: mykek + example: User type: string type: array - description: List of kek names - summary: Get a list of kek names + description: List of dek subjects + '404': + description: Error code 40470 -- Key not found + '422': + description: Error code 42271 -- Invalid key + summary: Get a list of dek subjects security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/dek-registry/v1/keks", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/dek-registry/v1/keks", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); post: tags: - - Key Encryption Keys (v1) - operationId: createKek + - Data Encryption Keys (v1) + operationId: createDek + parameters: + - description: Name of the kek + explode: false + in: path + name: name + required: true + schema: + type: string + style: simple requestBody: content: application/vnd.schemaregistry.v1+json: schema: - $ref: '#/components/schemas/CreateKekRequest' + $ref: '#/components/schemas/CreateDekRequest' application/vnd.schemaregistry+json: schema: - $ref: '#/components/schemas/CreateKekRequest' + $ref: '#/components/schemas/CreateDekRequest' application/json: schema: - $ref: '#/components/schemas/CreateKekRequest' + $ref: '#/components/schemas/CreateDekRequest' application/octet-stream: schema: - $ref: '#/components/schemas/CreateKekRequest' + $ref: '#/components/schemas/CreateDekRequest' description: The create request required: true responses: @@ -3258,139 +415,63 @@ paths: content: application/vnd.schemaregistry.v1+json: schema: - $ref: '#/components/schemas/Kek' + $ref: '#/components/schemas/Dek' application/vnd.schemaregistry+json; qs=0.9: schema: - $ref: '#/components/schemas/Kek' + $ref: '#/components/schemas/Dek' application/json; qs=0.5: schema: - $ref: '#/components/schemas/Kek' + $ref: '#/components/schemas/Dek' description: The create response '409': - description: Conflict. Error code 40971 -- Key already exists. Error code 40972 -- Too many keys. + description: >- + Conflict. Error code 40971 -- Key already exists. Error code 40972 + -- Too many keys. '422': description: Error code 42271 -- Invalid key - summary: Create a kek + '500': + description: Error code 50070 -- Dek generation error + summary: Create a dek security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/octet-stream' \ - --data '{"kmsProps":{"key":"kmsProps"},"shared":true,"name":"name","doc":"doc","kmsKeyId":"kmsKeyId","kmsType":"kmsType"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"kmsProps\":{\"key\":\"kmsProps\"},\"shared\":true,\"name\":\"name\",\"doc\":\"doc\",\"kmsKeyId\":\"kmsKeyId\",\"kmsType\":\"kmsType\"}"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks") - .post(body) - .addHeader("content-type", "application/octet-stream") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks\"\n\n\tpayload := strings.NewReader(\"{\\\"kmsProps\\\":{\\\"key\\\":\\\"kmsProps\\\"},\\\"shared\\\":true,\\\"name\\\":\\\"name\\\",\\\"doc\\\":\\\"doc\\\",\\\"kmsKeyId\\\":\\\"kmsKeyId\\\",\\\"kmsType\\\":\\\"kmsType\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/octet-stream\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "{\"kmsProps\":{\"key\":\"kmsProps\"},\"shared\":true,\"name\":\"name\",\"doc\":\"doc\",\"kmsKeyId\":\"kmsKeyId\",\"kmsType\":\"kmsType\"}" - - headers = { - 'content-type': "application/octet-stream", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/dek-registry/v1/keks", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/dek-registry/v1/keks", - "headers": { - "content-type": "application/octet-stream", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - kmsProps: {key: 'kmsProps'}, - shared: true, - name: 'name', - doc: 'doc', - kmsKeyId: 'kmsKeyId', - kmsType: 'kmsType' - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/octet-stream"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"kmsProps\":{\"key\":\"kmsProps\"},\"shared\":true,\"name\":\"name\",\"doc\":\"doc\",\"kmsKeyId\":\"kmsKeyId\",\"kmsType\":\"kmsType\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/octet-stream"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/octet-stream", "{\"kmsProps\":{\"key\":\"kmsProps\"},\"shared\":true,\"name\":\"name\",\"doc\":\"doc\",\"kmsKeyId\":\"kmsKeyId\",\"kmsType\":\"kmsType\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/dek-registry/v1/keks/{name}': + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /dek-registry/v1/keks/{name}/deks/{subject}: delete: tags: - - Key Encryption Keys (v1) - operationId: deleteKek + - Data Encryption Keys (v1) + operationId: deleteDekVersions parameters: - description: Name of the kek explode: false in: path - name: name + name: name + required: true + schema: + type: string + style: simple + - description: Subject of the dek + explode: false + in: path + name: subject required: true schema: type: string style: simple + - description: Algorithm of the dek + explode: true + in: query + name: algorithm + required: false + schema: + enum: + - AES128_GCM + - AES256_GCM + - AES256_SIV + type: string + style: form - description: Whether to perform a permanent delete explode: true in: query @@ -3403,96 +484,19 @@ paths: '204': description: No Content '404': - description: Not found. Error code 40470 -- Key not found. Error code 40471 -- Key not soft-deleted. + description: >- + Not found. Error code 40470 -- Key not found. Error code 40471 -- + Key not soft-deleted. '422': - description: Unprocessable entity. Error code 42271 -- Invalid key. Error code 42272 -- References to key exist. - summary: Delete a kek + description: Error code 42271 -- Invalid key + summary: Delete all versions of a dek security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/dek-registry/v1/keks/{name}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/dek-registry/v1/keks/{name}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); get: tags: - - Key Encryption Keys (v1) - operationId: getKek + - Data Encryption Keys (v1) + operationId: getDek parameters: - description: Name of the kek explode: false @@ -3502,6 +506,26 @@ paths: schema: type: string style: simple + - description: Subject of the dek + explode: false + in: path + name: subject + required: true + schema: + type: string + style: simple + - description: Algorithm of the dek + explode: true + in: query + name: algorithm + required: false + schema: + enum: + - AES128_GCM + - AES256_GCM + - AES256_SIV + type: string + style: form - description: Whether to include deleted keys explode: true in: query @@ -3515,105 +539,32 @@ paths: content: application/vnd.schemaregistry.v1+json: schema: - $ref: '#/components/schemas/Kek' + $ref: '#/components/schemas/Dek' application/vnd.schemaregistry+json; qs=0.9: schema: - $ref: '#/components/schemas/Kek' + $ref: '#/components/schemas/Dek' application/json; qs=0.5: schema: - $ref: '#/components/schemas/Kek' - description: The kek info + $ref: '#/components/schemas/Dek' + description: The dek info '404': description: Error code 40470 -- Key not found '422': description: Error code 42271 -- Invalid key - summary: Get a kek by name + '500': + description: Error code 50070 -- Dek generation error + summary: Get a dek by subject security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/dek-registry/v1/keks/{name}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/dek-registry/v1/keks/{name}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - put: + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}: + delete: tags: - - Key Encryption Keys (v1) - operationId: putKek + - Data Encryption Keys (v1) + operationId: deleteDekVersion parameters: - description: Name of the kek explode: false @@ -3623,250 +574,61 @@ paths: schema: type: string style: simple - requestBody: - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/UpdateKekRequest' - application/vnd.schemaregistry+json: - schema: - $ref: '#/components/schemas/UpdateKekRequest' - application/json: - schema: - $ref: '#/components/schemas/UpdateKekRequest' - application/octet-stream: - schema: - $ref: '#/components/schemas/UpdateKekRequest' - description: The update request - required: true - responses: - '200': - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/Kek' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/Kek' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/Kek' - description: The update response - '404': - description: Error code 40470 -- Key not found - '409': - description: Error code 40971 -- Key already exists - '422': - description: Error code 42271 -- Invalid key - summary: Alters a kek - security: - - resource-api-key: [] - - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/octet-stream' \ - --data '{"kmsProps":{"key":"kmsProps"},"shared":true,"doc":"doc"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"kmsProps\":{\"key\":\"kmsProps\"},\"shared\":true,\"doc\":\"doc\"}"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}") - .put(body) - .addHeader("content-type", "application/octet-stream") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}\"\n\n\tpayload := strings.NewReader(\"{\\\"kmsProps\\\":{\\\"key\\\":\\\"kmsProps\\\"},\\\"shared\\\":true,\\\"doc\\\":\\\"doc\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/octet-stream\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "{\"kmsProps\":{\"key\":\"kmsProps\"},\"shared\":true,\"doc\":\"doc\"}" - - headers = { - 'content-type': "application/octet-stream", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PUT", "/dek-registry/v1/keks/{name}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/dek-registry/v1/keks/{name}", - "headers": { - "content-type": "application/octet-stream", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({kmsProps: {key: 'kmsProps'}, shared: true, doc: 'doc'})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/octet-stream"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"kmsProps\":{\"key\":\"kmsProps\"},\"shared\":true,\"doc\":\"doc\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}"); - var request = new RestRequest(Method.PUT); - request.AddHeader("content-type", "application/octet-stream"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/octet-stream", "{\"kmsProps\":{\"key\":\"kmsProps\"},\"shared\":true,\"doc\":\"doc\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/dek-registry/v1/keks/{name}/undelete': - post: - tags: - - Key Encryption Keys (v1) - operationId: undeleteKek - parameters: - - description: Name of the kek + - description: Subject of the dek explode: false in: path - name: name + name: subject + required: true + schema: + type: string + style: simple + - description: Version of the dek + explode: false + in: path + name: version required: true schema: type: string style: simple + - description: Algorithm of the dek + explode: true + in: query + name: algorithm + required: false + schema: + enum: + - AES128_GCM + - AES256_GCM + - AES256_SIV + type: string + style: form + - description: Whether to perform a permanent delete + explode: true + in: query + name: permanent + required: false + schema: + type: boolean + style: form responses: '204': description: No Content '404': - description: Error code 40470 -- Key not found + description: >- + Not found. Error code 40470 -- Key not found. Error code 40471 -- + Key not soft-deleted. '422': - description: Unprocessable entity. Error code 42271 -- Invalid key. Error code 42272 -- References to key exist. - summary: Undelete a kek + description: >- + Unprocessable entity. Error code 42202 -- Invalid version. Error + code 42271 -- Invalid key. + summary: Delete a dek version security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/undelete' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/undelete") - .post(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/undelete\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("POST", "/dek-registry/v1/keks/{name}/undelete", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/dek-registry/v1/keks/{name}/undelete", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/undelete"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/undelete"); - var request = new RestRequest(Method.POST); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/dek-registry/v1/keks/{name}/deks': get: tags: - Data Encryption Keys (v1) - operationId: getDekSubjects + operationId: getDekByVersion parameters: - description: Name of the kek explode: false @@ -3876,6 +638,34 @@ paths: schema: type: string style: simple + - description: Subject of the dek + explode: false + in: path + name: subject + required: true + schema: + type: string + style: simple + - description: Version of the dek + explode: false + in: path + name: version + required: true + schema: + type: string + style: simple + - description: Algorithm of the dek + explode: true + in: query + name: algorithm + required: false + schema: + enum: + - AES128_GCM + - AES256_GCM + - AES256_SIV + type: string + style: form - description: Whether to include deleted keys explode: true in: query @@ -3889,114 +679,34 @@ paths: content: application/vnd.schemaregistry.v1+json: schema: - items: - example: User - type: string - type: array + $ref: '#/components/schemas/Dek' application/vnd.schemaregistry+json; qs=0.9: schema: - items: - example: User - type: string - type: array + $ref: '#/components/schemas/Dek' application/json; qs=0.5: schema: - items: - example: User - type: string - type: array - description: List of dek subjects + $ref: '#/components/schemas/Dek' + description: The dek info '404': description: Error code 40470 -- Key not found '422': - description: Error code 42271 -- Invalid key - summary: Get a list of dek subjects + description: >- + Unprocessable entity. Error code 42202 -- Invalid version. Error + code 42271 -- Invalid key. + '500': + description: Error code 50070 -- Dek generation error + summary: Get a dek by subject and version security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/dek-registry/v1/keks/{name}/deks", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/dek-registry/v1/keks/{name}/deks", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /dek-registry/v1/keks/{name}/deks/{subject}/versions: + get: tags: - Data Encryption Keys (v1) - operationId: createDek + operationId: getDekVersions parameters: - description: Name of the kek explode: false @@ -4006,151 +716,93 @@ paths: schema: type: string style: simple - requestBody: - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/CreateDekRequest' - application/vnd.schemaregistry+json: - schema: - $ref: '#/components/schemas/CreateDekRequest' - application/json: - schema: - $ref: '#/components/schemas/CreateDekRequest' - application/octet-stream: - schema: - $ref: '#/components/schemas/CreateDekRequest' - description: The create request - required: true + - description: Subject of the dek + explode: false + in: path + name: subject + required: true + schema: + type: string + style: simple + - description: Algorithm of the dek + explode: true + in: query + name: algorithm + required: false + schema: + enum: + - AES128_GCM + - AES256_GCM + - AES256_SIV + type: string + style: form + - description: Whether to include deleted keys + explode: true + in: query + name: deleted + required: false + schema: + type: boolean + style: form + - description: Pagination offset for results + explode: true + in: query + name: offset + required: false + schema: + type: integer + default: 0 + style: form + - description: Pagination size for results. Ignored if negative + explode: true + in: query + name: limit + required: false + schema: + type: integer + default: -1 + style: form responses: '200': content: application/vnd.schemaregistry.v1+json: schema: - $ref: '#/components/schemas/Dek' + items: + example: 1 + format: int32 + type: integer + type: array application/vnd.schemaregistry+json; qs=0.9: schema: - $ref: '#/components/schemas/Dek' + items: + example: 1 + format: int32 + type: integer + type: array application/json; qs=0.5: schema: - $ref: '#/components/schemas/Dek' - description: The create response - '409': - description: Conflict. Error code 40971 -- Key already exists. Error code 40972 -- Too many keys. + items: + example: 1 + format: int32 + type: integer + type: array + description: List of version numbers for dek + '404': + description: Error code 40470 -- Key not found '422': description: Error code 42271 -- Invalid key - '500': - description: Error code 50070 -- Dek generation error - summary: Create a dek + summary: List versions of dek security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/octet-stream' \ - --data '{"subject":"subject","encryptedKeyMaterial":"encryptedKeyMaterial","version":0,"algorithm":"AES128_GCM"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"subject\":\"subject\",\"encryptedKeyMaterial\":\"encryptedKeyMaterial\",\"version\":0,\"algorithm\":\"AES128_GCM\"}"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks") - .post(body) - .addHeader("content-type", "application/octet-stream") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks\"\n\n\tpayload := strings.NewReader(\"{\\\"subject\\\":\\\"subject\\\",\\\"encryptedKeyMaterial\\\":\\\"encryptedKeyMaterial\\\",\\\"version\\\":0,\\\"algorithm\\\":\\\"AES128_GCM\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/octet-stream\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "{\"subject\":\"subject\",\"encryptedKeyMaterial\":\"encryptedKeyMaterial\",\"version\":0,\"algorithm\":\"AES128_GCM\"}" - - headers = { - 'content-type': "application/octet-stream", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/dek-registry/v1/keks/{name}/deks", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/dek-registry/v1/keks/{name}/deks", - "headers": { - "content-type": "application/octet-stream", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - subject: 'subject', - encryptedKeyMaterial: 'encryptedKeyMaterial', - version: 0, - algorithm: 'AES128_GCM' - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/octet-stream"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"subject\":\"subject\",\"encryptedKeyMaterial\":\"encryptedKeyMaterial\",\"version\":0,\"algorithm\":\"AES128_GCM\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/octet-stream"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/octet-stream", "{\"subject\":\"subject\",\"encryptedKeyMaterial\":\"encryptedKeyMaterial\",\"version\":0,\"algorithm\":\"AES128_GCM\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/dek-registry/v1/keks/{name}/deks/{subject}': - delete: + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}/undelete: + post: tags: - Data Encryption Keys (v1) - operationId: deleteDekVersions + operationId: undeleteDekVersion parameters: - description: Name of the kek explode: false @@ -4168,6 +820,14 @@ paths: schema: type: string style: simple + - description: Version of the dek + explode: false + in: path + name: version + required: true + schema: + type: string + style: simple - description: Algorithm of the dek explode: true in: query @@ -4180,1561 +840,3933 @@ paths: - AES256_SIV type: string style: form - - description: Whether to perform a permanent delete + responses: + '204': + description: No Content + '404': + description: >- + Not found. Error code 40470 -- Key not found. Error code 40472 -- + Key must be undeleted. + '422': + description: >- + Unprocessable entity. Error code 42202 -- Invalid version. Error + code 42271 -- Invalid key. + summary: Undelete a dek version + security: + - resource-api-key: [] + - external-access-token: [] + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /dek-registry/v1/keks/{name}/deks/{subject}/undelete: + post: + tags: + - Data Encryption Keys (v1) + operationId: undeleteDekVersions + parameters: + - description: Name of the kek + explode: false + in: path + name: name + required: true + schema: + type: string + style: simple + - description: Subject of the dek + explode: false + in: path + name: subject + required: true + schema: + type: string + style: simple + - description: Algorithm of the dek explode: true in: query - name: permanent + name: algorithm required: false schema: - type: boolean + enum: + - AES128_GCM + - AES256_GCM + - AES256_SIV + type: string style: form responses: '204': description: No Content '404': - description: Not found. Error code 40470 -- Key not found. Error code 40471 -- Key not soft-deleted. + description: >- + Not found. Error code 40470 -- Key not found. Error code 40472 -- + Key must be undeleted. + '422': + description: Error code 42271 -- Invalid key + summary: Undelete all versions of a dek + security: + - resource-api-key: [] + - external-access-token: [] + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /byok/v1/keys: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listByokV1Keys + summary: List of Keys + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all keys. + parameters: + - name: display_name + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: Key for billing cluster + description: Filter the results by a partial search of display_name. + - name: provider + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Filter the results by exact match for provider. + - name: state + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: IN_USE + description: Filter the results by exact match for state. + - name: validation_phase + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + description: Filter the results by exact match for validation_phase. + - name: validation_region + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: us-west-2 + description: | + Filter keys by the cloud region where they are deployed. + - name: key + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: vault-name + description: > + Filters results by a partial match on the key identifier: key_arn + for AWS, key_id for Azure and GCP. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Keys (byok/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Key. + content: + application/json: + schema: + type: object + description: >- + `Key` objects represent customer managed keys on dedicated + Confluent Cloud clusters. + + + Keys are used to protect data at rest stored in your dedicated + Confluent Cloud clusters on AWS, Azure, and GCP. + + This API allows you to upload and retrieve self-managed keys + on Confluent Cloud. + + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) + Management + API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + + ## The Keys Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud + organisation. | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - byok/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - KeyList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `Key` objects represent customer managed keys on + dedicated Confluent Cloud clusters. + + + Keys are used to protect data at rest stored in your + dedicated Confluent Cloud clusters on AWS, Azure, and + GCP. + + This API allows you to upload and retrieve self-managed + keys on Confluent Cloud. + + + + Related guide: [Confluent Cloud Bring Your Own Key + (BYOK) Management + API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + + ## The Keys Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `byok.max_keys.per_org` | BYOK keys in one Confluent + Cloud organisation. | + properties: + api_version: + type: string + enum: + - byok/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - Key + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + key: + type: object + description: | + The cloud-specific key details. + + For AWS, provide the corresponding `key_arn`. + + For Azure, provide the corresponding `key_id`. + + For GCP, provide the corresponding `key_id`. + discriminator: + propertyName: kind + mapping: + AwsKey: '#/components/schemas/byok.v1.AwsKey' + AzureKey: '#/components/schemas/byok.v1.AzureKey' + GcpKey: '#/components/schemas/byok.v1.GcpKey' + x-immutable: true + properties: + key_arn: + description: > + The Amazon Resource Name (ARN) of an AWS KMS + key. + type: string + example: >- + arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + x-immutable: true + roles: + description: > + The Amazon Resource Names (ARNs) of IAM Roles + created for this key-environment combination. + type: array + items: + type: string + readOnly: true + example: + - >- + arn:aws:iam::123456789876:role/block_storage_manager + - >- + arn:aws:iam::987654321234:role/cc-kafka-1111aaaa-11aa-11aa-11aa-111111aaaaaa + kind: + description: | + BYOK kind type. + type: string + enum: + - AwsKey + x-immutable: true + application_id: + description: > + The Application ID created for this + key-environment combination. + type: string + readOnly: true + key_id: + description: > + The unique Key Object Identifier URL without + version of an Azure Key Vault key. + type: string + example: https://vault-name.vault.azure.net/keys/key-name + x-immutable: true + key_vault_id: + description: | + Key Vault ID containing the key + type: string + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourcegroup-name/providers/Microsoft.KeyVault/vaults/vault-name + x-immutable: true + tenant_id: + description: > + Tenant ID (uuid) hosting the Key Vault + containing the key + type: string + example: 00000000-0000-0000-0000-000000000000 + x-immutable: true + security_group: + description: | + The Google security group created for this key. + type: string + example: testgroupid@domain.com + readOnly: true + required: + - key_arn + - kind + - key_id + - key_vault_id + - tenant_id + display_name: + type: string + description: | + The human-readable name of the key object. + example: Key for billing cluster + x-immutable: false + provider: + type: string + x-extensible-enum: + - AWS + - Azure + - GCP + description: The cloud provider of the Key. + readOnly: true + example: AWS + state: + type: string + x-extensible-enum: + - AVAILABLE + - IN_USE + description: | + The state of the key: + + AVAILABLE: key can be used for a Kafka cluster provisioning. + + IN_USE: key is already in use by a Kafka cluster provisioning. + readOnly: true + example: IN_USE + validation: + description: | + The validation details of the key. + readOnly: true + type: object + required: + - phase + - since + properties: + phase: + type: string + x-extensible-enum: + - INITIALIZING + - VALID + - INVALID + description: | + The validation phase of the key: + + INITIALIZING: Initial phase for new keys awaiting first successful validation. + + VALID: Last validation attempt succeeded. + + INVALID: Last validation attempt failed. + example: VALID + message: + type: string + description: | + A message describing validation events. + example: Access to key denied. + since: + type: string + format: date-time + description: > + The timestamp since which the key is in the + current validation phase. + + Changes to the validation message or phase will + update this timestamp. + example: '2024-03-20T15:30:00Z' + region: + type: string + description: > + The cloud region where the key is deployed. This + value is computed by the + + API after the key is successfully validated. + example: us-west-2 + readOnly: true + required: + - id + - metadata + - key + - provider + - state + - validation + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createByokV1Key + summary: Create a Key + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create a key. + tags: + - Keys (byok/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `Key` objects represent customer managed keys on dedicated + Confluent Cloud clusters. + + + Keys are used to protect data at rest stored in your dedicated + Confluent Cloud clusters on AWS, Azure, and GCP. + + This API allows you to upload and retrieve self-managed keys on + Confluent Cloud. + + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) + Management + API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + + ## The Keys Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud + organisation. | + properties: + api_version: + type: string + enum: + - byok/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Key + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + key: + type: object + description: | + The cloud-specific key details. + + For AWS, provide the corresponding `key_arn`. + + For Azure, provide the corresponding `key_id`. + + For GCP, provide the corresponding `key_id`. + discriminator: + propertyName: kind + mapping: + AwsKey: '#/components/schemas/byok.v1.AwsKey' + AzureKey: '#/components/schemas/byok.v1.AzureKey' + GcpKey: '#/components/schemas/byok.v1.GcpKey' + x-immutable: true + properties: + key_arn: + description: | + The Amazon Resource Name (ARN) of an AWS KMS key. + type: string + example: >- + arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + x-immutable: true + roles: + description: > + The Amazon Resource Names (ARNs) of IAM Roles created + for this key-environment combination. + type: array + items: + type: string + readOnly: true + example: + - arn:aws:iam::123456789876:role/block_storage_manager + - >- + arn:aws:iam::987654321234:role/cc-kafka-1111aaaa-11aa-11aa-11aa-111111aaaaaa + kind: + description: | + BYOK kind type. + type: string + enum: + - AwsKey + x-immutable: true + application_id: + description: > + The Application ID created for this key-environment + combination. + type: string + readOnly: true + key_id: + description: > + The unique Key Object Identifier URL without version of + an Azure Key Vault key. + type: string + example: https://vault-name.vault.azure.net/keys/key-name + x-immutable: true + key_vault_id: + description: | + Key Vault ID containing the key + type: string + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourcegroup-name/providers/Microsoft.KeyVault/vaults/vault-name + x-immutable: true + tenant_id: + description: > + Tenant ID (uuid) hosting the Key Vault containing the + key + type: string + example: 00000000-0000-0000-0000-000000000000 + x-immutable: true + security_group: + description: | + The Google security group created for this key. + type: string + example: testgroupid@domain.com + readOnly: true + required: + - key_arn + - kind + - key_id + - key_vault_id + - tenant_id + display_name: + type: string + description: | + The human-readable name of the key object. + example: Key for billing cluster + x-immutable: false + provider: + type: string + x-extensible-enum: + - AWS + - Azure + - GCP + description: The cloud provider of the Key. + readOnly: true + example: AWS + state: + type: string + x-extensible-enum: + - AVAILABLE + - IN_USE + description: | + The state of the key: + + AVAILABLE: key can be used for a Kafka cluster provisioning. + + IN_USE: key is already in use by a Kafka cluster provisioning. + readOnly: true + example: IN_USE + validation: + description: | + The validation details of the key. + readOnly: true + type: object + required: + - phase + - since + properties: + phase: + type: string + x-extensible-enum: + - INITIALIZING + - VALID + - INVALID + description: | + The validation phase of the key: + + INITIALIZING: Initial phase for new keys awaiting first successful validation. + + VALID: Last validation attempt succeeded. + + INVALID: Last validation attempt failed. + example: VALID + message: + type: string + description: | + A message describing validation events. + example: Access to key denied. + since: + type: string + format: date-time + description: > + The timestamp since which the key is in the current + validation phase. + + Changes to the validation message or phase will update + this timestamp. + example: '2024-03-20T15:30:00Z' + region: + type: string + description: > + The cloud region where the key is deployed. This value + is computed by the + + API after the key is successfully validated. + example: us-west-2 + readOnly: true + required: + - key + responses: + '201': + description: A Key was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/byok/v1/keys/{id} + description: Key resource uri + content: + application/json: + schema: + type: object + description: >- + `Key` objects represent customer managed keys on dedicated + Confluent Cloud clusters. + + + Keys are used to protect data at rest stored in your dedicated + Confluent Cloud clusters on AWS, Azure, and GCP. + + This API allows you to upload and retrieve self-managed keys + on Confluent Cloud. + + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) + Management + API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + + ## The Keys Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud + organisation. | + properties: + api_version: + type: string + enum: + - byok/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Key + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + key: + type: object + description: | + The cloud-specific key details. + + For AWS, provide the corresponding `key_arn`. + + For Azure, provide the corresponding `key_id`. + + For GCP, provide the corresponding `key_id`. + discriminator: + propertyName: kind + mapping: + AwsKey: '#/components/schemas/byok.v1.AwsKey' + AzureKey: '#/components/schemas/byok.v1.AzureKey' + GcpKey: '#/components/schemas/byok.v1.GcpKey' + x-immutable: true + properties: + key_arn: + description: | + The Amazon Resource Name (ARN) of an AWS KMS key. + type: string + example: >- + arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + x-immutable: true + roles: + description: > + The Amazon Resource Names (ARNs) of IAM Roles created + for this key-environment combination. + type: array + items: + type: string + readOnly: true + example: + - arn:aws:iam::123456789876:role/block_storage_manager + - >- + arn:aws:iam::987654321234:role/cc-kafka-1111aaaa-11aa-11aa-11aa-111111aaaaaa + kind: + description: | + BYOK kind type. + type: string + enum: + - AwsKey + x-immutable: true + application_id: + description: > + The Application ID created for this key-environment + combination. + type: string + readOnly: true + key_id: + description: > + The unique Key Object Identifier URL without version + of an Azure Key Vault key. + type: string + example: https://vault-name.vault.azure.net/keys/key-name + x-immutable: true + key_vault_id: + description: | + Key Vault ID containing the key + type: string + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourcegroup-name/providers/Microsoft.KeyVault/vaults/vault-name + x-immutable: true + tenant_id: + description: > + Tenant ID (uuid) hosting the Key Vault containing the + key + type: string + example: 00000000-0000-0000-0000-000000000000 + x-immutable: true + security_group: + description: | + The Google security group created for this key. + type: string + example: testgroupid@domain.com + readOnly: true + required: + - key_arn + - kind + - key_id + - key_vault_id + - tenant_id + display_name: + type: string + description: | + The human-readable name of the key object. + example: Key for billing cluster + x-immutable: false + provider: + type: string + x-extensible-enum: + - AWS + - Azure + - GCP + description: The cloud provider of the Key. + readOnly: true + example: AWS + state: + type: string + x-extensible-enum: + - AVAILABLE + - IN_USE + description: | + The state of the key: + + AVAILABLE: key can be used for a Kafka cluster provisioning. + + IN_USE: key is already in use by a Kafka cluster provisioning. + readOnly: true + example: IN_USE + validation: + description: | + The validation details of the key. + readOnly: true + type: object + required: + - phase + - since + properties: + phase: + type: string + x-extensible-enum: + - INITIALIZING + - VALID + - INVALID + description: | + The validation phase of the key: + + INITIALIZING: Initial phase for new keys awaiting first successful validation. + + VALID: Last validation attempt succeeded. + + INVALID: Last validation attempt failed. + example: VALID + message: + type: string + description: | + A message describing validation events. + example: Access to key denied. + since: + type: string + format: date-time + description: > + The timestamp since which the key is in the current + validation phase. + + Changes to the validation message or phase will update + this timestamp. + example: '2024-03-20T15:30:00Z' + region: + type: string + description: > + The cloud region where the key is deployed. This value + is computed by the + + API after the key is successfully validated. + example: us-west-2 + readOnly: true + required: + - key + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' '422': - description: Error code 42271 -- Invalid key - summary: Delete all versions of a dek - security: - - resource-api-key: [] - - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/dek-registry/v1/keks/{name}/deks/{subject}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/dek-registry/v1/keks/{name}/deks/{subject}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /byok/v1/keys/{id}: get: - tags: - - Data Encryption Keys (v1) - operationId: getDek + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getByokV1Key + summary: Read a Key + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read a key. parameters: - - description: Name of the kek - explode: false + - name: id in: path - name: name required: true schema: type: string - style: simple - - description: Subject of the dek - explode: false + description: The unique identifier for the key. + tags: + - Keys (byok/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Key. + content: + application/json: + schema: + type: object + description: >- + `Key` objects represent customer managed keys on dedicated + Confluent Cloud clusters. + + + Keys are used to protect data at rest stored in your dedicated + Confluent Cloud clusters on AWS, Azure, and GCP. + + This API allows you to upload and retrieve self-managed keys + on Confluent Cloud. + + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) + Management + API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + + ## The Keys Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud + organisation. | + properties: + api_version: + type: string + enum: + - byok/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Key + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + key: + type: object + description: | + The cloud-specific key details. + + For AWS, provide the corresponding `key_arn`. + + For Azure, provide the corresponding `key_id`. + + For GCP, provide the corresponding `key_id`. + discriminator: + propertyName: kind + mapping: + AwsKey: '#/components/schemas/byok.v1.AwsKey' + AzureKey: '#/components/schemas/byok.v1.AzureKey' + GcpKey: '#/components/schemas/byok.v1.GcpKey' + x-immutable: true + properties: + key_arn: + description: | + The Amazon Resource Name (ARN) of an AWS KMS key. + type: string + example: >- + arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + x-immutable: true + roles: + description: > + The Amazon Resource Names (ARNs) of IAM Roles created + for this key-environment combination. + type: array + items: + type: string + readOnly: true + example: + - arn:aws:iam::123456789876:role/block_storage_manager + - >- + arn:aws:iam::987654321234:role/cc-kafka-1111aaaa-11aa-11aa-11aa-111111aaaaaa + kind: + description: | + BYOK kind type. + type: string + enum: + - AwsKey + x-immutable: true + application_id: + description: > + The Application ID created for this key-environment + combination. + type: string + readOnly: true + key_id: + description: > + The unique Key Object Identifier URL without version + of an Azure Key Vault key. + type: string + example: https://vault-name.vault.azure.net/keys/key-name + x-immutable: true + key_vault_id: + description: | + Key Vault ID containing the key + type: string + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourcegroup-name/providers/Microsoft.KeyVault/vaults/vault-name + x-immutable: true + tenant_id: + description: > + Tenant ID (uuid) hosting the Key Vault containing the + key + type: string + example: 00000000-0000-0000-0000-000000000000 + x-immutable: true + security_group: + description: | + The Google security group created for this key. + type: string + example: testgroupid@domain.com + readOnly: true + required: + - key_arn + - kind + - key_id + - key_vault_id + - tenant_id + display_name: + type: string + description: | + The human-readable name of the key object. + example: Key for billing cluster + x-immutable: false + provider: + type: string + x-extensible-enum: + - AWS + - Azure + - GCP + description: The cloud provider of the Key. + readOnly: true + example: AWS + state: + type: string + x-extensible-enum: + - AVAILABLE + - IN_USE + description: | + The state of the key: + + AVAILABLE: key can be used for a Kafka cluster provisioning. + + IN_USE: key is already in use by a Kafka cluster provisioning. + readOnly: true + example: IN_USE + validation: + description: | + The validation details of the key. + readOnly: true + type: object + required: + - phase + - since + properties: + phase: + type: string + x-extensible-enum: + - INITIALIZING + - VALID + - INVALID + description: | + The validation phase of the key: + + INITIALIZING: Initial phase for new keys awaiting first successful validation. + + VALID: Last validation attempt succeeded. + + INVALID: Last validation attempt failed. + example: VALID + message: + type: string + description: | + A message describing validation events. + example: Access to key denied. + since: + type: string + format: date-time + description: > + The timestamp since which the key is in the current + validation phase. + + Changes to the validation message or phase will update + this timestamp. + example: '2024-03-20T15:30:00Z' + region: + type: string + description: > + The cloud region where the key is deployed. This value + is computed by the + + API after the key is successfully validated. + example: us-west-2 + readOnly: true + required: + - api_version + - kind + - id + - key + - provider + - state + - validation + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateByokV1Key + summary: Update a Key + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update a key. + + parameters: + - name: id in: path - name: subject required: true schema: type: string - style: simple - - description: Algorithm of the dek - explode: true - in: query - name: algorithm - required: false - schema: - enum: - - AES128_GCM - - AES256_GCM - - AES256_SIV - type: string - style: form - - description: Whether to include deleted keys - explode: true - in: query - name: deleted - required: false - schema: - type: boolean - style: form + description: The unique identifier for the key. + tags: + - Keys (byok/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/byok.v1.Key' responses: '200': + description: Key. content: - application/vnd.schemaregistry.v1+json: + application/json: schema: - $ref: '#/components/schemas/Dek' - application/vnd.schemaregistry+json; qs=0.9: + type: object + description: >- + `Key` objects represent customer managed keys on dedicated + Confluent Cloud clusters. + + + Keys are used to protect data at rest stored in your dedicated + Confluent Cloud clusters on AWS, Azure, and GCP. + + This API allows you to upload and retrieve self-managed keys + on Confluent Cloud. + + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) + Management + API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + + ## The Keys Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud + organisation. | + properties: + api_version: + type: string + enum: + - byok/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Key + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + key: + type: object + description: | + The cloud-specific key details. + + For AWS, provide the corresponding `key_arn`. + + For Azure, provide the corresponding `key_id`. + + For GCP, provide the corresponding `key_id`. + discriminator: + propertyName: kind + mapping: + AwsKey: '#/components/schemas/byok.v1.AwsKey' + AzureKey: '#/components/schemas/byok.v1.AzureKey' + GcpKey: '#/components/schemas/byok.v1.GcpKey' + x-immutable: true + properties: + key_arn: + description: | + The Amazon Resource Name (ARN) of an AWS KMS key. + type: string + example: >- + arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + x-immutable: true + roles: + description: > + The Amazon Resource Names (ARNs) of IAM Roles created + for this key-environment combination. + type: array + items: + type: string + readOnly: true + example: + - arn:aws:iam::123456789876:role/block_storage_manager + - >- + arn:aws:iam::987654321234:role/cc-kafka-1111aaaa-11aa-11aa-11aa-111111aaaaaa + kind: + description: | + BYOK kind type. + type: string + enum: + - AwsKey + x-immutable: true + application_id: + description: > + The Application ID created for this key-environment + combination. + type: string + readOnly: true + key_id: + description: > + The unique Key Object Identifier URL without version + of an Azure Key Vault key. + type: string + example: https://vault-name.vault.azure.net/keys/key-name + x-immutable: true + key_vault_id: + description: | + Key Vault ID containing the key + type: string + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourcegroup-name/providers/Microsoft.KeyVault/vaults/vault-name + x-immutable: true + tenant_id: + description: > + Tenant ID (uuid) hosting the Key Vault containing the + key + type: string + example: 00000000-0000-0000-0000-000000000000 + x-immutable: true + security_group: + description: | + The Google security group created for this key. + type: string + example: testgroupid@domain.com + readOnly: true + required: + - key_arn + - kind + - key_id + - key_vault_id + - tenant_id + display_name: + type: string + description: | + The human-readable name of the key object. + example: Key for billing cluster + x-immutable: false + provider: + type: string + x-extensible-enum: + - AWS + - Azure + - GCP + description: The cloud provider of the Key. + readOnly: true + example: AWS + state: + type: string + x-extensible-enum: + - AVAILABLE + - IN_USE + description: | + The state of the key: + + AVAILABLE: key can be used for a Kafka cluster provisioning. + + IN_USE: key is already in use by a Kafka cluster provisioning. + readOnly: true + example: IN_USE + validation: + description: | + The validation details of the key. + readOnly: true + type: object + required: + - phase + - since + properties: + phase: + type: string + x-extensible-enum: + - INITIALIZING + - VALID + - INVALID + description: | + The validation phase of the key: + + INITIALIZING: Initial phase for new keys awaiting first successful validation. + + VALID: Last validation attempt succeeded. + + INVALID: Last validation attempt failed. + example: VALID + message: + type: string + description: | + A message describing validation events. + example: Access to key denied. + since: + type: string + format: date-time + description: > + The timestamp since which the key is in the current + validation phase. + + Changes to the validation message or phase will update + this timestamp. + example: '2024-03-20T15:30:00Z' + region: + type: string + description: > + The cloud region where the key is deployed. This value + is computed by the + + API after the key is successfully validated. + example: us-west-2 + readOnly: true + required: + - api_version + - kind + - id + - key + - provider + - state + - validation + headers: + X-Request-Id: schema: - $ref: '#/components/schemas/Dek' - application/json; qs=0.5: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: schema: - $ref: '#/components/schemas/Dek' - description: The dek info + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' '404': - description: Error code 40470 -- Key not found + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' '422': - description: Error code 42271 -- Invalid key + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' '500': - description: Error code 50070 -- Dek generation error - summary: Get a dek by subject - security: - - resource-api-key: [] - - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/dek-registry/v1/keks/{name}/deks/{subject}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/dek-registry/v1/keks/{name}/deks/{subject}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}': + $ref: '#/components/responses/DefaultSystemError' delete: - tags: - - Data Encryption Keys (v1) - operationId: deleteDekVersion + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteByokV1Key + summary: Delete a Key + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete a key. parameters: - - description: Name of the kek - explode: false - in: path - name: name - required: true - schema: - type: string - style: simple - - description: Subject of the dek - explode: false - in: path - name: subject - required: true - schema: - type: string - style: simple - - description: Version of the dek - explode: false + - name: id in: path - name: version required: true schema: type: string - style: simple - - description: Algorithm of the dek - explode: true - in: query - name: algorithm - required: false - schema: - enum: - - AES128_GCM - - AES256_GCM - - AES256_SIV - type: string - style: form - - description: Whether to perform a permanent delete - explode: true - in: query - name: permanent - required: false - schema: - type: boolean - style: form + description: The unique identifier for the key. + tags: + - Keys (byok/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] responses: '204': - description: No Content + description: A Key is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' '404': - description: Not found. Error code 40470 -- Key not found. Error code 40471 -- Key not soft-deleted. - '422': - description: Unprocessable entity. Error code 42202 -- Invalid version. Error code 42271 -- Invalid key. - summary: Delete a dek version - security: - - resource-api-key: [] - - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - get: - tags: - - Data Encryption Keys (v1) - operationId: getDekByVersion - parameters: - - description: Name of the kek - explode: false - in: path - name: name - required: true - schema: + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true +components: + schemas: + CreateKekRequest: + example: + kmsProps: + key: kmsProps + shared: true + name: name + doc: doc + kmsKeyId: kmsKeyId + kmsType: kmsType + properties: + name: + type: string + description: Name of the kek + kmsType: + type: string + description: KMS type of the kek + kmsKeyId: + type: string + description: KMS key ID of the kek + kmsProps: + type: object + additionalProperties: type: string - style: simple - - description: Subject of the dek - explode: false - in: path - name: subject - required: true - schema: + description: Properties of the kek + doc: + type: string + description: Description of the kek + shared: + type: boolean + description: Whether the kek is shared + deleted: + type: boolean + description: Whether the kek is deleted + type: object + Kek: + example: + kmsProps: + key: kmsProps + shared: true + deleted: true + name: name + doc: doc + kmsKeyId: kmsKeyId + kmsType: kmsType + ts: 0 + properties: + name: + type: string + description: Name of the kek + kmsType: + type: string + description: KMS type of the kek + kmsKeyId: + type: string + description: KMS key ID of the kek + kmsProps: + type: object + additionalProperties: type: string - style: simple - - description: Version of the dek - explode: false - in: path - name: version - required: true - schema: + description: Properties of the kek + doc: + type: string + description: Description of the kek + shared: + type: boolean + description: Whether the kek is shared + ts: + type: integer + description: Timestamp of the kek + format: int64 + deleted: + type: boolean + description: Whether the kek is deleted + type: object + UpdateKekRequest: + example: + kmsProps: + key: kmsProps + shared: true + doc: doc + properties: + kmsProps: + type: object + additionalProperties: + type: string + description: Properties of the kek + doc: + type: string + description: Description of the kek + shared: + type: boolean + description: Whether the kek is shared + type: object + CreateDekRequest: + example: + subject: subject + encryptedKeyMaterial: encryptedKeyMaterial + version: 0 + algorithm: AES128_GCM + properties: + subject: + type: string + description: Subject of the dek + version: + type: integer + description: Version of the dek + format: int32 + algorithm: + type: string + description: Algorithm of the dek + enum: + - AES128_GCM + - AES256_GCM + - AES256_SIV + encryptedKeyMaterial: + type: string + description: Encrypted key material of the dek + deleted: + type: boolean + description: Whether the dek is deleted + type: object + Dek: + example: + kekName: kekName + keyMaterial: keyMaterial + deleted: true + subject: subject + encryptedKeyMaterial: encryptedKeyMaterial + version: 0 + algorithm: AES128_GCM + ts: 6 + properties: + kekName: + type: string + description: Kek name of the dek + subject: + type: string + description: Subject of the dek + version: + type: integer + description: Version of the dek + format: int32 + algorithm: + type: string + description: Algorithm of the dek + enum: + - AES128_GCM + - AES256_GCM + - AES256_SIV + encryptedKeyMaterial: + type: string + description: Encrypted key material of the dek + keyMaterial: + type: string + description: Raw key material of the dek + ts: + type: integer + description: Timestamp of the dek + format: int64 + deleted: + type: boolean + description: Whether the dek is deleted + type: object + SearchFilter: + description: Filter a collection by a string search + type: string + byok.v1.KeyList: + type: object + description: >- + `Key` objects represent customer managed keys on dedicated Confluent + Cloud clusters. + + + Keys are used to protect data at rest stored in your dedicated Confluent + Cloud clusters on AWS, Azure, and GCP. + + This API allows you to upload and retrieve self-managed keys on + Confluent Cloud. + + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management + API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + + ## The Keys Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud + organisation. | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - byok/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - KeyList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `Key` objects represent customer managed keys on dedicated + Confluent Cloud clusters. + + + Keys are used to protect data at rest stored in your dedicated + Confluent Cloud clusters on AWS, Azure, and GCP. + + This API allows you to upload and retrieve self-managed keys on + Confluent Cloud. + + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) + Management + API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + + ## The Keys Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud + organisation. | + properties: + api_version: + type: string + enum: + - byok/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Key + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + key: + type: object + description: | + The cloud-specific key details. + + For AWS, provide the corresponding `key_arn`. + + For Azure, provide the corresponding `key_id`. + + For GCP, provide the corresponding `key_id`. + discriminator: + propertyName: kind + mapping: + AwsKey: '#/components/schemas/byok.v1.AwsKey' + AzureKey: '#/components/schemas/byok.v1.AzureKey' + GcpKey: '#/components/schemas/byok.v1.GcpKey' + x-immutable: true + properties: + key_arn: + description: | + The Amazon Resource Name (ARN) of an AWS KMS key. + type: string + example: >- + arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + x-immutable: true + roles: + description: > + The Amazon Resource Names (ARNs) of IAM Roles created for + this key-environment combination. + type: array + items: + type: string + readOnly: true + example: + - arn:aws:iam::123456789876:role/block_storage_manager + - >- + arn:aws:iam::987654321234:role/cc-kafka-1111aaaa-11aa-11aa-11aa-111111aaaaaa + kind: + description: | + BYOK kind type. + type: string + enum: + - AwsKey + x-immutable: true + application_id: + description: > + The Application ID created for this key-environment + combination. + type: string + readOnly: true + key_id: + description: > + The unique Key Object Identifier URL without version of an + Azure Key Vault key. + type: string + example: https://vault-name.vault.azure.net/keys/key-name + x-immutable: true + key_vault_id: + description: | + Key Vault ID containing the key + type: string + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourcegroup-name/providers/Microsoft.KeyVault/vaults/vault-name + x-immutable: true + tenant_id: + description: | + Tenant ID (uuid) hosting the Key Vault containing the key + type: string + example: 00000000-0000-0000-0000-000000000000 + x-immutable: true + security_group: + description: | + The Google security group created for this key. + type: string + example: testgroupid@domain.com + readOnly: true + required: + - key_arn + - kind + - key_id + - key_vault_id + - tenant_id + display_name: + type: string + description: | + The human-readable name of the key object. + example: Key for billing cluster + x-immutable: false + provider: + type: string + x-extensible-enum: + - AWS + - Azure + - GCP + description: The cloud provider of the Key. + readOnly: true + example: AWS + state: + type: string + x-extensible-enum: + - AVAILABLE + - IN_USE + description: | + The state of the key: + + AVAILABLE: key can be used for a Kafka cluster provisioning. + + IN_USE: key is already in use by a Kafka cluster provisioning. + readOnly: true + example: IN_USE + validation: + description: | + The validation details of the key. + readOnly: true + type: object + required: + - phase + - since + properties: + phase: + type: string + x-extensible-enum: + - INITIALIZING + - VALID + - INVALID + description: | + The validation phase of the key: + + INITIALIZING: Initial phase for new keys awaiting first successful validation. + + VALID: Last validation attempt succeeded. + + INVALID: Last validation attempt failed. + example: VALID + message: + type: string + description: | + A message describing validation events. + example: Access to key denied. + since: + type: string + format: date-time + description: > + The timestamp since which the key is in the current + validation phase. + + Changes to the validation message or phase will update + this timestamp. + example: '2024-03-20T15:30:00Z' + region: + type: string + description: > + The cloud region where the key is deployed. This value is + computed by the + + API after the key is successfully validated. + example: us-west-2 + readOnly: true + required: + - id + - metadata + - key + - provider + - state + - validation + uniqueItems: true + byok.v1.Key: + type: object + description: >- + `Key` objects represent customer managed keys on dedicated Confluent + Cloud clusters. + + + Keys are used to protect data at rest stored in your dedicated Confluent + Cloud clusters on AWS, Azure, and GCP. + + This API allows you to upload and retrieve self-managed keys on + Confluent Cloud. + + + + Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management + API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + + + ## The Keys Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud + organisation. | + properties: + api_version: + type: string + enum: + - byok/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Key + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + key: + type: object + description: | + The cloud-specific key details. + + For AWS, provide the corresponding `key_arn`. + + For Azure, provide the corresponding `key_id`. + + For GCP, provide the corresponding `key_id`. + discriminator: + propertyName: kind + mapping: + AwsKey: '#/components/schemas/byok.v1.AwsKey' + AzureKey: '#/components/schemas/byok.v1.AzureKey' + GcpKey: '#/components/schemas/byok.v1.GcpKey' + x-immutable: true + properties: + key_arn: + description: | + The Amazon Resource Name (ARN) of an AWS KMS key. + type: string + example: >- + arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + x-immutable: true + roles: + description: > + The Amazon Resource Names (ARNs) of IAM Roles created for this + key-environment combination. + type: array + items: + type: string + readOnly: true + example: + - arn:aws:iam::123456789876:role/block_storage_manager + - >- + arn:aws:iam::987654321234:role/cc-kafka-1111aaaa-11aa-11aa-11aa-111111aaaaaa + kind: + description: | + BYOK kind type. + type: string + enum: + - AwsKey + x-immutable: true + application_id: + description: | + The Application ID created for this key-environment combination. + type: string + readOnly: true + key_id: + description: > + The unique Key Object Identifier URL without version of an Azure + Key Vault key. + type: string + example: https://vault-name.vault.azure.net/keys/key-name + x-immutable: true + key_vault_id: + description: | + Key Vault ID containing the key + type: string + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourcegroup-name/providers/Microsoft.KeyVault/vaults/vault-name + x-immutable: true + tenant_id: + description: | + Tenant ID (uuid) hosting the Key Vault containing the key + type: string + example: 00000000-0000-0000-0000-000000000000 + x-immutable: true + security_group: + description: | + The Google security group created for this key. + type: string + example: testgroupid@domain.com + readOnly: true + required: + - key_arn + - kind + - key_id + - key_vault_id + - tenant_id + display_name: + type: string + description: | + The human-readable name of the key object. + example: Key for billing cluster + x-immutable: false + provider: + type: string + x-extensible-enum: + - AWS + - Azure + - GCP + description: The cloud provider of the Key. + readOnly: true + example: AWS + state: + type: string + x-extensible-enum: + - AVAILABLE + - IN_USE + description: | + The state of the key: + + AVAILABLE: key can be used for a Kafka cluster provisioning. + + IN_USE: key is already in use by a Kafka cluster provisioning. + readOnly: true + example: IN_USE + validation: + description: | + The validation details of the key. + readOnly: true + type: object + required: + - phase + - since + properties: + phase: + type: string + x-extensible-enum: + - INITIALIZING + - VALID + - INVALID + description: | + The validation phase of the key: + + INITIALIZING: Initial phase for new keys awaiting first successful validation. + + VALID: Last validation attempt succeeded. + + INVALID: Last validation attempt failed. + example: VALID + message: + type: string + description: | + A message describing validation events. + example: Access to key denied. + since: + type: string + format: date-time + description: > + The timestamp since which the key is in the current validation + phase. + + Changes to the validation message or phase will update this + timestamp. + example: '2024-03-20T15:30:00Z' + region: + type: string + description: > + The cloud region where the key is deployed. This value is + computed by the + + API after the key is successfully validated. + example: us-west-2 + readOnly: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not contain + a first link, then direct navigation to the first page is not + supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not contain a + last link, then direct navigation to the last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not contain a + next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + Failure: + type: object + description: >- + Provides information about problems encountered while performing an + operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + ObjectMeta: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. It + is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + byok.v1.AwsKey: + type: object + description: | + The AWS BYOK details + properties: + key_arn: + description: | + The Amazon Resource Name (ARN) of an AWS KMS key. + type: string + example: >- + arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab + x-immutable: true + roles: + description: > + The Amazon Resource Names (ARNs) of IAM Roles created for this + key-environment combination. + type: array + items: type: string - style: simple - - description: Algorithm of the dek - explode: true - in: query - name: algorithm - required: false + readOnly: true + example: + - arn:aws:iam::123456789876:role/block_storage_manager + - >- + arn:aws:iam::987654321234:role/cc-kafka-1111aaaa-11aa-11aa-11aa-111111aaaaaa + kind: + description: | + BYOK kind type. + type: string + enum: + - AwsKey + x-immutable: true + required: + - key_arn + - kind + byok.v1.AzureKey: + type: object + description: | + The Azure BYOK details. + properties: + application_id: + description: | + The Application ID created for this key-environment combination. + type: string + readOnly: true + key_id: + description: > + The unique Key Object Identifier URL without version of an Azure Key + Vault key. + type: string + example: https://vault-name.vault.azure.net/keys/key-name + x-immutable: true + key_vault_id: + description: | + Key Vault ID containing the key + type: string + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resourcegroup-name/providers/Microsoft.KeyVault/vaults/vault-name + x-immutable: true + kind: + description: | + BYOK kind type. + type: string + enum: + - AzureKey + x-immutable: true + tenant_id: + description: | + Tenant ID (uuid) hosting the Key Vault containing the key + type: string + example: 00000000-0000-0000-0000-000000000000 + x-immutable: true + required: + - key_id + - key_vault_id + - kind + - tenant_id + byok.v1.GcpKey: + type: object + description: | + The GCP BYOK details + properties: + key_id: + description: | + The Google Cloud Platform key ID. + type: string + example: >- + projects/exampleproject/locations/us-central1/keyRings/testkeyring/cryptoKeys/testbyokkey/cryptoKeyVersions/3 + x-immutable: true + security_group: + description: | + The Google security group created for this key. + type: string + example: testgroupid@domain.com + readOnly: true + kind: + description: | + BYOK kind type. + type: string + enum: + - GcpKey + x-immutable: true + required: + - key_id + - kind + byok.v1.KeyValidation: + type: object + description: | + The validation details of the key. + required: + - phase + - since + properties: + phase: + type: string + x-extensible-enum: + - INITIALIZING + - VALID + - INVALID + description: | + The validation phase of the key: + + INITIALIZING: Initial phase for new keys awaiting first successful validation. + + VALID: Last validation attempt succeeded. + + INVALID: Last validation attempt failed. + example: VALID + message: + type: string + description: | + A message describing validation events. + example: Access to key denied. + since: + type: string + format: date-time + description: > + The timestamp since which the key is in the current validation + phase. + + Changes to the validation message or phase will update this + timestamp. + example: '2024-03-20T15:30:00Z' + region: + type: string + description: > + The cloud region where the key is deployed. This value is computed + by the + + API after the key is successfully validated. + example: us-west-2 + readOnly: true + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. + type: string + code: + description: An application-specific error code, expressed as a string value. + type: string + title: + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. + type: string + detail: + description: >- + A human-readable explanation specific to this occurrence of the + problem. + type: string + source: + type: object + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. + properties: + pointer: + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: schema: - enum: - - AES128_GCM - - AES256_GCM - - AES256_SIV type: string - style: form - - description: Whether to include deleted keys - explode: true - in: query - name: deleted - required: false - schema: - type: boolean - style: form - responses: - '200': - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/Dek' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/Dek' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/Dek' - description: The dek info - '404': - description: Error code 40470 -- Key not found - '422': - description: Unprocessable entity. Error code 42202 -- Invalid version. Error code 42271 -- Invalid key. - '500': - description: Error code 50070 -- Dek generation error - summary: Get a dek by subject and version - security: - - resource-api-key: [] - - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/dek-registry/v1/keks/{name}/deks/{subject}/versions': - get: - tags: - - Data Encryption Keys (v1) - operationId: getDekVersions - parameters: - - description: Name of the kek - explode: false - in: path - name: name - required: true + description: The unique identifier for the API request. + content: + application/json: schema: - type: string - style: simple - - description: Subject of the dek - explode: false - in: path - name: subject - required: true + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: schema: type: string - style: simple - - description: Algorithm of the dek - explode: true - in: query - name: algorithm - required: false + description: The unique identifier for the API request. + WWW-Authenticate: schema: - enum: - - AES128_GCM - - AES256_GCM - - AES256_SIV type: string - style: form - - description: Whether to include deleted keys - explode: true - in: query - name: deleted - required: false - schema: - type: boolean - style: form - responses: - '200': - content: - application/vnd.schemaregistry.v1+json: - schema: - items: - example: 1 - format: int32 - type: integer - type: array - application/vnd.schemaregistry+json; qs=0.9: - schema: - items: - example: 1 - format: int32 - type: integer - type: array - application/json; qs=0.5: - schema: - items: - example: 1 - format: int32 - type: integer - type: array - description: List of version numbers for dek - '404': - description: Error code 40470 -- Key not found - '422': - description: Error code 42271 -- Invalid key - summary: List versions of dek - security: - - resource-api-key: [] - - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/dek-registry/v1/keks/{name}/deks/{subject}/versions", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/dek-registry/v1/keks/{name}/deks/{subject}/versions", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}/undelete': - post: - tags: - - Data Encryption Keys (v1) - operationId: undeleteDekVersion - parameters: - - description: Name of the kek - explode: false - in: path - name: name - required: true + description: The unique identifier for the API request. + example: >- + Basic error="invalid_key", error_description="The API Key is + invalid" + content: + application/json: schema: - type: string - style: simple - - description: Subject of the dek - explode: false - in: path - name: subject - required: true + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: schema: type: string - style: simple - - description: Version of the dek - explode: false - in: path - name: version - required: true + description: The unique identifier for the API request. + content: + application/json: schema: - type: string - style: simple - - description: Algorithm of the dek - explode: true - in: query - name: algorithm - required: false + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: >- + The user 'mcfly' is not allowed to access the 'delorean' + resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: schema: - enum: - - AES128_GCM - - AES256_GCM - - AES256_SIV type: string - style: form - responses: - '204': - description: No Content - '404': - description: Not found. Error code 40470 -- Key not found. Error code 40472 -- Key must be undeleted. - '422': - description: Unprocessable entity. Error code 42202 -- Invalid version. Error code 42271 -- Invalid key. - summary: Undelete a dek version - security: - - resource-api-key: [] - - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}/undelete' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}/undelete") - .post(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}/undelete\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("POST", "/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}/undelete", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}/undelete", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}/undelete"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/versions/{version}/undelete"); - var request = new RestRequest(Method.POST); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/dek-registry/v1/keks/{name}/deks/{subject}/undelete': - post: - tags: - - Data Encryption Keys (v1) - operationId: undeleteDekVersions - parameters: - - description: Name of the kek - explode: false - in: path - name: name - required: true + description: The unique identifier for the API request. + X-RateLimit-Limit: schema: - type: string - style: simple - - description: Subject of the dek - explode: false - in: path - name: subject - required: true + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: schema: - type: string - style: simple - - description: Algorithm of the dek - explode: true - in: query - name: algorithm - required: false + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: schema: - enum: - - AES128_GCM - - AES256_GCM - - AES256_SIV - type: string - style: form - responses: - '204': - description: No Content - '404': - description: Not found. Error code 40470 -- Key not found. Error code 40472 -- Key must be undeleted. - '422': - description: Error code 42271 -- Invalid key - summary: Undelete all versions of a dek - security: - - resource-api-key: [] - - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url 'https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/undelete' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/undelete") - .post(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/undelete\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("POST", "/dek-registry/v1/keks/{name}/deks/{subject}/undelete", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/dek-registry/v1/keks/{name}/deks/{subject}/undelete", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/undelete"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/dek-registry/v1/keks/{name}/deks/{subject}/undelete"); - var request = new RestRequest(Method.POST); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /byok/v1/keys: - get: - operationId: listByokV1Keys - summary: List of Keys - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all keys. - parameters: - - name: provider - in: query - required: false + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. + Retry-After: schema: - $ref: '#/components/schemas/SearchFilter' - example: AWS - description: Filter the results by exact match for provider. - - name: state - in: query - required: false + type: integer + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. + DefaultSystemError: + description: Oops, something went wrong! + headers: + X-Request-Id: schema: - $ref: '#/components/schemas/SearchFilter' - example: IN_USE - description: Filter the results by exact match for state. - - name: page_size - in: query - required: false + type: string + description: The unique identifier for the API request. + content: + application/json: schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap + OverQuotaError: + x-summary: Over Quota + description: The request would exceed one or more quotas. + headers: + X-Request-Id: schema: type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Keys (byok/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Key. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/byok.v1.KeyList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/byok/v1/keys?provider=AWS&state=IN_USE' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/byok/v1/keys?provider=AWS&state=IN_USE") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/byok/v1/keys?provider=AWS&state=IN_USE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/byok/v1/keys?provider=AWS&state=IN_USE", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/byok/v1/keys?provider=AWS&state=IN_USE", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/byok/v1/keys?provider=AWS&state=IN_USE"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/byok/v1/keys?provider=AWS&state=IN_USE"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createByokV1Key - summary: Create a Key - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to create a key. - tags: - - Keys (byok/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/byok.v1.Key' - - type: object - required: - - key - responses: - '201': - description: A Key was created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/byok/v1/keys/{id}' - description: Key resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/byok.v1.Key' - - type: object - required: - - key - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/byok/v1/keys \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"key":{"key_arn":"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab","kind":"AwsKey"}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"key\":{\"key_arn\":\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\",\"kind\":\"AwsKey\"}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/byok/v1/keys") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/byok/v1/keys\"\n\n\tpayload := strings.NewReader(\"{\\\"key\\\":{\\\"key_arn\\\":\\\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\\\",\\\"kind\\\":\\\"AwsKey\\\"}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"key\":{\"key_arn\":\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\",\"kind\":\"AwsKey\"}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/byok/v1/keys", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/byok/v1/keys", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - key: { - key_arn: 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab', - kind: 'AwsKey' - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/byok/v1/keys"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"key\":{\"key_arn\":\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\",\"kind\":\"AwsKey\"}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/byok/v1/keys"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"key\":{\"key_arn\":\"arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\",\"kind\":\"AwsKey\"}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/byok/v1/keys/{id}': - get: - operationId: getByokV1Key - summary: Read a Key - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read a key. - parameters: - - name: id - in: path - required: true + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '402' + code: quota_exceeded + title: Kafka Clusters Per Org Quota Exceeded + detail: >- + The request would exceed the quota: + kafka_clusters_per_environment + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/{object}/{id} + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: >- + The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already + exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + NotFoundError: + description: Not Found + headers: + X-Request-Id: schema: type: string - description: The unique identifier for the key. - tags: - - Keys (byok/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Key. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/byok.v1.Key' - - type: object - required: - - api_version - - kind - - id - - key - - provider - - state - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/byok/v1/keys/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/byok/v1/keys/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/byok/v1/keys/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/byok/v1/keys/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/byok/v1/keys/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/byok/v1/keys/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/byok/v1/keys/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteByokV1Key - summary: Delete a Key - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to delete a key. - parameters: - - name: id - in: path - required: true + description: The unique identifier for the API request. + content: + application/json: schema: - type: string - description: The unique identifier for the key. - tags: - - Keys (byok/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A Key is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/byok/v1/keys/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/byok/v1/keys/{id}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/byok/v1/keys/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/byok/v1/keys/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/byok/v1/keys/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/byok/v1/keys/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/byok/v1/keys/{id}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + x-stackQL-resources: + key_encryption_keys: + id: confluent.encryption_keys.key_encryption_keys + name: key_encryption_keys + title: Key Encryption Keys + methods: + get_kek_names: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + objectKey: $ + create_kek: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks/post' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + delete_kek: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + get_kek: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + put_kek: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}/put' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + undelete_kek: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1undelete/post' + response: + mediaType: application/json + openAPIDocKey: '204' + test_kek: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1test/post' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/key_encryption_keys/methods/get_kek + - $ref: >- + #/components/x-stackQL-resources/key_encryption_keys/methods/get_kek_names + insert: + - $ref: >- + #/components/x-stackQL-resources/key_encryption_keys/methods/create_kek + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/key_encryption_keys/methods/delete_kek + replace: + - $ref: >- + #/components/x-stackQL-resources/key_encryption_keys/methods/put_kek + data_encryption_keys: + id: confluent.encryption_keys.data_encryption_keys + name: data_encryption_keys + title: Data Encryption Keys + methods: + get_dek_subjects: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1deks/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + objectKey: $ + create_dek: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1deks/post' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + delete_dek_versions: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1deks~1{subject}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + get_dek: + operation: + $ref: '#/paths/~1dek-registry~1v1~1keks~1{name}~1deks~1{subject}/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + undelete_dek_versions: + operation: + $ref: >- + #/paths/~1dek-registry~1v1~1keks~1{name}~1deks~1{subject}~1undelete/post + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/data_encryption_keys/methods/get_dek + - $ref: >- + #/components/x-stackQL-resources/data_encryption_keys/methods/get_dek_subjects + insert: + - $ref: >- + #/components/x-stackQL-resources/data_encryption_keys/methods/create_dek + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/data_encryption_keys/methods/delete_dek_versions + replace: [] + dek_versions: + id: confluent.encryption_keys.dek_versions + name: dek_versions + title: Dek Versions + methods: + delete_dek_version: + operation: + $ref: >- + #/paths/~1dek-registry~1v1~1keks~1{name}~1deks~1{subject}~1versions~1{version}/delete + response: + mediaType: application/json + openAPIDocKey: '204' + get_dek_by_version: + operation: + $ref: >- + #/paths/~1dek-registry~1v1~1keks~1{name}~1deks~1{subject}~1versions~1{version}/get + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + get_dek_versions: + operation: + $ref: >- + #/paths/~1dek-registry~1v1~1keks~1{name}~1deks~1{subject}~1versions/get + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + objectKey: $ + undelete_dek_version: + operation: + $ref: >- + #/paths/~1dek-registry~1v1~1keks~1{name}~1deks~1{subject}~1versions~1{version}~1undelete/post + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/dek_versions/methods/get_dek_by_version + - $ref: >- + #/components/x-stackQL-resources/dek_versions/methods/get_dek_versions + insert: [] + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/dek_versions/methods/delete_dek_version + replace: [] + keys: + id: confluent.encryption_keys.keys + name: keys + title: Keys + methods: + list_byok_v1_keys: + operation: + $ref: '#/paths/~1byok~1v1~1keys/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_byok_v1_key: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1byok~1v1~1keys/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_byok_v1_key: + operation: + $ref: '#/paths/~1byok~1v1~1keys~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_byok_v1_key: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1byok~1v1~1keys~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_byok_v1_key: + operation: + $ref: '#/paths/~1byok~1v1~1keys~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/keys/methods/get_byok_v1_key' + - $ref: '#/components/x-stackQL-resources/keys/methods/list_byok_v1_keys' + insert: + - $ref: '#/components/x-stackQL-resources/keys/methods/create_byok_v1_key' + update: + - $ref: '#/components/x-stackQL-resources/keys/methods/update_byok_v1_key' + delete: + - $ref: '#/components/x-stackQL-resources/keys/methods/delete_byok_v1_key' + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/endpoints.yaml b/providers/src/confluent/v00.00.00000/services/endpoints.yaml new file mode 100644 index 00000000..faa2c6a0 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/endpoints.yaml @@ -0,0 +1,1812 @@ +openapi: 3.0.0 +info: + title: endpoints API + description: confluent endpoints API + version: 1.0.0 +paths: + /endpoint/v1/endpoints: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listEndpointV1Endpoints + summary: List of Endpoints + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all endpoints. + parameters: + - name: cloud + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Filter the results by exact match for cloud. + - name: region + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: us-west-2 + description: Filter the results by exact match for region. + - name: service + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: KAFKA + description: Filter the results by exact match for service. + - name: is_private + in: query + required: false + schema: + $ref: '#/components/schemas/BooleanFilter' + example: true + description: > + Filter the results by whether the endpoint is private (true) or + public (false). + + If not specified, returns both private and public endpoints. + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: resource + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: lkc-abc123 + description: Filter the results by exact match for resource. + - name: page_size + in: query + required: false + schema: + type: integer + default: 100 + maximum: 1000 + x-max-page-items: 5000 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Endpoints (endpoint/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Endpoint. + content: + application/json: + schema: + type: object + description: >- + An Endpoint object represents a Fully Qualified Domain Name + (FQDN) for a Confluent service resource + + via a specific networking solution for a given Confluent Cloud + environment. + + This API provides a list of Confluent Cloud endpoints filtered + by service, cloud provider, region, etc. + + + + Related guides: + + * [Resource Overview in Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/resource-overview.html). + + * [Manage Networking on Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + + + ## The Endpoints Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - endpoint/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - EndpointList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + An Endpoint object represents a Fully Qualified Domain + Name (FQDN) for a Confluent service resource + + via a specific networking solution for a given Confluent + Cloud environment. + + This API provides a list of Confluent Cloud endpoints + filtered by service, cloud provider, region, etc. + + + + Related guides: + + * [Resource Overview in Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/resource-overview.html). + + * [Manage Networking on Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + + + ## The Endpoints Model + + + properties: + api_version: + type: string + enum: + - endpoint/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - Endpoint + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + cloud: + type: string + description: The cloud service provider. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + readOnly: true + region: + type: string + description: >- + The cloud service provider region in which the + resource is located. + example: us-west-2 + readOnly: true + service: + type: string + description: The Confluent Cloud service. + x-extensible-enum: + - KAFKA + - SCHEMA_REGISTRY + - FLINK + example: KAFKA + readOnly: true + is_private: + type: boolean + description: >- + Whether the endpoint is private (true) or public + (false). + example: true + readOnly: true + connection_type: + type: string + description: The network connection type. + x-extensible-enum: + - PUBLIC + - PRIVATE_LINK + - PEERING + - TRANSIT_GATEWAY + - PRIVATE_NETWORK_INTERFACE + example: PRIVATE_LINK + readOnly: true + endpoint: + type: string + description: The endpoint URL or address. + example: >- + https://lkc-abc123-ap12345.us-west-2.aws.accesspoint.glb.confluent.cloud:443 + readOnly: true + endpoint_type: + type: string + description: > + The endpoint type enum values: + + * `REST` - REST API endpoint for HTTP/HTTPS access, + used by Kafka/Flink/Schema Registry services. + + * `BOOTSTRAP` - Kafka native protocol bootstrap + servers for direct client connections, used by Kafka + only. + + * `LANGUAGE_SERVICE` - Flink language service + endpoint for SQL/Table API, used by Flink only. + x-extensible-enum: + - REST + - BOOTSTRAP + - LANGUAGE_SERVICE + readOnly: true + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: >- + Environment of the referred resource, if + env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + resource: + description: > + The resource associated with the endpoint. + + The resource can be one of Kafka Cluster ID + (example: lkc-12345), + + or Schema Registry Cluster ID (example: lsrc-12345). + + May be null or omitted if not associated with a + resource. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: >- + Environment of the referred resource, if + env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + gateway: + description: The gateway to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: >- + Environment of the referred resource, if + env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + access_point: + description: The access_point to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: >- + Environment of the referred resource, if + env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + required: + - id + - metadata + - cloud + - region + - service + - is_private + - connection_type + - endpoint + - endpoint_type + - environment + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + BooleanFilter: + type: boolean + description: Filter for whether this value is true or false. + endpoint.v1.EndpointList: + type: object + description: >- + An Endpoint object represents a Fully Qualified Domain Name (FQDN) for a + Confluent service resource + + via a specific networking solution for a given Confluent Cloud + environment. + + This API provides a list of Confluent Cloud endpoints filtered by + service, cloud provider, region, etc. + + + + Related guides: + + * [Resource Overview in Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/resource-overview.html). + + * [Manage Networking on Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + + + ## The Endpoints Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - endpoint/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - EndpointList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + An Endpoint object represents a Fully Qualified Domain Name (FQDN) + for a Confluent service resource + + via a specific networking solution for a given Confluent Cloud + environment. + + This API provides a list of Confluent Cloud endpoints filtered by + service, cloud provider, region, etc. + + + + Related guides: + + * [Resource Overview in Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/resource-overview.html). + + * [Manage Networking on Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + + + ## The Endpoints Model + + + properties: + api_version: + type: string + enum: + - endpoint/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Endpoint + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + cloud: + type: string + description: The cloud service provider. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + readOnly: true + region: + type: string + description: >- + The cloud service provider region in which the resource is + located. + example: us-west-2 + readOnly: true + service: + type: string + description: The Confluent Cloud service. + x-extensible-enum: + - KAFKA + - SCHEMA_REGISTRY + - FLINK + example: KAFKA + readOnly: true + is_private: + type: boolean + description: Whether the endpoint is private (true) or public (false). + example: true + readOnly: true + connection_type: + type: string + description: The network connection type. + x-extensible-enum: + - PUBLIC + - PRIVATE_LINK + - PEERING + - TRANSIT_GATEWAY + - PRIVATE_NETWORK_INTERFACE + example: PRIVATE_LINK + readOnly: true + endpoint: + type: string + description: The endpoint URL or address. + example: >- + https://lkc-abc123-ap12345.us-west-2.aws.accesspoint.glb.confluent.cloud:443 + readOnly: true + endpoint_type: + type: string + description: > + The endpoint type enum values: + + * `REST` - REST API endpoint for HTTP/HTTPS access, used by + Kafka/Flink/Schema Registry services. + + * `BOOTSTRAP` - Kafka native protocol bootstrap servers for + direct client connections, used by Kafka only. + + * `LANGUAGE_SERVICE` - Flink language service endpoint for + SQL/Table API, used by Flink only. + x-extensible-enum: + - REST + - BOOTSTRAP + - LANGUAGE_SERVICE + readOnly: true + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + resource: + description: > + The resource associated with the endpoint. + + The resource can be one of Kafka Cluster ID (example: + lkc-12345), + + or Schema Registry Cluster ID (example: lsrc-12345). + + May be null or omitted if not associated with a resource. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + gateway: + description: The gateway to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + access_point: + description: The access_point to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + required: + - id + - metadata + - cloud + - region + - service + - is_private + - connection_type + - endpoint + - endpoint_type + - environment + uniqueItems: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not contain + a first link, then direct navigation to the first page is not + supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not contain a + last link, then direct navigation to the last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not contain a + next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + endpoint.v1.Endpoint: + type: object + description: >- + An Endpoint object represents a Fully Qualified Domain Name (FQDN) for a + Confluent service resource + + via a specific networking solution for a given Confluent Cloud + environment. + + This API provides a list of Confluent Cloud endpoints filtered by + service, cloud provider, region, etc. + + + + Related guides: + + * [Resource Overview in Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/resource-overview.html). + + * [Manage Networking on Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + + + ## The Endpoints Model + + + properties: + api_version: + type: string + enum: + - endpoint/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Endpoint + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + cloud: + type: string + description: The cloud service provider. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + readOnly: true + region: + type: string + description: The cloud service provider region in which the resource is located. + example: us-west-2 + readOnly: true + service: + type: string + description: The Confluent Cloud service. + x-extensible-enum: + - KAFKA + - SCHEMA_REGISTRY + - FLINK + example: KAFKA + readOnly: true + is_private: + type: boolean + description: Whether the endpoint is private (true) or public (false). + example: true + readOnly: true + connection_type: + type: string + description: The network connection type. + x-extensible-enum: + - PUBLIC + - PRIVATE_LINK + - PEERING + - TRANSIT_GATEWAY + - PRIVATE_NETWORK_INTERFACE + example: PRIVATE_LINK + readOnly: true + endpoint: + type: string + description: The endpoint URL or address. + example: >- + https://lkc-abc123-ap12345.us-west-2.aws.accesspoint.glb.confluent.cloud:443 + readOnly: true + endpoint_type: + type: string + description: > + The endpoint type enum values: + + * `REST` - REST API endpoint for HTTP/HTTPS access, used by + Kafka/Flink/Schema Registry services. + + * `BOOTSTRAP` - Kafka native protocol bootstrap servers for direct + client connections, used by Kafka only. + + * `LANGUAGE_SERVICE` - Flink language service endpoint for SQL/Table + API, used by Flink only. + x-extensible-enum: + - REST + - BOOTSTRAP + - LANGUAGE_SERVICE + readOnly: true + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + resource: + description: | + The resource associated with the endpoint. + The resource can be one of Kafka Cluster ID (example: lkc-12345), + or Schema Registry Cluster ID (example: lsrc-12345). + May be null or omitted if not associated with a resource. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + gateway: + description: The gateway to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + access_point: + description: The access_point to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + Failure: + type: object + description: >- + Provides information about problems encountered while performing an + operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + ObjectMeta: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. It + is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + ObjectReference: + type: object + description: >- + ObjectReference provides information for you to locate the referred + object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + TypedEnvScopedObjectReference: + type: object + description: >- + ObjectReference provides information for you to locate the referred + object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. + type: string + code: + description: An application-specific error code, expressed as a string value. + type: string + title: + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. + type: string + detail: + description: >- + A human-readable explanation specific to this occurrence of the + problem. + type: string + source: + type: object + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. + properties: + pointer: + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: >- + Basic error="invalid_key", error_description="The API Key is + invalid" + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: >- + The user 'mcfly' is not allowed to access the 'delorean' + resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. + Retry-After: + schema: + type: integer + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. + DefaultSystemError: + description: Oops, something went wrong! + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap + x-stackQL-resources: + endpoints: + id: confluent.endpoints.endpoints + name: endpoints + title: Endpoints + methods: + list_endpoint_v1_endpoints: + operation: + $ref: '#/paths/~1endpoint~1v1~1endpoints/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/endpoints/methods/list_endpoint_v1_endpoints + insert: [] + update: [] + delete: [] + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/flink_artifacts.yaml b/providers/src/confluent/v00.00.00000/services/flink_artifacts.yaml index 1a8a582b..b64c96c7 100644 --- a/providers/src/confluent/v00.00.00000/services/flink_artifacts.yaml +++ b/providers/src/confluent/v00.00.00000/services/flink_artifacts.yaml @@ -1,1202 +1,2092 @@ openapi: 3.0.0 -servers: - - url: 'https://api.confluent.cloud' - description: Confluent Cloud API info: - version: '' - contact: - name: Confluent Cloud - url: 'https://www.confluent.io/cloud-contact-us/' - email: support@confluent.io - x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b - x-audience: external-public - x-logo: - url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' - title: Confluent Cloud APIs - flink_artifacts - description: flink_artifacts -tags: - - name: API Keys (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. - - The API allows you to list, create, update and delete your API Keys. - - - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - - ## The API Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - - name: Environments (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. - - - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - - ## The Environments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - - name: Organizations (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). - - The API allows you to list, view, and update your organizations. - - - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - - ## The Organizations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - - name: Users (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `User` objects represent individuals who may access your Confluent resources. - - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. - - - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). - - ## The Users Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - - name: Service Accounts (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. - - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. - - - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). - - ## The Service Accounts Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + title: flink_artifacts API + description: confluent flink_artifacts API + version: 1.0.0 +paths: + /artifact/v1/flink-artifacts: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listArtifactV1FlinkArtifacts + summary: List of Flink Artifacts + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - - name: Invitations (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + Retrieve a sorted, filtered, paginated list of all flink artifacts. + parameters: + - name: cloud + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Filter the results by exact match for cloud. + - name: region + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: us-east-1 + description: Filter the results by exact match for region. + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Flink Artifacts (artifact/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Flink Artifact. + content: + application/json: + schema: + type: object + description: >- + FlinkArtifact objects represent Flink Artifacts on Confluent + Cloud. - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + ## The Flink Artifacts Model - ## The Invitations Model - + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - artifact/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - FlinkArtifactList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + FlinkArtifact objects represent Flink Artifacts on + Confluent Cloud. + + + + ## The Flink Artifacts Model + + + properties: + api_version: + type: string + enum: + - artifact/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - FlinkArtifact + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + cloud: + type: string + description: >- + Cloud provider where the Flink Artifact archive is + uploaded. + example: AWS + maxLength: 60 + x-extensible-enum: + - AWS + - GCP + - AZURE + region: + type: string + description: >- + The Cloud provider region the Flink Artifact archive + is uploaded. + example: us-east-1 + maxLength: 60 + environment: + type: string + description: Environment the Flink Artifact belongs to. + example: env-00000 + maxLength: 255 + display_name: + type: string + description: >- + Unique name of the Flink Artifact per cloud, region, + environment scope. + maxLength: 60 + class: + type: string + description: >- + Java class or alias for the artifact as provided by + developer. Deprecated + maxLength: 150 + pattern: >- + ^(([a-zA-Z][a-zA-Z_$0-9]*(\.[a-zA-Z][a-zA-Z_$0-9]*)*)\.)?([a-zA-Z][a-zA-Z_$0-9]*)$ + example: io.confluent.example.SumScalarFunction + deprecated: true + x-immutable: true + content_format: + type: string + description: Archive format of the Flink Artifact. + example: JAR + x-extensible-enum: + - ZIP + - JAR + description: + type: string + description: Description of the Flink Artifact. + maxLength: 256 + documentation_link: + type: string + description: Documentation link of the Flink Artifact. + maxLength: 512 + pattern: ^$|^(http://|https://).+ + runtime_language: + type: string + description: Runtime language of the Flink Artifact. + example: JAVA + default: JAVA + x-extensible-enum: + - JAVA + - PYTHON + versions: + type: array + description: Versions associated with this Flink Artifact. + items: + $ref: >- + #/components/schemas/artifact.v1.FlinkArtifactVersion + required: + - id + - metadata + - cloud + - region + - environment + - display_name + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + summary: Create a new Flink Artifact. + requestBody: + content: + application/json: + schema: + type: object + properties: + cloud: + type: string + description: Cloud provider where the Flink Artifact archive is uploaded. + example: AWS + maxLength: 60 + x-extensible-enum: + - AWS + - GCP + - AZURE + region: + type: string + description: >- + The Cloud provider region the Flink Artifact archive is + uploaded. + example: us-east-1 + maxLength: 60 + environment: + type: string + description: Environment the Flink Artifact belongs to. + example: env-00000 + maxLength: 255 + display_name: + type: string + description: >- + Unique name of the Flink Artifact per cloud, region, + environment scope. + maxLength: 60 + class: + type: string + description: >- + Java class or alias for the artifact as provided by + developer. Deprecated + maxLength: 150 + pattern: >- + ^(([a-zA-Z][a-zA-Z_$0-9]*(\.[a-zA-Z][a-zA-Z_$0-9]*)*)\.)?([a-zA-Z][a-zA-Z_$0-9]*)$ + example: io.confluent.example.SumScalarFunction + deprecated: true + content_format: + type: string + description: Archive format of the Flink Artifact. + example: JAR + x-extensible-enum: + - ZIP + - JAR + description: + type: string + description: Description of the Flink Artifact. + maxLength: 256 + documentation_link: + type: string + description: Documentation link of the Flink Artifact. + maxLength: 512 + pattern: ^$|^(http://|https://).+ + runtime_language: + type: string + description: Runtime language of the Flink Artifact. + example: JAVA + default: JAVA + x-extensible-enum: + - JAVA + - PYTHON + upload_source: + type: object + description: Upload source of the Flink Artifact source. + discriminator: + propertyName: location + mapping: + PRESIGNED_URL_LOCATION: >- + #/components/schemas/artifact.v1.UploadSource.PresignedUrl + properties: + api_version: + type: string + enum: + - artifact.v1/UploadSource + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PresignedUrl + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but + not space. That is, you can assume that the ID will not + be reclaimed and reused after an object is deleted + ("time"); however, it may collide with IDs for other + object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the + service location, API version, and other particulars + necessary to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. + It is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is + in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + location: + type: string + description: | + Location of the Flink Artifact source. + x-extensible-enum: + - PRESIGNED_URL_LOCATION + example: PRESIGNED_URL_LOCATION + upload_id: + type: string + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + description: >- + Upload ID returned by the `/presigned-upload-url` API. + This field returns an empty string in all responses. + required: + - cloud + - region + - environment + - display_name + - upload_source + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createArtifactV1FlinkArtifact + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - - name: IP Groups (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + Make a request to create a flink artifact. + parameters: + - name: cloud + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Scope the operation to the given cloud. + - name: region + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: us-east-1 + description: Scope the operation to the given region. + tags: + - Flink Artifacts (artifact/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '201': + description: A Flink Artifact was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/artifact/v1/flink-artifacts/{id} + description: FlinkArtifact resource uri + content: + application/json: + schema: + type: object + description: >- + FlinkArtifact objects represent Flink Artifacts on Confluent + Cloud. + + + + ## The Flink Artifacts Model + + + properties: + api_version: + type: string + enum: + - artifact/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - FlinkArtifact + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + cloud: + type: string + description: >- + Cloud provider where the Flink Artifact archive is + uploaded. + example: AWS + maxLength: 60 + x-extensible-enum: + - AWS + - GCP + - AZURE + region: + type: string + description: >- + The Cloud provider region the Flink Artifact archive is + uploaded. + example: us-east-1 + maxLength: 60 + environment: + type: string + description: Environment the Flink Artifact belongs to. + example: env-00000 + maxLength: 255 + display_name: + type: string + description: >- + Unique name of the Flink Artifact per cloud, region, + environment scope. + maxLength: 60 + class: + type: string + description: >- + Java class or alias for the artifact as provided by + developer. Deprecated + maxLength: 150 + pattern: >- + ^(([a-zA-Z][a-zA-Z_$0-9]*(\.[a-zA-Z][a-zA-Z_$0-9]*)*)\.)?([a-zA-Z][a-zA-Z_$0-9]*)$ + example: io.confluent.example.SumScalarFunction + deprecated: true + x-immutable: true + content_format: + type: string + description: Archive format of the Flink Artifact. + example: JAR + x-extensible-enum: + - ZIP + - JAR + description: + type: string + description: Description of the Flink Artifact. + maxLength: 256 + documentation_link: + type: string + description: Documentation link of the Flink Artifact. + maxLength: 512 + pattern: ^$|^(http://|https://).+ + runtime_language: + type: string + description: Runtime language of the Flink Artifact. + example: JAVA + default: JAVA + x-extensible-enum: + - JAVA + - PYTHON + versions: + type: array + description: Versions associated with this Flink Artifact. + items: + $ref: '#/components/schemas/artifact.v1.FlinkArtifactVersion' + required: + - cloud + - region + - environment + - display_name + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /artifact/v1/flink-artifacts/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getArtifactV1FlinkArtifact + summary: Read a Flink Artifact + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + Make a request to read a flink artifact. + parameters: + - name: cloud + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Scope the operation to the given cloud. + - name: region + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: us-east-1 + description: Scope the operation to the given region. + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the flink artifact. + tags: + - Flink Artifacts (artifact/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Flink Artifact. + content: + application/json: + schema: + type: object + description: >- + FlinkArtifact objects represent Flink Artifacts on Confluent + Cloud. + + + + ## The Flink Artifacts Model + + + properties: + api_version: + type: string + enum: + - artifact/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - FlinkArtifact + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + cloud: + type: string + description: >- + Cloud provider where the Flink Artifact archive is + uploaded. + example: AWS + maxLength: 60 + x-extensible-enum: + - AWS + - GCP + - AZURE + region: + type: string + description: >- + The Cloud provider region the Flink Artifact archive is + uploaded. + example: us-east-1 + maxLength: 60 + environment: + type: string + description: Environment the Flink Artifact belongs to. + example: env-00000 + maxLength: 255 + display_name: + type: string + description: >- + Unique name of the Flink Artifact per cloud, region, + environment scope. + maxLength: 60 + class: + type: string + description: >- + Java class or alias for the artifact as provided by + developer. Deprecated + maxLength: 150 + pattern: >- + ^(([a-zA-Z][a-zA-Z_$0-9]*(\.[a-zA-Z][a-zA-Z_$0-9]*)*)\.)?([a-zA-Z][a-zA-Z_$0-9]*)$ + example: io.confluent.example.SumScalarFunction + deprecated: true + x-immutable: true + content_format: + type: string + description: Archive format of the Flink Artifact. + example: JAR + x-extensible-enum: + - ZIP + - JAR + description: + type: string + description: Description of the Flink Artifact. + maxLength: 256 + documentation_link: + type: string + description: Documentation link of the Flink Artifact. + maxLength: 512 + pattern: ^$|^(http://|https://).+ + runtime_language: + type: string + description: Runtime language of the Flink Artifact. + example: JAVA + default: JAVA + x-extensible-enum: + - JAVA + - PYTHON + versions: + type: array + description: Versions associated with this Flink Artifact. + items: + $ref: '#/components/schemas/artifact.v1.FlinkArtifactVersion' + required: + - api_version + - kind + - id + - cloud + - region + - environment + - display_name + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateArtifactV1FlinkArtifact + summary: Update a Flink Artifact + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The IP Groups Model - - - name: IP Filters (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. - - - ## The IP Filters Model - - - name: Role Bindings (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A role binding grants a Principal a role on resources that match a pattern. - - The API allows you to perform create, delete, and list operations on role bindings. - - - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). - - ## The Role Bindings Model - - - name: Subscriptions (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. - - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Subscriptions Model - - - name: Integrations (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Integrations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - - name: Notification Types (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The type of notifications (and their corresponding metadata) supported by Confluent. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Notification Types Model - - - name: Clusters (cmk/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Kafka clusters. - - - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - - name: Clusters (ksqldbcm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + Make a request to update a flink artifact. + parameters: + - name: cloud + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Scope the operation to the given cloud. + - name: region + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: us-east-1 + description: Scope the operation to the given region. + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the flink artifact. + tags: + - Flink Artifacts (artifact/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/artifact.v1.FlinkArtifact' + responses: + '200': + description: Flink Artifact. + content: + application/json: + schema: + type: object + description: >- + FlinkArtifact objects represent Flink Artifacts on Confluent + Cloud. + + + + ## The Flink Artifacts Model + + + properties: + api_version: + type: string + enum: + - artifact/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - FlinkArtifact + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + cloud: + type: string + description: >- + Cloud provider where the Flink Artifact archive is + uploaded. + example: AWS + maxLength: 60 + x-extensible-enum: + - AWS + - GCP + - AZURE + region: + type: string + description: >- + The Cloud provider region the Flink Artifact archive is + uploaded. + example: us-east-1 + maxLength: 60 + environment: + type: string + description: Environment the Flink Artifact belongs to. + example: env-00000 + maxLength: 255 + display_name: + type: string + description: >- + Unique name of the Flink Artifact per cloud, region, + environment scope. + maxLength: 60 + class: + type: string + description: >- + Java class or alias for the artifact as provided by + developer. Deprecated + maxLength: 150 + pattern: >- + ^(([a-zA-Z][a-zA-Z_$0-9]*(\.[a-zA-Z][a-zA-Z_$0-9]*)*)\.)?([a-zA-Z][a-zA-Z_$0-9]*)$ + example: io.confluent.example.SumScalarFunction + deprecated: true + x-immutable: true + content_format: + type: string + description: Archive format of the Flink Artifact. + example: JAR + x-extensible-enum: + - ZIP + - JAR + description: + type: string + description: Description of the Flink Artifact. + maxLength: 256 + documentation_link: + type: string + description: Documentation link of the Flink Artifact. + maxLength: 512 + pattern: ^$|^(http://|https://).+ + runtime_language: + type: string + description: Runtime language of the Flink Artifact. + example: JAVA + default: JAVA + x-extensible-enum: + - JAVA + - PYTHON + versions: + type: array + description: Versions associated with this Flink Artifact. + items: + $ref: '#/components/schemas/artifact.v1.FlinkArtifactVersion' + required: + - api_version + - kind + - id + - cloud + - region + - environment + - display_name + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteArtifactV1FlinkArtifact + summary: Delete a Flink Artifact + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - ## The Clusters Model - + Make a request to delete a flink artifact. + parameters: + - name: cloud + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Scope the operation to the given cloud. + - name: region + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: us-east-1 + description: Scope the operation to the given region. + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the flink artifact. + tags: + - Flink Artifacts (artifact/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Flink Artifact is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /artifact/v1/presigned-upload-url: + post: + summary: Request a presigned upload URL for a new Flink Artifact. + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## Quotas and Limits - This resource is subject to the following quotas: - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - - name: Connectors (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for Managed Connectors or Custom Connectors in Confluent Cloud. - - The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. - - Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). - - Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - name: Lifecycle (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. - - name: Status (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. - - name: Managed Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for Managed connectors in Confluent Cloud. - - name: Offsets (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the offsets for a Managed Connector. - - Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) - - name: Custom Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Custom Connector Plugins Model - - - name: Presigned Urls (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Presigned Urls Model - - - name: Cluster (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Configs (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: ACL (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Consumer Group (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Partition (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Topic (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Records (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Cluster Linking (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Applied Quotas (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. - - - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - - ## The Applied Quotas Model - - - name: Scopes (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Gets a list of all available scopes for applied quotas. - - - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). - - ## The Scopes Model - - - name: Entitlements (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Entitlement` objects represent metadata about a marketplace entitlement. - - An entitlement includes metadata about a marketplace purchase - (start date, end date, billing information, partner IDs, etc). - The API allows partners to create, read, and list entitlements. (Unless you - need entitlement creation and customer registration to be separate, - we recommend using the Signup API to create an organization and entitlement - at the same time) - - The API only allows authorized partners to interact with the Entitlements API. - - name: Regions (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. - - - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Regions Model - - - name: Clusters (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list, create, read, and delete your Schema Registry clusters. - - - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Clusters Model - - - name: Clusters (srcm/v3) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list and read your Schema Registry clusters. - - - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - - ## The Clusters Model - - - name: Compatibility (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to test schema compatibility. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Config (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to manage and query schema compatibility settings and cluster configurations. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Contexts (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to retrieve information about schema contexts. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Exporters (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete exporters. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Modes (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects modes of operation. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Schemas (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schemas. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Subjects (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects and versions. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Key Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete key encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Data Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete data encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Entity (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Search (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to search for entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Types (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Provider Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. - - - ## The Provider Shared Resources Model - - - name: Provider Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderShare` object respresents the share that you have created through Stream Sharing. - - - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). - - ## The Provider Shares Model - - - name: Consumer Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Request a presigned upload URL to upload a Flink Artifact archive. + requestBody: + content: + application/json: + schema: + type: object + description: | + Request schema of the presigned upload URL. + properties: + api_version: + type: string + enum: + - artifact/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PresignedUrlRequest + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + content_format: + type: string + example: JAR + description: Archive format of the Flink Artifact. + x-extensible-enum: + - JAR + - ZIP + cloud: + type: string + example: AWS + description: Cloud provider where the Flink Artifact archive is uploaded. + x-extensible-enum: + - AWS + - GCP + - AZURE + region: + type: string + example: us-east-1 + description: >- + The Cloud provider region the Flink Artifact archive is + uploaded. + maxLength: 60 + environment: + type: string + example: env-00000 + description: The Environment the uploaded Flink Artifact belongs to. + maxLength: 255 + required: + - content_format + - cloud + - region + - environment + x-lifecycle-stage: General Availability + x-self-access: true + x-name: artifact.v1.PresignedUrl + operationId: presigned-upload-urlArtifactV1PresignedUrl + tags: + - Presigned Urls (artifact/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: Presigned Url. + content: + application/json: + schema: + type: object + description: >- + Request a presigned upload URL for new Flink Artifact. Note + that + + the URL policy expires in one hour. If the policy expires, you + can request + + a new presigned upload URL. + + + + ## The Presigned Urls Model + + + properties: + api_version: + type: string + enum: + - artifact/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PresignedUrl + content_format: + type: string + description: Content format of the Flink Artifact archive. + example: JAR + x-extensible-enum: + - ZIP + - JAR + readOnly: true + cloud: + type: string + description: >- + Cloud provider where the Flink Artifact archive is + uploaded. + example: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + readOnly: true + region: + type: string + description: >- + The Cloud provider region the Flink Artifact archive is + uploaded. + example: us-east-1 + readOnly: true + environment: + type: string + description: The Environment the uploaded Flink Artifact belongs to. + example: env-00000 + readOnly: true + upload_id: + type: string + description: Unique identifier of this upload. + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + readOnly: true + upload_url: + type: string + format: uri + description: Upload URL for the Flink Artifact archive. + example: >- + https://confluent-flink-artifacts-stag-us-west-2.s3.dualstack.us-west-2.amazonaws.com/ + readOnly: true + upload_form_data: + type: string + description: >- + Upload form data of the Flink Artifact. All values should + be strings. (opaque JSON object) + example: + bucket: confluent-flink-artifacts-stag-us-west-2 + key: >- + staging/flink-artifact/2f37f0b6-f8da-4e8b-bc5f-282ebb0511be/flink-e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66/artifact.jar + policy: string + x-amz-algorithm: AWS4-HMAC-SHA256 + x-amz-credential: string + x-amz-date: 20230725T013857Z + x-amz-security-token: string + x-amz-signature: string + readOnly: true + required: + - api_version + - kind + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + artifact.v1.FlinkArtifactList: + type: object + description: >- + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. - `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. - ## The Consumer Shared Resources Model - - - name: Consumer Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Flink Artifacts Model - `ConsumerShare` object respresents the share that you received through Stream Sharing. + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - artifact/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - FlinkArtifactList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + FlinkArtifact objects represent Flink Artifacts on Confluent + Cloud. - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). - ## The Consumer Shares Model - - - name: Shared Tokens (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Flink Artifacts Model - Encrypted Token shared with consumer + + properties: + api_version: + type: string + enum: + - artifact/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - FlinkArtifact + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + cloud: + type: string + description: Cloud provider where the Flink Artifact archive is uploaded. + example: AWS + maxLength: 60 + x-extensible-enum: + - AWS + - GCP + - AZURE + region: + type: string + description: >- + The Cloud provider region the Flink Artifact archive is + uploaded. + example: us-east-1 + maxLength: 60 + environment: + type: string + description: Environment the Flink Artifact belongs to. + example: env-00000 + maxLength: 255 + display_name: + type: string + description: >- + Unique name of the Flink Artifact per cloud, region, + environment scope. + maxLength: 60 + class: + type: string + description: >- + Java class or alias for the artifact as provided by developer. + Deprecated + maxLength: 150 + pattern: >- + ^(([a-zA-Z][a-zA-Z_$0-9]*(\.[a-zA-Z][a-zA-Z_$0-9]*)*)\.)?([a-zA-Z][a-zA-Z_$0-9]*)$ + example: io.confluent.example.SumScalarFunction + deprecated: true + x-immutable: true + content_format: + type: string + description: Archive format of the Flink Artifact. + example: JAR + x-extensible-enum: + - ZIP + - JAR + description: + type: string + description: Description of the Flink Artifact. + maxLength: 256 + documentation_link: + type: string + description: Documentation link of the Flink Artifact. + maxLength: 512 + pattern: ^$|^(http://|https://).+ + runtime_language: + type: string + description: Runtime language of the Flink Artifact. + example: JAVA + default: JAVA + x-extensible-enum: + - JAVA + - PYTHON + versions: + type: array + description: Versions associated with this Flink Artifact. + items: + $ref: '#/components/schemas/artifact.v1.FlinkArtifactVersion' + required: + - id + - metadata + - cloud + - region + - environment + - display_name + uniqueItems: true + artifact.v1.UploadSource.PresignedUrl: + type: object + description: >- + Request a presigned upload URL for new Flink Artifact. Note that + the URL policy expires in one hour. If the policy expires, you can + request - ## The Shared Tokens Model - - - name: Opt Ins (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + a new presigned upload URL. - Stream sharing opt in options - ## The Opt Ins Model - - - name: Organizations (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - `Organizations` objects represent an entire Confluent Cloud organization. - Partners are allowed to get an organization they have signed up or - list all organizations they have signed up. - - name: Signup (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + ## The Presigned Urls Model - `Signup` APIs can only be performed by partners. - - name: Networks (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + properties: + api_version: + type: string + enum: + - artifact.v1/UploadSource + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PresignedUrl + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + location: + type: string + description: | + Location of the Flink Artifact source. + x-extensible-enum: + - PRESIGNED_URL_LOCATION + example: PRESIGNED_URL_LOCATION + upload_id: + type: string + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + description: >- + Upload ID returned by the `/presigned-upload-url` API. This field + returns an empty string in all responses. + artifact.v1.FlinkArtifact: + type: object + description: >- + FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. - The API allows you to list, create, read, update, and delete your networks. + ## The Flink Artifacts Model - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - - ## The Networks Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - - name: Peerings (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - - - ## The Peerings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - - name: Transit Gateway Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AWS Transit Gateway Attachments - - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - - ## The Transit Gateway Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - - name: Private Link Accesses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. - - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). - - - ## The Private Link Accesses Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - - name: Network Link Services (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Services Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - - name: Network Link Endpoints (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Endpoints Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - - name: Network Link Service Associations (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - List of incoming Network Link Enpoints associated with the Network Link Service. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Service Associations Model - - - name: Gateways (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A gateway is a resource that defines network access to Confluent cloud resources. - - - ## The Gateways Model - - - name: IP Addresses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - IP Addresses - - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) - - ## The IP Addresses Model - - - name: Private Link Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. - - - ## The Private Link Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - - name: Private Link Attachment Connections (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. - - - ## The Private Link Attachment Connections Model - - - name: Identity Providers (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Identity Provider. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Identity Providers Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - - name: Jwks (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. - - The API allows you to refresh JWKS public key data. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Jwks Model - - - name: Identity Pools (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. - - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. - - - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). - - ## The Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - - name: OAuth Tokens (sts/v1) - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of - external identities to access Confluent Cloud APIs - - name: Client Quotas (kafka-quotas/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ClientQuota` objects represent Client Quotas you can set at the service account level. - - The API allows you to list, create, read, update, and delete your client quotas. - - - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - - ## The Client Quotas Model - - - name: Pipelines (sd/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. - - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. - - - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). - - ## The Pipelines Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - - name: Keys (byok/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. - - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. - - - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). - - ## The Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - - name: Costs (billing/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cost` objects represent the aggregated billing costs for an organization - - - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). - - ## The Costs Model - - - name: Group Mappings (iam/v2/sso) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. - - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. - - - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). - - ## The Group Mappings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - - name: Compute Pools (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. - - - ## The Compute Pools Model - - - name: Regions (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. - - - ## The Regions Model - - - name: Statements (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - - name: Statement Results (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementResult` represents a result of a `Statement` resource. - The API allows you to read your statement's results. - ## The Statement Results Model - - - name: Statement Exceptions (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementException` represents an exception of a `Statement` resource. - The API allows you to read your statement's exceptions. - ## The Statement Exceptions Model - - - name: Connections (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Connection` represents a core resource used to model SQL connections for execution. - A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - - name: DNS Forwarders (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add, remove, and update DNS forwarder for your gateway. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - - - ## The DNS Forwarders Model - - - name: Access Points (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. - - - ## The Access Points Model - - - name: DNS Records (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - - ## The DNS Records Model - - - name: Certificate Authorities (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Certificate Authority. - - - Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). - - ## The Certificate Authorities Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `certificate_authorities_per_org` | Number of certificate authorities per organization | - - name: Certificate Identity Pools (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Identitypool` objects represent workload identities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities - - - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). - - ## The Certificate Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - - name: Integrations (pim/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). - - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. - - - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). - - ## The Integrations Model - - - name: Flink Artifacts (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. - - - ## The Flink Artifacts Model - - - name: Presigned Urls (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - - ## The Presigned Urls Model - - - name: Flink Artifact Versions (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. - - - ## The Flink Artifact Versions Model - -components: - schemas: - SearchFilter: - description: Filter a collection by a string search - type: string - artifact.v1.FlinkArtifactList: - type: object - description: |- - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. - - - ## The Flink Artifacts Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - artifact/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - FlinkArtifactList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/artifact/v1/flink-artifacts' - last: - example: 'https://api.confluent.cloud/artifact/v1/flink-artifacts?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/artifact/v1/flink-artifacts?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/artifact/v1/flink-artifacts?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/artifact.v1.FlinkArtifact' - - type: object - required: - - id - - metadata - - cloud - - region - - environment - - class - - display_name - uniqueItems: true - ListMeta: - type: object - description: ListMeta describes metadata that resource collections may have - properties: - first: - description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds' - last: - description: 'A link to the last page of results. If a response does not contain a last link, then direct navigation to the last page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT' - prev: - description: 'A link to the previous page of results. If a response does not contain a prev link, then either there is no previous data or backwards traversal through the result set is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld' - next: - description: 'A link to the next page of results. If a response does not contain a next link, then there is no more data available.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb' - total_size: - description: Number of records in the full result set. This response may be paginated and have a smaller number of records. - type: integer - format: int32 - minimum: 0 - example: 123 - artifact.v1.FlinkArtifact: - type: object - description: |- - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. - - - ## The Flink Artifacts Model - + properties: api_version: type: string enum: - artifact/v1 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string @@ -1205,19 +2095,69 @@ components: enum: - FlinkArtifact id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). type: string maxLength: 255 readOnly: true example: dlz-f3a90de metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/artifact/v1/flink-artifacts/fa-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/flink-artifact=fa-12345' + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object cloud: type: string description: Cloud provider where the Flink Artifact archive is uploaded. @@ -1239,14 +2179,20 @@ components: maxLength: 255 display_name: type: string - description: Display name of the Flink Artifact. + description: >- + Unique name of the Flink Artifact per cloud, region, environment + scope. maxLength: 60 class: type: string - description: Java class or alias for the artifact as provided by developer. + description: >- + Java class or alias for the artifact as provided by developer. + Deprecated maxLength: 150 - pattern: '^(([a-zA-Z][a-zA-Z_$0-9]*(\.[a-zA-Z][a-zA-Z_$0-9]*)*)\.)?([a-zA-Z][a-zA-Z_$0-9]*)$' + pattern: >- + ^(([a-zA-Z][a-zA-Z_$0-9]*(\.[a-zA-Z][a-zA-Z_$0-9]*)*)\.)?([a-zA-Z][a-zA-Z_$0-9]*)$ example: io.confluent.example.SumScalarFunction + deprecated: true x-immutable: true content_format: type: string @@ -1261,9 +2207,9 @@ components: maxLength: 256 documentation_link: type: string - description: Document link of the Flink Artifact. + description: Documentation link of the Flink Artifact. maxLength: 512 - pattern: '^$|^(http://|https://).+' + pattern: ^$|^(http://|https://).+ runtime_language: type: string description: Runtime language of the Flink Artifact. @@ -1277,293 +2223,315 @@ components: description: Versions associated with this Flink Artifact. items: $ref: '#/components/schemas/artifact.v1.FlinkArtifactVersion' - AclOperation: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - AclPatternType: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - MATCH - - LITERAL - - PREFIXED - AclPermission: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - DENY - - ALLOW - AclResourceType: - type: string - enum: - - UNKNOWN - - ANY - - TOPIC - - GROUP - - CLUSTER - - TRANSACTIONAL_ID - - DELEGATION_TOKEN - BrokerTaskType: - type: string - enum: - - add-broker - - remove-broker - MirrorTopicStatus: - enum: - - ACTIVE - - FAILED - - LINK_FAILED - - LINK_PAUSED - - PAUSED - - PENDING_STOPPED - - SOURCE_UNAVAILABLE - - STOPPED - - PENDING_MIRROR - - PENDING_SYNCHRONIZE - - PENDING_SETUP_FOR_RESTORE - - PENDING_RESTORE - type: string - Failure: - type: object - description: Provides information about problems encountered while performing an operation. - required: - - errors - properties: - errors: - description: List of errors which caused this operation to fail - type: array - items: - $ref: '#/components/schemas/Error' - uniqueItems: true - AlterConfigBatchRequestData: + artifact.v1.PresignedUrlRequest: type: object - required: - - data + description: | + Request schema of the presigned upload URL. properties: - data: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - operation: - type: string - x-extensible-enum: - - SET - - DELETE - nullable: true - validate_only: - type: boolean - CreateAclRequestData: - type: object - required: - - resource_type - - resource_name - - pattern_type - - principal - - host - - operation - - permission - properties: - resource_type: - $ref: '#/components/schemas/AclResourceType' - resource_name: + api_version: type: string - pattern_type: - $ref: '#/components/schemas/AclPatternType' - principal: + enum: + - artifact/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: type: string - host: + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PresignedUrlRequest + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). type: string - operation: - $ref: '#/components/schemas/AclOperation' - permission: - $ref: '#/components/schemas/AclPermission' - CreateAclRequestDataList: - allOf: - - type: object + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. required: - - data + - self properties: - data: - type: array - items: - $ref: '#/components/schemas/CreateAclRequestData' - CreateTopicRequestData: - type: object - required: - - topic_name - properties: - topic_name: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + content_format: type: string - partitions_count: - type: integer - replication_factor: - type: integer - configs: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - validate_only: - type: boolean - ProduceRequest: - type: object - properties: - partition_id: - type: integer - nullable: true - format: int32 - headers: - type: array - items: - $ref: '#/components/schemas/ProduceRequestHeader' - key: - $ref: '#/components/schemas/ProduceRequestData' - value: - $ref: '#/components/schemas/ProduceRequestData' - timestamp: + example: JAR + description: Archive format of the Flink Artifact. + x-extensible-enum: + - JAR + - ZIP + cloud: type: string - format: date-time - nullable: true - UpdateConfigRequestData: + example: AWS + description: Cloud provider where the Flink Artifact archive is uploaded. + x-extensible-enum: + - AWS + - GCP + - AZURE + region: + type: string + example: us-east-1 + description: The Cloud provider region the Flink Artifact archive is uploaded. + maxLength: 60 + environment: + type: string + example: env-00000 + description: The Environment the uploaded Flink Artifact belongs to. + maxLength: 255 + artifact.v1.PresignedUrl: type: object + description: >- + Request a presigned upload URL for new Flink Artifact. Note that + + the URL policy expires in one hour. If the policy expires, you can + request + + a new presigned upload URL. + + + + ## The Presigned Urls Model + + properties: - value: + api_version: type: string - nullable: true - CreateLinkRequestData: - properties: - source_cluster_id: + enum: + - artifact/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: type: string - destination_cluster_id: + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PresignedUrl + content_format: type: string - remote_cluster_id: - description: The expected remote cluster ID. + description: Content format of the Flink Artifact archive. + example: JAR + x-extensible-enum: + - ZIP + - JAR + readOnly: true + cloud: type: string - cluster_link_id: - description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + description: Cloud provider where the Flink Artifact archive is uploaded. + example: AWS + x-extensible-enum: + - AWS + - GCP + - AZURE + readOnly: true + region: type: string - configs: - items: - $ref: '#/components/schemas/ConfigData' - type: array - type: object - UpdateLinkConfigRequestData: - properties: - value: + description: The Cloud provider region the Flink Artifact archive is uploaded. + example: us-east-1 + readOnly: true + environment: type: string - required: - - value - type: object - CreateMirrorTopicRequestData: - properties: - source_topic_name: + description: The Environment the uploaded Flink Artifact belongs to. + example: env-00000 + readOnly: true + upload_id: type: string - mirror_topic_name: + description: Unique identifier of this upload. + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + readOnly: true + upload_url: type: string - replication_factor: - type: integer - configs: - type: array - items: - $ref: '#/components/schemas/ConfigData' - required: - - source_topic_name - type: object - AlterMirrorsRequestData: - properties: - mirror_topic_names: - description: The mirror topics specified as a list of topic names. - type: array - items: - type: string - mirror_topic_name_pattern: - description: The mirror topics specified as a pattern. + format: uri + description: Upload URL for the Flink Artifact archive. + example: >- + https://confluent-flink-artifacts-stag-us-west-2.s3.dualstack.us-west-2.amazonaws.com/ + readOnly: true + upload_form_data: type: string + description: >- + Upload form data of the Flink Artifact. All values should be + strings. (opaque JSON object) + example: + bucket: confluent-flink-artifacts-stag-us-west-2 + key: >- + staging/flink-artifact/2f37f0b6-f8da-4e8b-bc5f-282ebb0511be/flink-e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66/artifact.jar + policy: string + x-amz-algorithm: AWS4-HMAC-SHA256 + x-amz-credential: string + x-amz-date: 20230725T013857Z + x-amz-security-token: string + x-amz-signature: string + readOnly: true + ListMeta: type: object - RemoveBrokersRequestData: + description: ListMeta describes metadata that resource collections may have properties: - broker_ids: - type: array - items: - type: integer - required: - - broker_ids - type: object - BrokerReplicaExclusionBatchRequestData: + first: + description: >- + A link to the first page of results. If a response does not contain + a first link, then direct navigation to the first page is not + supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not contain a + last link, then direct navigation to the last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not contain a + next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + Failure: type: object + description: >- + Provides information about problems encountered while performing an + operation. required: - - data + - errors properties: - data: + errors: + description: List of errors which caused this operation to fail type: array items: - $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + $ref: '#/components/schemas/Error' + uniqueItems: true ObjectMeta: - description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. required: - self properties: self: - description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time type: string format: uri readOnly: true - example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de resource_name: - description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name type: string format: uri readOnly: true - example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + example: crn://confluent.cloud/kafka=lkc-f3a90de created_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. updated_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. deleted_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was (or will be) deleted. It + is represented in RFC3339 format and is in UTC. readOnly: true + type: object artifact.v1.FlinkArtifactVersion: type: object description: | @@ -1584,17 +2552,251 @@ components: artifact_id: type: object description: The Flink Artifact this version belongs to. - allOf: - - $ref: '#/components/schemas/artifact.v1.FlinkArtifact' + properties: + api_version: + type: string + enum: + - artifact/v1 + description: >- + APIVersion defines the schema version of this representation of + a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - FlinkArtifact + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be reclaimed + and reused after an object is deleted ("time"); however, it may + collide with IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object + can be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as + a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It + is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + cloud: + type: string + description: Cloud provider where the Flink Artifact archive is uploaded. + example: AWS + maxLength: 60 + x-extensible-enum: + - AWS + - GCP + - AZURE + region: + type: string + description: >- + The Cloud provider region the Flink Artifact archive is + uploaded. + example: us-east-1 + maxLength: 60 + environment: + type: string + description: Environment the Flink Artifact belongs to. + example: env-00000 + maxLength: 255 + display_name: + type: string + description: >- + Unique name of the Flink Artifact per cloud, region, environment + scope. + maxLength: 60 + class: + type: string + description: >- + Java class or alias for the artifact as provided by developer. + Deprecated + maxLength: 150 + pattern: >- + ^(([a-zA-Z][a-zA-Z_$0-9]*(\.[a-zA-Z][a-zA-Z_$0-9]*)*)\.)?([a-zA-Z][a-zA-Z_$0-9]*)$ + example: io.confluent.example.SumScalarFunction + deprecated: true + x-immutable: true + content_format: + type: string + description: Archive format of the Flink Artifact. + example: JAR + x-extensible-enum: + - ZIP + - JAR + description: + type: string + description: Description of the Flink Artifact. + maxLength: 256 + documentation_link: + type: string + description: Documentation link of the Flink Artifact. + maxLength: 512 + pattern: ^$|^(http://|https://).+ + runtime_language: + type: string + description: Runtime language of the Flink Artifact. + example: JAVA + default: JAVA + x-extensible-enum: + - JAVA + - PYTHON + versions: + type: array + description: Versions associated with this Flink Artifact. + items: + $ref: '#/components/schemas/artifact.v1.FlinkArtifactVersion' upload_source: type: object - oneOf: - - $ref: '#/components/schemas/artifact.v1.UploadSource.PresignedUrl' description: Upload source of the Flink Artifact Version. discriminator: propertyName: location mapping: PRESIGNED_URL_LOCATION: '#/components/schemas/artifact.v1.UploadSource.PresignedUrl' + properties: + api_version: + type: string + enum: + - artifact.v1/UploadSource + description: >- + APIVersion defines the schema version of this representation of + a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PresignedUrl + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be reclaimed + and reused after an object is deleted ("time"); however, it may + collide with IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object + can be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as + a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It + is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + location: + type: string + description: | + Location of the Flink Artifact source. + x-extensible-enum: + - PRESIGNED_URL_LOCATION + example: PRESIGNED_URL_LOCATION + upload_id: + type: string + example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 + description: >- + Upload ID returned by the `/presigned-upload-url` API. This + field returns an empty string in all responses. required: - version - artifact_id @@ -1608,23 +2810,36 @@ components: type: string maxLength: 255 status: - description: 'The HTTP status code applicable to this problem, expressed as a string value.' + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. type: string code: - description: 'An application-specific error code, expressed as a string value.' + description: An application-specific error code, expressed as a string value. type: string title: - description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. type: string detail: - description: A human-readable explanation specific to this occurrence of the problem. + description: >- + A human-readable explanation specific to this occurrence of the + problem. type: string source: type: object - description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. properties: pointer: - description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. type: string parameter: description: A string indicating which query parameter caused the error. @@ -1636,554 +2851,6 @@ components: type: string nullable: true additionalProperties: false - ProduceRequestHeader: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - format: byte - nullable: true - ProduceRequestData: - type: object - properties: - type: - type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - data: - $ref: '#/components/schemas/AnyValue' - nullable: true - ConfigData: - example: - name: name - value: value - properties: - name: - type: string - value: - nullable: true - type: string - required: - - name - - value - BrokerReplicaExclusionRequestData: - type: object - required: - - broker_id - - reason - properties: - broker_id: - type: integer - reason: - type: string - artifact.v1.UploadSource.PresignedUrl: - type: object - description: |- - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - - ## The Presigned Urls Model - - properties: - api_version: - type: string - enum: - - artifact.v1/UploadSource - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - PresignedUrl - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/artifact.v1/UploadSource/presigned-urls/pu-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/presigned-url=pu-12345' - location: - type: string - description: | - Location of the Flink Artifact source. - x-extensible-enum: - - PRESIGNED_URL_LOCATION - example: PRESIGNED_URL_LOCATION - upload_id: - type: string - example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 - description: Upload ID returned by the `/presigned-upload-url` API. This field returns an empty string in all responses. - AnyValue: - nullable: true - artifact.v1.FlinkArtifactUpdate: - type: object - description: |- - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. - - - ## The Flink Artifacts Model - - properties: - api_version: - type: string - enum: - - artifact/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - FlinkArtifact - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/artifact/v1/flink-artifacts/fa-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/flink-artifact=fa-12345' - cloud: - type: string - description: Cloud provider where the Flink Artifact archive is uploaded. - example: AWS - maxLength: 60 - x-extensible-enum: - - AWS - - GCP - - AZURE - region: - type: string - description: The Cloud provider region the Flink Artifact archive is uploaded. - example: us-east-1 - maxLength: 60 - environment: - type: string - description: Environment the Flink Artifact belongs to. - example: env-00000 - maxLength: 255 - display_name: - type: string - description: Display name of the Flink Artifact. - maxLength: 60 - content_format: - type: string - description: Archive format of the Flink Artifact. - example: JAR - x-extensible-enum: - - ZIP - - JAR - description: - type: string - description: Description of the Flink Artifact. - maxLength: 256 - documentation_link: - type: string - description: Document link of the Flink Artifact. - maxLength: 512 - pattern: '^$|^(http://|https://).+' - runtime_language: - type: string - description: Runtime language of the Flink Artifact. - example: JAVA - default: JAVA - x-extensible-enum: - - JAVA - - PYTHON - versions: - type: array - description: Versions associated with this Flink Artifact. - items: - $ref: '#/components/schemas/artifact.v1.FlinkArtifactVersion' - artifact.v1.PresignedUrlRequest: - type: object - description: | - Request schema of the presigned upload URL. - properties: - api_version: - type: string - enum: - - artifact/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - PresignedUrlRequest - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/artifact/v1/presigned-url-requests/pur-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/presigned-url-request=pur-12345' - content_format: - type: string - example: JAR - description: Archive format of the Flink Artifact. - x-extensible-enum: - - JAR - - ZIP - cloud: - type: string - example: AWS - description: Cloud provider where the Flink Artifact archive is uploaded. - x-extensible-enum: - - AWS - - GCP - - AZURE - region: - type: string - example: us-east-1 - description: The Cloud provider region the Flink Artifact archive is uploaded. - maxLength: 60 - artifact.v1.PresignedUrl: - type: object - description: |- - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - - ## The Presigned Urls Model - - properties: - api_version: - type: string - enum: - - artifact/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - PresignedUrl - content_format: - type: string - description: Content format of the Flink Artifact archive. - example: JAR - x-extensible-enum: - - ZIP - - JAR - readOnly: true - cloud: - type: string - description: Cloud provider where the Flink Artifact archive is uploaded. - example: AWS - x-extensible-enum: - - AWS - - GCP - - AZURE - readOnly: true - region: - type: string - description: The Cloud provider region the Flink Artifact archive is uploaded. - example: us-east-1 - readOnly: true - upload_id: - type: string - description: Unique identifier of this upload. - example: e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66 - readOnly: true - upload_url: - type: string - format: uri - description: Upload URL for the Flink Artifact archive. - example: 'https://confluent-flink-artifacts-stag-us-west-2.s3.dualstack.us-west-2.amazonaws.com/' - readOnly: true - upload_form_data: - type: object - description: Upload form data of the Flink Artifact. All values should be strings. - example: - bucket: confluent-flink-artifacts-stag-us-west-2 - key: staging/flink-artifact/2f37f0b6-f8da-4e8b-bc5f-282ebb0511be/flink-e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66/artifact.jar - policy: string - x-amz-algorithm: AWS4-HMAC-SHA256 - x-amz-credential: string - x-amz-date: 20230725T013857Z - x-amz-security-token: string - x-amz-signature: string - readOnly: true - parameters: - AclHost: - name: host - description: The ACL host. - in: query - required: false - schema: - type: string - AclOperation: - name: operation - description: The ACL operation. - in: query - required: false - schema: - $ref: '#/components/schemas/AclOperation' - AclOperationRequired: - name: operation - description: The ACL operation. - in: query - required: true - schema: - $ref: '#/components/schemas/AclOperation' - AclPatternType: - name: pattern_type - description: The ACL pattern type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPatternType' - AclPatternTypeRequired: - name: pattern_type - description: The ACL pattern type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPatternType' - AclPermission: - name: permission - description: The ACL permission. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPermission' - AclPermissionRequired: - name: permission - description: The ACL permission. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPermission' - AclPrincipal: - name: principal - description: The ACL principal. This is the Service Account name or user name. - in: query - required: false - schema: - type: string - AclResourceName: - name: resource_name - description: The ACL resource name. - in: query - required: false - schema: - type: string - AclResourceType: - name: resource_type - description: The ACL resource type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclResourceType' - AclResourceTypeRequired: - name: resource_type - description: The ACL resource type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclResourceType' - BrokerId: - name: broker_id - description: The Kafka broker ID. - in: path - required: true - schema: - type: integer - example: 1 - ClusterId: - name: cluster_id - description: The Kafka cluster ID. - in: path - required: true - schema: - type: string - example: cluster-1 - ConfigName: - name: name - description: The configuration parameter name. - in: path - required: true - schema: - type: string - example: compression.type - ConsumerGroupId: - name: consumer_group_id - description: The consumer group ID. - in: path - required: true - schema: - type: string - example: consumer-group-1 - ConsumerId: - name: consumer_id - description: The consumer ID. - in: path - required: true - schema: - type: string - example: consumer-1 - IncludeAuthorizedOperations: - name: include_authorized_operations - description: Specify if authorized operations should be included in the response. - in: query - required: false - schema: - type: boolean - PartitionId: - name: partition_id - description: The partition ID. - in: path - required: true - schema: - type: integer - example: 0 - TopicName: - name: topic_name - description: The topic name. - in: path - required: true - schema: - type: string - example: topic-1 - BrokerTaskType: - name: task_type - description: The Kafka broker task type. - in: path - required: true - schema: - $ref: '#/components/schemas/BrokerTaskType' - example: remove-broker - ShouldShutdown: - name: should_shutdown - description: 'To shutdown the broker or not, Default: true' - in: query - required: false - schema: - type: boolean - example: true - ValidateOnly: - name: validate_only - description: 'To validate the action can be performed successfully or not. Default: false' - in: query - required: false - schema: - type: boolean - example: false - ValidateLink: - name: validate_link - description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' - in: query - required: false - schema: - type: boolean - example: false - IncludeTasks: - name: include_tasks - description: 'Whether to include cluster linking tasks in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludeStateTransitionErrors: - name: include_state_transition_errors - description: 'Whether to include mirror state transition errors in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - Force: - name: force - description: 'Force the action. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludePartitionLevelTruncationData: - name: include_partition_level_truncation_data - description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - LinkName: - name: link_name - description: The link name - in: path - required: true - schema: - type: string - example: link-sb1 - LinkConfigName: - name: config_name - description: The link config name - in: path - required: true - schema: - type: string - example: consumer.offset.sync.enable - MirrorTopicStatus: - name: mirror_status - description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' - in: query - required: false - schema: - $ref: '#/components/schemas/MirrorTopicStatus' - example: ACTIVE - MirrorTopicName: - name: mirror_topic_name - description: Cluster Linking mirror topic name - in: path - required: true - schema: - type: string - example: topic-1 - QueryParamLinkName: - name: link_name - description: The link name - in: query - required: true - schema: - type: string - example: link-sb1 responses: BadRequestError: description: Bad Request @@ -2217,7 +2884,9 @@ components: schema: type: string description: The unique identifier for the API request. - example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + example: >- + Basic error="invalid_key", error_description="The API Key is + invalid" content: application/json: schema: @@ -2247,7 +2916,9 @@ components: status: '403' code: user_unauthorized title: User Access Unauthorized - detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + detail: >- + The user 'mcfly' is not allowed to access the 'delorean' + resource without the 'plutonium' role. RateLimitError: description: Rate Limit Exceeded headers: @@ -2258,7 +2929,9 @@ components: X-RateLimit-Limit: schema: type: integer - description: The maximum number of requests you're permitted to make per time period. + description: >- + The maximum number of requests you're permitted to make per time + period. X-RateLimit-Remaining: schema: type: integer @@ -2266,16 +2939,21 @@ components: X-RateLimit-Reset: schema: type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. + description: >- + The relative time in seconds until the current rate-limit window + resets. - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. Retry-After: schema: type: integer - description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. DefaultSystemError: - description: 'Oops, something went wrong!' + description: Oops, something went wrong! headers: X-Request-Id: schema: @@ -2291,7 +2969,9 @@ components: status: '500' code: out_of_gas title: DeLorean Out Of Gas - detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap ConflictError: x-summary: Conflict description: The request is in conflict with the current server state @@ -2304,7 +2984,7 @@ components: schema: type: string format: uri - example: 'https://api.confluent.cloud/{object}/{id}' + example: https://api.confluent.cloud/{object}/{id} description: Resource URI of conflicting resource content: application/json: @@ -2316,7 +2996,9 @@ components: status: '409' code: resource_already_exists title: Resource Already exists - detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + detail: >- + The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already + exists. ValidationError: description: Validation Failed headers: @@ -2334,210 +3016,324 @@ components: code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size NotFoundError: @@ -2556,419 +3352,44 @@ components: - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d status: '404' title: Not Found - securitySchemes: - cloud-api-key: - type: http - scheme: basic - description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. - confluent-sts-access-token: - type: oauth2 - description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' - scopes: {} - api-key: - type: http - scheme: basic - description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. - resource-api-key: - type: http - scheme: basic - description: | - Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID - as the username and resource-specific API Key Secret as the password. - external-access-token: - type: oauth2 - description: Authenticate with OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https:///token' - scopes: {} - oauth: - type: oauth2 - description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. - flows: - clientCredentials: - tokenUrl: /oauth2/token - scopes: - 'partner:alter': enables partners to alter entitlements - 'partner:create': enables partners to create entitlements and signup on behalf of customers - 'partner:delete': enables partners to delete entitlements and organizations - 'partner:describe': enables partners to read and list entitlements and organizations - requestBodies: - AlterBrokerConfigBatchRequest: - description: The alter broker configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterClusterConfigBatchRequest: - description: The alter cluster configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterTopicConfigBatchRequest: - description: The alter topic configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - examples: - batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only_batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only: true - CreateAclRequest: - description: The ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestData' - example: - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - BatchCreateAclRequest: - description: The batch ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestDataList' - example: - data: - - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - - resource_type: TOPIC - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: READ - permission: ALLOW - CreateTopicRequest: - description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTopicRequestData' - examples: - uniform_replication: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - configs: - - name: cleanup.policy - value: compact - - name: compression.type - value: gzip - dry_run_create_topic: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - validate_only: true - ProduceRequest: - description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' - content: - application/json: - schema: - $ref: '#/components/schemas/ProduceRequest' - examples: - binary_and_json: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - partition_id: 1 - headers: - - name: Header-1 - value: SGVhZGVyLTE= - - name: Header-2 - value: SGVhZGVyLTI= - key: - type: BINARY - data: Zm9vYmFy - value: - type: JSON - data: - foo: bar - timestamp: '2021-02-05T19:14:42Z' - string: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - value: - type: STRING - data: My message - empty_value: - description: key or value can be omitted entirely. - value: - key: - data: 1000 - UpdateBrokerConfigRequest: - description: The broker configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateClusterConfigRequest: - description: The cluster configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateTopicConfigRequest: - description: The topic configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - CreateLinkRequest: - description: Create a cluster link - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLinkRequestData' - examples: - destination_initiated_link: - description: Create a destination initiated cluster link - value: - source_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: acl.sync.enable - value: 'false' - - name: consumer.offset.sync.ms - value: '30000' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_source_cluster: - description: Create a source initiated cluster link at source cluster - value: - destination_cluster_id: cluster-2 - configs: - - name: bootstrap.servers - value: cluster-2-bootstrap-server - - name: link.mode - value: SOURCE - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_destination_cluster: - description: Create a source initiated cluster link at destination cluster - value: - destination_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: link.mode - value: DESTINATION - - name: connection.mode - value: INBOUND - - name: acl.sync.enable - value: 'false' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_east: - description: Create a bidirectional cluster link in east - value: - remote_cluster_id: cluster-west - configs: - - name: bootstrap.servers - value: cluster-west-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: west. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_west: - description: Create a bidirectional cluster link in west - value: - remote_cluster_id: cluster-east - cluster_link_id: eEBkTffYSESld6EO898x3w - configs: - - name: bootstrap.servers - value: cluster-east-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: east. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - UpdateLinkConfigRequest: - content: - application/json: - example: - value: '300000' - schema: - $ref: '#/components/schemas/UpdateLinkConfigRequestData' - description: Link config value to update - AlterLinkConfigBatchRequest: - content: - application/json: - example: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - CreateMirrorTopicRequest: - description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateMirrorTopicRequestData' - examples: - generic_example: - description: Generic example of creating a mirror topic - value: - source_topic_name: topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 1 - example_with_mirror_topic_name: - description: Example using optional mirror_topic_name flag - value: - source_topic_name: topic-1 - mirror_topic_name: link1_topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 3 - AlterMirrorsRequest: - description: Mirror topics to be altered. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterMirrorsRequestData' - examples: - mirror_topic_names: - description: Example using mirror topic names - value: - mirror_topic_names: - - topic-1 - - topic-2 - mirror_topic_name_pattern: - description: Example using mirror topic name pattern - value: - mirror_topic_name_pattern: .* - RemoveBrokersRequest: - content: - application/json: - example: - broker_ids: - - 1 - - 2 - - 3 - schema: - $ref: '#/components/schemas/RemoveBrokersRequestData' - description: Broker ids to remove - BrokerReplicaExclusionBatchRequest: - description: Alter Broker Replica Exclusions. - content: - application/json: - schema: - $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' - example: - data: - - broker_id: 1 - reason: The broker is to be removed. - - broker_id: 2 - reason: The broker is to be removed. x-stackQL-resources: flink_artifacts: id: confluent.flink_artifacts.flink_artifacts name: flink_artifacts title: Flink Artifacts methods: - list_artifact_v1flink_artifacts: + list_artifact_v1_flink_artifacts: operation: $ref: '#/paths/~1artifact~1v1~1flink-artifacts/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_artifact_v1flink_artifact: + create_artifact_v1_flink_artifact: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1artifact~1v1~1flink-artifacts/post' response: mediaType: application/json openAPIDocKey: '201' - get_artifact_v1flink_artifact: + get_artifact_v1_flink_artifact: operation: $ref: '#/paths/~1artifact~1v1~1flink-artifacts~1{id}/get' response: mediaType: application/json openAPIDocKey: '200' - update_artifact_v1flink_artifact: + update_artifact_v1_flink_artifact: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1artifact~1v1~1flink-artifacts~1{id}/patch' response: mediaType: application/json openAPIDocKey: '200' - delete_artifact_v1flink_artifact: + delete_artifact_v1_flink_artifact: operation: $ref: '#/paths/~1artifact~1v1~1flink-artifacts~1{id}/delete' response: @@ -2976,21 +3397,29 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/flink_artifacts/methods/get_artifact_v1flink_artifact' - - $ref: '#/components/x-stackQL-resources/flink_artifacts/methods/list_artifact_v1flink_artifacts' + - $ref: >- + #/components/x-stackQL-resources/flink_artifacts/methods/get_artifact_v1_flink_artifact + - $ref: >- + #/components/x-stackQL-resources/flink_artifacts/methods/list_artifact_v1_flink_artifacts insert: - - $ref: '#/components/x-stackQL-resources/flink_artifacts/methods/create_artifact_v1flink_artifact' + - $ref: >- + #/components/x-stackQL-resources/flink_artifacts/methods/create_artifact_v1_flink_artifact update: - - $ref: '#/components/x-stackQL-resources/flink_artifacts/methods/update_artifact_v1flink_artifact' - replace: [] + - $ref: >- + #/components/x-stackQL-resources/flink_artifacts/methods/update_artifact_v1_flink_artifact delete: - - $ref: '#/components/x-stackQL-resources/flink_artifacts/methods/delete_artifact_v1flink_artifact' + - $ref: >- + #/components/x-stackQL-resources/flink_artifacts/methods/delete_artifact_v1_flink_artifact + replace: [] presigned_urls: id: confluent.flink_artifacts.presigned_urls name: presigned_urls title: Presigned Urls methods: - presigned_upload_url_artifact_v1presigned_url: + presigned_upload_url_artifact_v1_presigned_url: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1artifact~1v1~1presigned-upload-url/post' response: @@ -3000,1134 +3429,7 @@ components: select: [] insert: [] update: [] - replace: [] delete: [] -paths: - /artifact/v1/flink-artifacts: - get: - x-request-access-name: Flink Artifact API EA - operationId: listArtifactV1FlinkArtifacts - summary: List of Flink Artifacts - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Retrieve a sorted, filtered, paginated list of all flink artifacts. - - If no `environment` filter is specified, returns Artifacts across envs for cloud & region. - parameters: - - name: cloud - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: AWS - description: Filter the results by exact match for cloud. - - name: region - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: us-east-1 - description: Filter the results by exact match for region. - - name: environment - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Filter the results by exact match for environment. - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Flink Artifacts (artifact/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Flink Artifact. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/artifact.v1.FlinkArtifactList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1&environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1&environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1&environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1&environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1&environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1&environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1&environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - summary: Create a new Flink Artifact. - requestBody: - content: - application/json: - schema: - type: object - properties: - cloud: - type: string - description: Cloud provider where the Flink Artifact archive is uploaded. - example: AWS - maxLength: 60 - x-extensible-enum: - - AWS - - GCP - - AZURE - region: - type: string - description: The Cloud provider region the Flink Artifact archive is uploaded. - example: us-east-1 - maxLength: 60 - environment: - type: string - description: Environment the Flink Artifact belongs to. - example: env-00000 - maxLength: 255 - display_name: - type: string - description: Display name of the Flink Artifact. - maxLength: 60 - class: - type: string - description: Java class or alias for the artifact as provided by developer. - maxLength: 150 - pattern: '^(([a-zA-Z][a-zA-Z_$0-9]*(\.[a-zA-Z][a-zA-Z_$0-9]*)*)\.)?([a-zA-Z][a-zA-Z_$0-9]*)$' - example: io.confluent.example.SumScalarFunction - content_format: - type: string - description: Archive format of the Flink Artifact. - example: JAR - x-extensible-enum: - - ZIP - - JAR - description: - type: string - description: Description of the Flink Artifact. - maxLength: 256 - documentation_link: - type: string - description: Document link of the Flink Artifact. - maxLength: 512 - pattern: '^$|^(http://|https://).+' - runtime_language: - type: string - description: Runtime language of the Flink Artifact. - example: JAVA - default: JAVA - x-extensible-enum: - - JAVA - - PYTHON - upload_source: - type: object - description: Upload source of the Flink Artifact source. - oneOf: - - $ref: '#/components/schemas/artifact.v1.UploadSource.PresignedUrl' - discriminator: - propertyName: location - mapping: - PRESIGNED_URL_LOCATION: '#/components/schemas/artifact.v1.UploadSource.PresignedUrl' - required: - - cloud - - region - - environment - - display_name - - class - - upload_source - x-request-access-name: Flink Artifact API EA - operationId: createArtifactV1FlinkArtifact - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Make a request to create a flink artifact. - parameters: - - name: cloud - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: AWS - description: Scope the operation to the given cloud. - - name: region - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: us-east-1 - description: Scope the operation to the given region. - tags: - - Flink Artifacts (artifact/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '201': - description: A Flink Artifact was created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}' - description: FlinkArtifact resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/artifact.v1.FlinkArtifact' - - type: object - required: - - cloud - - region - - environment - - class - - display_name - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url 'https://api.confluent.cloud/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"cloud":"AWS","region":"us-east-1","environment":"env-00000","display_name":"string","class":"io.confluent.example.SumScalarFunction","content_format":"JAR","description":"string","documentation_link":"string","runtime_language":"JAVA","upload_source":{"location":"PRESIGNED_URL_LOCATION","upload_id":"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66"}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":\"env-00000\",\"display_name\":\"string\",\"class\":\"io.confluent.example.SumScalarFunction\",\"content_format\":\"JAR\",\"description\":\"string\",\"documentation_link\":\"string\",\"runtime_language\":\"JAVA\",\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1\"\n\n\tpayload := strings.NewReader(\"{\\\"cloud\\\":\\\"AWS\\\",\\\"region\\\":\\\"us-east-1\\\",\\\"environment\\\":\\\"env-00000\\\",\\\"display_name\\\":\\\"string\\\",\\\"class\\\":\\\"io.confluent.example.SumScalarFunction\\\",\\\"content_format\\\":\\\"JAR\\\",\\\"description\\\":\\\"string\\\",\\\"documentation_link\\\":\\\"string\\\",\\\"runtime_language\\\":\\\"JAVA\\\",\\\"upload_source\\\":{\\\"location\\\":\\\"PRESIGNED_URL_LOCATION\\\",\\\"upload_id\\\":\\\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\\\"}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":\"env-00000\",\"display_name\":\"string\",\"class\":\"io.confluent.example.SumScalarFunction\",\"content_format\":\"JAR\",\"description\":\"string\",\"documentation_link\":\"string\",\"runtime_language\":\"JAVA\",\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - cloud: 'AWS', - region: 'us-east-1', - environment: 'env-00000', - display_name: 'string', - class: 'io.confluent.example.SumScalarFunction', - content_format: 'JAR', - description: 'string', - documentation_link: 'string', - runtime_language: 'JAVA', - upload_source: { - location: 'PRESIGNED_URL_LOCATION', - upload_id: 'e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66' - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":\"env-00000\",\"display_name\":\"string\",\"class\":\"io.confluent.example.SumScalarFunction\",\"content_format\":\"JAR\",\"description\":\"string\",\"documentation_link\":\"string\",\"runtime_language\":\"JAVA\",\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/artifact/v1/flink-artifacts?cloud=AWS®ion=us-east-1"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":\"env-00000\",\"display_name\":\"string\",\"class\":\"io.confluent.example.SumScalarFunction\",\"content_format\":\"JAR\",\"description\":\"string\",\"documentation_link\":\"string\",\"runtime_language\":\"JAVA\",\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/artifact/v1/flink-artifacts/{id}': - get: - x-request-access-name: Flink Artifact API EA - operationId: getArtifactV1FlinkArtifact - summary: Read a Flink Artifact - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Make a request to read a flink artifact. - parameters: - - name: cloud - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: AWS - description: Scope the operation to the given cloud. - - name: region - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: us-east-1 - description: Scope the operation to the given region. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the flink artifact. - tags: - - Flink Artifacts (artifact/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Flink Artifact. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/artifact.v1.FlinkArtifact' - - type: object - required: - - api_version - - kind - - id - - cloud - - region - - environment - - class - - display_name - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - x-request-access-name: Flink Artifact API EA - operationId: updateArtifactV1FlinkArtifact - summary: Update a Flink Artifact - description: |+ - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Make a request to update a flink artifact. - - parameters: - - name: cloud - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: AWS - description: Scope the operation to the given cloud. - - name: region - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: us-east-1 - description: Scope the operation to the given region. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the flink artifact. - tags: - - Flink Artifacts (artifact/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/artifact.v1.FlinkArtifactUpdate' - responses: - '200': - description: Flink Artifact. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/artifact.v1.FlinkArtifact' - - type: object - required: - - api_version - - kind - - id - - cloud - - region - - environment - - class - - display_name - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"cloud":"AWS","region":"us-east-1","environment":"env-00000","display_name":"string","class":"io.confluent.example.SumScalarFunction","content_format":"JAR","description":"string","documentation_link":"string","runtime_language":"JAVA","versions":[{"version":"cfa-ver-001","release_notes":"string","is_beta":true,"artifact_id":{},"upload_source":{"location":"PRESIGNED_URL_LOCATION","upload_id":"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66"}}]}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":\"env-00000\",\"display_name\":\"string\",\"class\":\"io.confluent.example.SumScalarFunction\",\"content_format\":\"JAR\",\"description\":\"string\",\"documentation_link\":\"string\",\"runtime_language\":\"JAVA\",\"versions\":[{\"version\":\"cfa-ver-001\",\"release_notes\":\"string\",\"is_beta\":true,\"artifact_id\":{},\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}]}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1\"\n\n\tpayload := strings.NewReader(\"{\\\"cloud\\\":\\\"AWS\\\",\\\"region\\\":\\\"us-east-1\\\",\\\"environment\\\":\\\"env-00000\\\",\\\"display_name\\\":\\\"string\\\",\\\"class\\\":\\\"io.confluent.example.SumScalarFunction\\\",\\\"content_format\\\":\\\"JAR\\\",\\\"description\\\":\\\"string\\\",\\\"documentation_link\\\":\\\"string\\\",\\\"runtime_language\\\":\\\"JAVA\\\",\\\"versions\\\":[{\\\"version\\\":\\\"cfa-ver-001\\\",\\\"release_notes\\\":\\\"string\\\",\\\"is_beta\\\":true,\\\"artifact_id\\\":{},\\\"upload_source\\\":{\\\"location\\\":\\\"PRESIGNED_URL_LOCATION\\\",\\\"upload_id\\\":\\\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\\\"}}]}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":\"env-00000\",\"display_name\":\"string\",\"class\":\"io.confluent.example.SumScalarFunction\",\"content_format\":\"JAR\",\"description\":\"string\",\"documentation_link\":\"string\",\"runtime_language\":\"JAVA\",\"versions\":[{\"version\":\"cfa-ver-001\",\"release_notes\":\"string\",\"is_beta\":true,\"artifact_id\":{},\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}]}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - cloud: 'AWS', - region: 'us-east-1', - environment: 'env-00000', - display_name: 'string', - class: 'io.confluent.example.SumScalarFunction', - content_format: 'JAR', - description: 'string', - documentation_link: 'string', - runtime_language: 'JAVA', - versions: [ - { - version: 'cfa-ver-001', - release_notes: 'string', - is_beta: true, - artifact_id: {}, - upload_source: { - location: 'PRESIGNED_URL_LOCATION', - upload_id: 'e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66' - } - } - ] - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":\"env-00000\",\"display_name\":\"string\",\"class\":\"io.confluent.example.SumScalarFunction\",\"content_format\":\"JAR\",\"description\":\"string\",\"documentation_link\":\"string\",\"runtime_language\":\"JAVA\",\"versions\":[{\"version\":\"cfa-ver-001\",\"release_notes\":\"string\",\"is_beta\":true,\"artifact_id\":{},\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}]}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":\"env-00000\",\"display_name\":\"string\",\"class\":\"io.confluent.example.SumScalarFunction\",\"content_format\":\"JAR\",\"description\":\"string\",\"documentation_link\":\"string\",\"runtime_language\":\"JAVA\",\"versions\":[{\"version\":\"cfa-ver-001\",\"release_notes\":\"string\",\"is_beta\":true,\"artifact_id\":{},\"upload_source\":{\"location\":\"PRESIGNED_URL_LOCATION\",\"upload_id\":\"e53bb2e8-8de3-49fa-9fb1-4e3fd9a16b66\"}}]}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - x-request-access-name: Flink Artifact API EA - operationId: deleteArtifactV1FlinkArtifact - summary: Delete a Flink Artifact - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Make a request to delete a flink artifact. - parameters: - - name: cloud - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: AWS - description: Scope the operation to the given cloud. - - name: region - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: us-east-1 - description: Scope the operation to the given region. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the flink artifact. - tags: - - Flink Artifacts (artifact/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A Flink Artifact is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/artifact/v1/flink-artifacts/{id}?cloud=AWS®ion=us-east-1"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /artifact/v1/presigned-upload-url: - post: - summary: Request a presigned upload URL for a new Flink Artifact. - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Request a presigned upload URL to upload a Flink Artifact archive. - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/artifact.v1.PresignedUrlRequest' - - type: object - required: - - content_format - - cloud - - region - x-request-access-name: Flink Artifact API EA - x-name: artifact.v1.PresignedUrl - operationId: presigned-upload-urlArtifactV1PresignedUrl - tags: - - Presigned Urls (artifact/v1) - security: - - cloud-api-key: [] - responses: - '200': - description: Presigned Url. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/artifact.v1.PresignedUrl' - - type: object - required: - - api_version - - kind - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/artifact/v1/presigned-upload-url \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"content_format":"JAR","cloud":"AWS","region":"us-east-1"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"content_format\":\"JAR\",\"cloud\":\"AWS\",\"region\":\"us-east-1\"}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/artifact/v1/presigned-upload-url") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/artifact/v1/presigned-upload-url\"\n\n\tpayload := strings.NewReader(\"{\\\"content_format\\\":\\\"JAR\\\",\\\"cloud\\\":\\\"AWS\\\",\\\"region\\\":\\\"us-east-1\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"content_format\":\"JAR\",\"cloud\":\"AWS\",\"region\":\"us-east-1\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/artifact/v1/presigned-upload-url", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/artifact/v1/presigned-upload-url", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({content_format: 'JAR', cloud: 'AWS', region: 'us-east-1'})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/artifact/v1/presigned-upload-url"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"content_format\":\"JAR\",\"cloud\":\"AWS\",\"region\":\"us-east-1\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/artifact/v1/presigned-upload-url"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"content_format\":\"JAR\",\"cloud\":\"AWS\",\"region\":\"us-east-1\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/flink_compute_pools.yaml b/providers/src/confluent/v00.00.00000/services/flink_compute_pools.yaml index 37af62a9..a45b9f62 100644 --- a/providers/src/confluent/v00.00.00000/services/flink_compute_pools.yaml +++ b/providers/src/confluent/v00.00.00000/services/flink_compute_pools.yaml @@ -1,1299 +1,2434 @@ openapi: 3.0.0 -servers: - - url: 'https://api.confluent.cloud' - description: Confluent Cloud API info: - version: '' - contact: - name: Confluent Cloud - url: 'https://www.confluent.io/cloud-contact-us/' - email: support@confluent.io - x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b - x-audience: external-public - x-logo: - url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' - title: Confluent Cloud APIs - flink_compute_pools - description: flink_compute_pools -tags: - - name: API Keys (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. - - The API allows you to list, create, update and delete your API Keys. - - - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - - ## The API Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - - name: Environments (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. + title: flink_compute_pools API + description: confluent flink_compute_pools API + version: 1.0.0 +paths: + /fcpm/v2/compute-pools: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listFcpmV2ComputePools + summary: List of Compute Pools + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). + Retrieve a sorted, filtered, paginated list of all compute pools. + parameters: + - name: spec.region + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: us-west-1 + description: Filter the results by exact match for spec.region. + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.network + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: n-00000 + description: Filter the results by exact match for spec.network. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Compute Pools (fcpm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Compute Pool. + content: + application/json: + schema: + type: object + description: >- + A Compute Pool represents a set of compute resources that is + used to run your Queries. - ## The Environments Model - + The resources (CPUs, memory,…) provided by a Compute Pool are + shared between all Queries that use it. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + Note that the Compute Pool API supports a limited pagination + API, only the `next` field will be populated. - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - - name: Organizations (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). - The API allows you to list, view, and update your organizations. + ## The Compute Pools Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - fcpm/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ComputePoolList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + A Compute Pool represents a set of compute resources + that is used to run your Queries. - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + The resources (CPUs, memory,…) provided by a Compute + Pool are shared between all Queries that use it. - ## The Organizations Model - + Note that the Compute Pool API supports a limited + pagination API, only the `next` field will be populated. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - - name: Users (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `User` objects represent individuals who may access your Confluent resources. + ## The Compute Pools Model - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. + + properties: + api_version: + type: string + enum: + - fcpm/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - ComputePool + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/fcpm.v2.ComputePoolSpec' + status: + $ref: '#/components/schemas/fcpm.v2.ComputePoolStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createFcpmV2ComputePool + summary: Create a Compute Pool + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). + Make a request to create a compute pool. + tags: + - Compute Pools (fcpm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + A Compute Pool represents a set of compute resources that is + used to run your Queries. + + The resources (CPUs, memory,…) provided by a Compute Pool are + shared between all Queries that use it. + + Note that the Compute Pool API supports a limited pagination + API, only the `next` field will be populated. + + + + ## The Compute Pools Model + + + properties: + api_version: + type: string + enum: + - fcpm/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ComputePool + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/fcpm.v2.ComputePoolSpec' + status: + $ref: '#/components/schemas/fcpm.v2.ComputePoolStatus' + required: + - spec + responses: + '202': + description: A Compute Pool is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/fcpm/v2/compute-pools/{id} + description: ComputePool resource uri + content: + application/json: + schema: + type: object + description: >- + A Compute Pool represents a set of compute resources that is + used to run your Queries. - ## The Users Model - + The resources (CPUs, memory,…) provided by a Compute Pool are + shared between all Queries that use it. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + Note that the Compute Pool API supports a limited pagination + API, only the `next` field will be populated. - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - - name: Service Accounts (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. + ## The Compute Pools Model + + properties: + api_version: + type: string + enum: + - fcpm/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ComputePool + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/fcpm.v2.ComputePoolSpec' + status: + $ref: '#/components/schemas/fcpm.v2.ComputePoolStatus' + required: + - spec + - status + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /fcpm/v2/compute-pools/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getFcpmV2ComputePool + summary: Read a Compute Pool + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). - ## The Service Accounts Model - + Make a request to read a compute pool. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the compute pool. + tags: + - Compute Pools (fcpm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Compute Pool. + content: + application/json: + schema: + type: object + description: >- + A Compute Pool represents a set of compute resources that is + used to run your Queries. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + The resources (CPUs, memory,…) provided by a Compute Pool are + shared between all Queries that use it. - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - - name: Invitations (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Note that the Compute Pool API supports a limited pagination + API, only the `next` field will be populated. - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + ## The Compute Pools Model - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + properties: + api_version: + type: string + enum: + - fcpm/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ComputePool + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/fcpm.v2.ComputePoolSpec' + status: + $ref: '#/components/schemas/fcpm.v2.ComputePoolStatus' + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateFcpmV2ComputePool + summary: Update a Compute Pool + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Invitations Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + Make a request to update a compute pool. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the compute pool. + tags: + - Compute Pools (fcpm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + A Compute Pool represents a set of compute resources that is + used to run your Queries. + + The resources (CPUs, memory,…) provided by a Compute Pool are + shared between all Queries that use it. + + Note that the Compute Pool API supports a limited pagination + API, only the `next` field will be populated. + + + + ## The Compute Pools Model + + + properties: + api_version: + type: string + enum: + - fcpm/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ComputePool + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/fcpm.v2.ComputePoolSpec' + status: + $ref: '#/components/schemas/fcpm.v2.ComputePoolStatus' + required: + - spec + responses: + '200': + description: Compute Pool. + content: + application/json: + schema: + type: object + description: >- + A Compute Pool represents a set of compute resources that is + used to run your Queries. - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - - name: IP Groups (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + The resources (CPUs, memory,…) provided by a Compute Pool are + shared between all Queries that use it. - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + Note that the Compute Pool API supports a limited pagination + API, only the `next` field will be populated. - ## The IP Groups Model - - - name: IP Filters (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. + ## The Compute Pools Model - - ## The IP Filters Model - - - name: Role Bindings (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A role binding grants a Principal a role on resources that match a pattern. - - The API allows you to perform create, delete, and list operations on role bindings. - - - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). - - ## The Role Bindings Model - - - name: Subscriptions (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. - - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Subscriptions Model - - - name: Integrations (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Integrations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - - name: Notification Types (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The type of notifications (and their corresponding metadata) supported by Confluent. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Notification Types Model - - - name: Clusters (cmk/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Kafka clusters. + + properties: + api_version: + type: string + enum: + - fcpm/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ComputePool + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/fcpm.v2.ComputePoolSpec' + status: + $ref: '#/components/schemas/fcpm.v2.ComputePoolStatus' + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteFcpmV2ComputePool + summary: Delete a Compute Pool + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + Make a request to delete a compute pool. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the compute pool. + tags: + - Compute Pools (fcpm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Compute Pool is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /fcpm/v2/regions: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listFcpmV2Regions + summary: List of Regions + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Clusters Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + Retrieve a sorted, filtered, paginated list of all regions. + parameters: + - name: cloud + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Filter the results by exact match for cloud. + - name: region_name + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: us-east-2 + description: Filter the results by exact match for region_name. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Regions (fcpm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Region. + content: + application/json: + schema: + type: object + description: >- + `Region` objects represent cloud provider regions available + when placing Flink compute pools. - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - - name: Clusters (ksqldbcm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to list Flink regions. - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + ## The Regions Model - ## The Clusters Model - + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - fcpm/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - RegionList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `Region` objects represent cloud provider regions + available when placing Flink compute pools. - ## Quotas and Limits - This resource is subject to the following quotas: + The API allows you to list Flink regions. - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - - name: Connectors (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for Managed Connectors or Custom Connectors in Confluent Cloud. - The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + ## The Regions Model - Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + + properties: + api_version: + type: string + enum: + - fcpm/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - Region + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The display name. + example: Ohio (us-east-2) + x-immutable: true + readOnly: true + cloud: + type: string + description: The cloud service provider that hosts the region. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + x-immutable: true + readOnly: true + region_name: + type: string + description: The region name. + example: us-east-2 + x-immutable: true + readOnly: true + http_endpoint: + type: string + description: The regional API endpoint for Flink compute pools. + format: uri + x-immutable: true + readOnly: true + private_http_endpoint: + type: string + description: >- + The private regional API endpoint for Flink compute + pools. + format: uri + x-immutable: true + readOnly: true + required: + - id + - metadata + - display_name + - cloud + - region_name + - http_endpoint + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /fcpm/v2/compute-pool-config: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getFcpmV2OrgComputePoolConfig + summary: Read an Org Compute Pool Config + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - name: Lifecycle (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. - - name: Status (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to read an org compute pool config. + tags: + - Org Compute Pool Configs (fcpm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Org Compute Pool Config. + content: + application/json: + schema: + type: object + description: >- + `OrgComputePoolConfig` manages compute pool configuration + settings for an organization. - API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. - - name: Managed Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to read and update organization-wide + settings such as whether default pools are enabled - API for Managed connectors in Confluent Cloud. - - name: Offsets (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + and their maximum CFU limits. - API for managing the offsets for a Managed Connector. - Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) - - name: Custom Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + ## The Org Compute Pool Configs Model + + properties: + api_version: + type: string + enum: + - fcpm/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - OrgComputePoolConfig + organization_id: + type: string + description: The ID of the organization. + example: 9bb441c4-edef-46ac-8a41-c49e44a3fd9a + x-immutable: true + readOnly: true + spec: + type: object + description: >- + The desired state of the organization-level Compute Pool + configuration + properties: + default_pool_enabled: + type: boolean + default: true + description: > + Whether default compute pools are enabled for the + organization. + + When enabled, environments can have default compute + pools created automatically. + x-immutable: false + default_pool_max_cfu: + type: integer + format: int32 + example: 20 + description: > + Maximum number of Confluent Flink Units (CFUs) that + default compute pools + + in this organization should auto-scale to. + x-extensible-enum: + - 5 + - 10 + - 20 + - 30 + - 40 + - 50 + x-immutable: false + x-immutable: false + required: + - api_version + - kind + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateFcpmV2OrgComputePoolConfig + summary: Update an Org Compute Pool Config + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Custom Connector Plugins Model - - - name: Presigned Urls (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. + Make a request to update an org compute pool config. + tags: + - Org Compute Pool Configs (fcpm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/fcpm.v2.OrgComputePoolConfig' + responses: + '200': + description: Org Compute Pool Config. + content: + application/json: + schema: + type: object + description: >- + `OrgComputePoolConfig` manages compute pool configuration + settings for an organization. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + The API allows you to read and update organization-wide + settings such as whether default pools are enabled + and their maximum CFU limits. - ## The Presigned Urls Model - - - name: Cluster (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Configs (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: ACL (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Consumer Group (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Partition (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Topic (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Records (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Cluster Linking (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Applied Quotas (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. + ## The Org Compute Pool Configs Model - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - - ## The Applied Quotas Model - - - name: Scopes (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Gets a list of all available scopes for applied quotas. - - - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). - - ## The Scopes Model - - - name: Entitlements (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Entitlement` objects represent metadata about a marketplace entitlement. - - An entitlement includes metadata about a marketplace purchase - (start date, end date, billing information, partner IDs, etc). - The API allows partners to create, read, and list entitlements. (Unless you - need entitlement creation and customer registration to be separate, - we recommend using the Signup API to create an organization and entitlement - at the same time) - - The API only allows authorized partners to interact with the Entitlements API. - - name: Regions (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. - - - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Regions Model - - - name: Clusters (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list, create, read, and delete your Schema Registry clusters. - - - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Clusters Model - - - name: Clusters (srcm/v3) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list and read your Schema Registry clusters. - - - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - - ## The Clusters Model - - - name: Compatibility (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to test schema compatibility. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Config (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to manage and query schema compatibility settings and cluster configurations. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Contexts (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to retrieve information about schema contexts. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Exporters (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete exporters. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Modes (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects modes of operation. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Schemas (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schemas. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Subjects (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects and versions. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Key Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete key encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Data Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete data encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Entity (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Search (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to search for entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Types (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Provider Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. - - - ## The Provider Shared Resources Model - - - name: Provider Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderShare` object respresents the share that you have created through Stream Sharing. - - - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). - - ## The Provider Shares Model - - - name: Consumer Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. - - - ## The Consumer Shared Resources Model - - - name: Consumer Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerShare` object respresents the share that you received through Stream Sharing. - - - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). - - ## The Consumer Shares Model - - - name: Shared Tokens (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Encrypted Token shared with consumer - - - ## The Shared Tokens Model - - - name: Opt Ins (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Stream sharing opt in options - - ## The Opt Ins Model - - - name: Organizations (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Organizations` objects represent an entire Confluent Cloud organization. - Partners are allowed to get an organization they have signed up or - list all organizations they have signed up. - - name: Signup (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Signup` APIs can only be performed by partners. - - name: Networks (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. - - The API allows you to list, create, read, update, and delete your networks. - - - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - - ## The Networks Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - - name: Peerings (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - - - ## The Peerings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - - name: Transit Gateway Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AWS Transit Gateway Attachments - - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - - ## The Transit Gateway Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - - name: Private Link Accesses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. - - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). - - - ## The Private Link Accesses Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + properties: + api_version: + type: string + enum: + - fcpm/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - OrgComputePoolConfig + organization_id: + type: string + description: The ID of the organization. + example: 9bb441c4-edef-46ac-8a41-c49e44a3fd9a + x-immutable: true + readOnly: true + spec: + type: object + description: >- + The desired state of the organization-level Compute Pool + configuration + properties: + default_pool_enabled: + type: boolean + default: true + description: > + Whether default compute pools are enabled for the + organization. + + When enabled, environments can have default compute + pools created automatically. + x-immutable: false + default_pool_max_cfu: + type: integer + format: int32 + example: 20 + description: > + Maximum number of Confluent Flink Units (CFUs) that + default compute pools + + in this organization should auto-scale to. + x-extensible-enum: + - 5 + - 10 + - 20 + - 30 + - 40 + - 50 + x-immutable: false + x-immutable: false + required: + - api_version + - kind + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + fcpm.v2.ComputePoolList: + type: object + description: >- + A Compute Pool represents a set of compute resources that is used to run + your Queries. - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - - name: Network Link Services (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The resources (CPUs, memory,…) provided by a Compute Pool are shared + between all Queries that use it. - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. + Note that the Compute Pool API supports a limited pagination API, only + the `next` field will be populated. - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - ## The Network Link Services Model - + ## The Compute Pools Model - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - fcpm/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ComputePoolList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + A Compute Pool represents a set of compute resources that is used + to run your Queries. - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - - name: Network Link Endpoints (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The resources (CPUs, memory,…) provided by a Compute Pool are + shared between all Queries that use it. - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. + Note that the Compute Pool API supports a limited pagination API, + only the `next` field will be populated. - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - ## The Network Link Endpoints Model - + ## The Compute Pools Model - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + properties: + api_version: + type: string + enum: + - fcpm/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ComputePool + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/fcpm.v2.ComputePoolSpec' + status: + $ref: '#/components/schemas/fcpm.v2.ComputePoolStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + fcpm.v2.ComputePool: + type: object + description: >- + A Compute Pool represents a set of compute resources that is used to run + your Queries. - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - - name: Network Link Service Associations (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The resources (CPUs, memory,…) provided by a Compute Pool are shared + between all Queries that use it. - List of incoming Network Link Enpoints associated with the Network Link Service. + Note that the Compute Pool API supports a limited pagination API, only + the `next` field will be populated. - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - ## The Network Link Service Associations Model - - - name: Gateways (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Compute Pools Model - A gateway is a resource that defines network access to Confluent cloud resources. + + properties: + api_version: + type: string + enum: + - fcpm/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ComputePool + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/fcpm.v2.ComputePoolSpec' + status: + $ref: '#/components/schemas/fcpm.v2.ComputePoolStatus' + fcpm.v2.RegionList: + type: object + description: >- + `Region` objects represent cloud provider regions available when placing + Flink compute pools. + The API allows you to list Flink regions. - ## The Gateways Model - - - name: IP Addresses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - IP Addresses - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + ## The Regions Model - ## The IP Addresses Model - - - name: Private Link Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - fcpm/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - RegionList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `Region` objects represent cloud provider regions available when + placing Flink compute pools. - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. + The API allows you to list Flink regions. - ## The Private Link Attachments Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + ## The Regions Model - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - - name: Private Link Attachment Connections (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + properties: + api_version: + type: string + enum: + - fcpm/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Region + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + display_name: + type: string + description: The display name. + example: Ohio (us-east-2) + x-immutable: true + readOnly: true + cloud: + type: string + description: The cloud service provider that hosts the region. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + x-immutable: true + readOnly: true + region_name: + type: string + description: The region name. + example: us-east-2 + x-immutable: true + readOnly: true + http_endpoint: + type: string + description: The regional API endpoint for Flink compute pools. + format: uri + x-immutable: true + readOnly: true + private_http_endpoint: + type: string + description: The private regional API endpoint for Flink compute pools. + format: uri + x-immutable: true + readOnly: true + required: + - id + - metadata + - display_name + - cloud + - region_name + - http_endpoint + uniqueItems: true + fcpm.v2.OrgComputePoolConfig: + type: object + description: >- + `OrgComputePoolConfig` manages compute pool configuration settings for + an organization. - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. + The API allows you to read and update organization-wide settings such as + whether default pools are enabled + and their maximum CFU limits. - ## The Private Link Attachment Connections Model - - - name: Identity Providers (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. - The API allows you to list, create, read, update, and delete your Identity Provider. + ## The Org Compute Pool Configs Model - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Identity Providers Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - - name: Jwks (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. - - The API allows you to refresh JWKS public key data. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Jwks Model - - - name: Identity Pools (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. - - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. - - - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). - - ## The Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - - name: OAuth Tokens (sts/v1) - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of - external identities to access Confluent Cloud APIs - - name: Client Quotas (kafka-quotas/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ClientQuota` objects represent Client Quotas you can set at the service account level. - - The API allows you to list, create, read, update, and delete your client quotas. - - - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - - ## The Client Quotas Model - - - name: Pipelines (sd/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. - - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. - - - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). - - ## The Pipelines Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - - name: Keys (byok/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. - - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. - - - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). - - ## The Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - - name: Costs (billing/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cost` objects represent the aggregated billing costs for an organization - - - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). - - ## The Costs Model - - - name: Group Mappings (iam/v2/sso) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. - - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. - - - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). - - ## The Group Mappings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - - name: Compute Pools (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. - - - ## The Compute Pools Model - - - name: Regions (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. - - - ## The Regions Model - - - name: Statements (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - - name: Statement Results (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementResult` represents a result of a `Statement` resource. - The API allows you to read your statement's results. - ## The Statement Results Model - - - name: Statement Exceptions (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementException` represents an exception of a `Statement` resource. - The API allows you to read your statement's exceptions. - ## The Statement Exceptions Model - - - name: Connections (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Connection` represents a core resource used to model SQL connections for execution. - A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - - name: DNS Forwarders (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add, remove, and update DNS forwarder for your gateway. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - - - ## The DNS Forwarders Model - - - name: Access Points (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. - - - ## The Access Points Model - - - name: DNS Records (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - - ## The DNS Records Model - - - name: Certificate Authorities (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Certificate Authority. - - - Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). - - ## The Certificate Authorities Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `certificate_authorities_per_org` | Number of certificate authorities per organization | - - name: Certificate Identity Pools (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Identitypool` objects represent workload identities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities - - - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). - - ## The Certificate Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - - name: Integrations (pim/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). - - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. - - - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). - - ## The Integrations Model - - - name: Flink Artifacts (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. - - - ## The Flink Artifacts Model - - - name: Presigned Urls (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - - ## The Presigned Urls Model - - - name: Flink Artifact Versions (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. - - - ## The Flink Artifact Versions Model - -components: - schemas: - SearchFilter: - description: Filter a collection by a string search - type: string - fcpm.v2.ComputePoolList: - type: object - description: |- - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. - - - ## The Compute Pools Model - - required: - - api_version - - kind - - metadata - - data + properties: api_version: type: string enum: - fcpm/v2 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string description: Kind defines the object this REST resource represents. readOnly: true enum: - - ComputePoolList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/fcpm/v2/compute-pools' - last: - example: 'https://api.confluent.cloud/fcpm/v2/compute-pools?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/fcpm/v2/compute-pools?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/fcpm/v2/compute-pools?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/fcpm.v2.ComputePool' - - type: object - required: - - id - - metadata - - spec - - status - properties: - spec: - type: object - required: - - display_name - - cloud - - region - - max_cfu - - environment - uniqueItems: true + - OrgComputePoolConfig + organization_id: + type: string + description: The ID of the organization. + example: 9bb441c4-edef-46ac-8a41-c49e44a3fd9a + x-immutable: true + readOnly: true + spec: + type: object + description: >- + The desired state of the organization-level Compute Pool + configuration + properties: + default_pool_enabled: + type: boolean + default: true + description: > + Whether default compute pools are enabled for the organization. + + When enabled, environments can have default compute pools + created automatically. + x-immutable: false + default_pool_max_cfu: + type: integer + format: int32 + example: 20 + description: > + Maximum number of Confluent Flink Units (CFUs) that default + compute pools + + in this organization should auto-scale to. + x-extensible-enum: + - 5 + - 10 + - 20 + - 30 + - 40 + - 50 + x-immutable: false + x-immutable: false ListMeta: type: object description: ListMeta describes metadata that resource collections may have properties: first: - description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' + description: >- + A link to the first page of results. If a response does not contain + a first link, then direct navigation to the first page is not + supported. type: string format: uri nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds' + example: https://api.confluent.cloud/v2/resourcekinds last: - description: 'A link to the last page of results. If a response does not contain a last link, then direct navigation to the last page is not supported.' + description: >- + A link to the last page of results. If a response does not contain a + last link, then direct navigation to the last page is not supported. type: string format: uri nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT' + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT prev: - description: 'A link to the previous page of results. If a response does not contain a prev link, then either there is no previous data or backwards traversal through the result set is not supported.' + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. type: string format: uri nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld' + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld next: - description: 'A link to the next page of results. If a response does not contain a next link, then there is no more data available.' + description: >- + A link to the next page of results. If a response does not contain a + next link, then there is no more data available. type: string format: uri nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb' + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb total_size: - description: Number of records in the full result set. This response may be paginated and have a smaller number of records. + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. type: integer format: int32 minimum: 0 example: 123 - fcpm.v2.ComputePool: - type: object - description: |- - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. - - - ## The Compute Pools Model - - properties: - api_version: - type: string - enum: - - fcpm/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - ComputePool - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/fcpm/v2/compute-pools/lfcp-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/flink-region=aws.us-east-2/compute-pool=lfcp-12345' - spec: - $ref: '#/components/schemas/fcpm.v2.ComputePoolSpec' - status: - $ref: '#/components/schemas/fcpm.v2.ComputePoolStatus' - AclOperation: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - AclPatternType: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - MATCH - - LITERAL - - PREFIXED - AclPermission: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - DENY - - ALLOW - AclResourceType: - type: string - enum: - - UNKNOWN - - ANY - - TOPIC - - GROUP - - CLUSTER - - TRANSACTIONAL_ID - - DELEGATION_TOKEN - BrokerTaskType: - type: string - enum: - - add-broker - - remove-broker - MirrorTopicStatus: - enum: - - ACTIVE - - FAILED - - LINK_FAILED - - LINK_PAUSED - - PAUSED - - PENDING_STOPPED - - SOURCE_UNAVAILABLE - - STOPPED - - PENDING_MIRROR - - PENDING_SYNCHRONIZE - - PENDING_SETUP_FOR_RESTORE - - PENDING_RESTORE - type: string Failure: type: object - description: Provides information about problems encountered while performing an operation. + description: >- + Provides information about problems encountered while performing an + operation. required: - errors properties: @@ -1303,220 +2438,58 @@ components: items: $ref: '#/components/schemas/Error' uniqueItems: true - AlterConfigBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - operation: - type: string - x-extensible-enum: - - SET - - DELETE - nullable: true - validate_only: - type: boolean - CreateAclRequestData: - type: object - required: - - resource_type - - resource_name - - pattern_type - - principal - - host - - operation - - permission - properties: - resource_type: - $ref: '#/components/schemas/AclResourceType' - resource_name: - type: string - pattern_type: - $ref: '#/components/schemas/AclPatternType' - principal: - type: string - host: - type: string - operation: - $ref: '#/components/schemas/AclOperation' - permission: - $ref: '#/components/schemas/AclPermission' - CreateAclRequestDataList: - allOf: - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/CreateAclRequestData' - CreateTopicRequestData: - type: object - required: - - topic_name - properties: - topic_name: - type: string - partitions_count: - type: integer - replication_factor: - type: integer - configs: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - validate_only: - type: boolean - ProduceRequest: - type: object - properties: - partition_id: - type: integer - nullable: true - format: int32 - headers: - type: array - items: - $ref: '#/components/schemas/ProduceRequestHeader' - key: - $ref: '#/components/schemas/ProduceRequestData' - value: - $ref: '#/components/schemas/ProduceRequestData' - timestamp: - type: string - format: date-time - nullable: true - UpdateConfigRequestData: - type: object - properties: - value: - type: string - nullable: true - CreateLinkRequestData: - properties: - source_cluster_id: - type: string - destination_cluster_id: - type: string - remote_cluster_id: - description: The expected remote cluster ID. - type: string - cluster_link_id: - description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' - type: string - configs: - items: - $ref: '#/components/schemas/ConfigData' - type: array - type: object - UpdateLinkConfigRequestData: - properties: - value: - type: string - required: - - value - type: object - CreateMirrorTopicRequestData: - properties: - source_topic_name: - type: string - mirror_topic_name: - type: string - replication_factor: - type: integer - configs: - type: array - items: - $ref: '#/components/schemas/ConfigData' - required: - - source_topic_name - type: object - AlterMirrorsRequestData: - properties: - mirror_topic_names: - description: The mirror topics specified as a list of topic names. - type: array - items: - type: string - mirror_topic_name_pattern: - description: The mirror topics specified as a pattern. - type: string - type: object - RemoveBrokersRequestData: - properties: - broker_ids: - type: array - items: - type: integer - required: - - broker_ids - type: object - BrokerReplicaExclusionBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' ObjectMeta: - description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. required: - self properties: self: - description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time type: string format: uri readOnly: true - example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de resource_name: - description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name type: string format: uri readOnly: true - example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + example: crn://confluent.cloud/kafka=lkc-f3a90de created_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. updated_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. deleted_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was (or will be) deleted. It + is represented in RFC3339 format and is in UTC. readOnly: true + type: object fcpm.v2.ComputePoolSpec: type: object description: The desired state of the Compute Pool @@ -1525,7 +2498,7 @@ components: type: string example: flink_compute_pool_0 description: The name of the Flink compute pool. - pattern: '^(?:[0-9A-Za-z\-])[\w\.-]{0,31}$' + pattern: ^(?:[0-9A-Za-z\-])[\w\.-]{0,63}$ x-immutable: false cloud: type: string @@ -1539,14 +2512,17 @@ components: region: type: string example: us-west-1 - description: Flink compute pools in the region provided will be able to use this identity pool + description: >- + Flink compute pools in the region provided will be able to use this + identity pool x-immutable: true max_cfu: type: integer format: int32 example: 5 - description: | - Maximum number of Confluent Flink Units (CFUs) that the Flink compute pool should auto-scale to. + description: > + Maximum number of Confluent Flink Units (CFUs) that the Flink + compute pool should auto-scale to. x-extensible-enum: - 5 - 10 @@ -1555,15 +2531,80 @@ components: - 40 - 50 x-immutable: false + enable_ai: + type: boolean + default: false + description: > + The flag to enable AI computing using Ray for the Flink compute + pool. It's available in the Early Access API + + lifecycle stage only. + x-immutable: true + default_pool: + type: boolean + default: false + description: > + The flag to indicate whether the Flink compute pool is a default + compute pool or not. + + Only one default compute pool per environment and region is allowed. + x-immutable: false environment: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true network: - allOf: - - $ref: '#/components/schemas/EnvScopedObjectReference' description: The network to which this belongs. x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true x-enable-id: true x-enable-listmeta: true x-enable-objectmeta: true @@ -1588,9 +2629,137 @@ components: type: integer format: int32 example: 4 - description: The number of Confluent Flink Units (CFUs) currently allocated to this Flink compute pool. + description: >- + The number of Confluent Flink Units (CFUs) currently allocated to + this Flink compute pool. readOnly: true readOnly: true + fcpm.v2.Region: + type: object + description: >- + `Region` objects represent cloud provider regions available when placing + Flink compute pools. + + The API allows you to list Flink regions. + + + + ## The Regions Model + + + properties: + api_version: + type: string + enum: + - fcpm/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Region + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The display name. + example: Ohio (us-east-2) + x-immutable: true + readOnly: true + cloud: + type: string + description: The cloud service provider that hosts the region. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + x-immutable: true + readOnly: true + region_name: + type: string + description: The region name. + example: us-east-2 + x-immutable: true + readOnly: true + http_endpoint: + type: string + description: The regional API endpoint for Flink compute pools. + format: uri + x-immutable: true + readOnly: true + private_http_endpoint: + type: string + description: The private regional API endpoint for Flink compute pools. + format: uri + x-immutable: true + readOnly: true Error: type: object description: Describes a particular error encountered while performing an operation. @@ -1600,23 +2769,36 @@ components: type: string maxLength: 255 status: - description: 'The HTTP status code applicable to this problem, expressed as a string value.' + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. type: string code: - description: 'An application-specific error code, expressed as a string value.' + description: An application-specific error code, expressed as a string value. type: string title: - description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. type: string detail: - description: A human-readable explanation specific to this occurrence of the problem. + description: >- + A human-readable explanation specific to this occurrence of the + problem. type: string source: type: object - description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. properties: pointer: - description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. type: string parameter: description: A string indicating which query parameter caused the error. @@ -1628,55 +2810,11 @@ components: type: string nullable: true additionalProperties: false - ProduceRequestHeader: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - format: byte - nullable: true - ProduceRequestData: - type: object - properties: - type: - type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - data: - $ref: '#/components/schemas/AnyValue' - nullable: true - ConfigData: - example: - name: name - value: value - properties: - name: - type: string - value: - nullable: true - type: string - required: - - name - - value - BrokerReplicaExclusionRequestData: - type: object - required: - - broker_id - - reason - properties: - broker_id: - type: integer - reason: - type: string GlobalObjectReference: type: object - description: ObjectReference provides information for you to locate the referred object + description: >- + ObjectReference provides information for you to locate the referred + object required: - id - related @@ -1701,7 +2839,9 @@ components: readOnly: true EnvScopedObjectReference: type: object - description: ObjectReference provides information for you to locate the referred object + description: >- + ObjectReference provides information for you to locate the referred + object required: - id - related @@ -1714,7 +2854,7 @@ components: maxLength: 255 environment: type: string - description: 'Environment of the referred resource, if env-scoped' + description: Environment of the referred resource, if env-scoped minLength: 1 maxLength: 255 related: @@ -1729,448 +2869,6 @@ components: description: CRN reference to the referred resource minLength: 1 readOnly: true - AnyValue: - nullable: true - fcpm.v2.ComputePoolUpdate: - type: object - description: |- - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. - - - ## The Compute Pools Model - - properties: - api_version: - type: string - enum: - - fcpm/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - ComputePool - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/fcpm/v2/compute-pools/lfcp-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/flink-region=aws.us-east-2/compute-pool=lfcp-12345' - spec: - $ref: '#/components/schemas/fcpm.v2.ComputePoolSpecUpdate' - status: - $ref: '#/components/schemas/fcpm.v2.ComputePoolStatus' - fcpm.v2.ComputePoolSpecUpdate: - type: object - description: The desired state of the Compute Pool - properties: - display_name: - type: string - example: flink_compute_pool_0 - description: The name of the Flink compute pool. - pattern: '^(?:[0-9A-Za-z\-])[\w\.-]{0,31}$' - x-immutable: false - max_cfu: - type: integer - format: int32 - example: 5 - description: | - Maximum number of Confluent Flink Units (CFUs) that the Flink compute pool should auto-scale to. - x-extensible-enum: - - 5 - - 10 - - 20 - - 30 - - 40 - - 50 - x-immutable: false - environment: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' - description: The environment to which this belongs. - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - fcpm.v2.RegionList: - type: object - description: |- - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. - - - ## The Regions Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - fcpm/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - RegionList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/fcpm/v2/regions' - last: - example: 'https://api.confluent.cloud/fcpm/v2/regions?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/fcpm/v2/regions?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/fcpm/v2/regions?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/fcpm.v2.Region' - - type: object - required: - - id - - metadata - - display_name - - cloud - - region_name - - http_endpoint - uniqueItems: true - fcpm.v2.Region: - type: object - description: |- - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. - - - ## The Regions Model - - properties: - api_version: - type: string - enum: - - fcpm/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Region - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/fcpm/v2/regions/r-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/region=r-12345' - display_name: - type: string - description: The display name. - example: Ohio (us-east-2) - x-immutable: true - readOnly: true - cloud: - type: string - description: The cloud service provider that hosts the region. - x-extensible-enum: - - AWS - - GCP - - AZURE - example: AWS - x-immutable: true - readOnly: true - region_name: - type: string - description: The region name. - example: us-east-2 - x-immutable: true - readOnly: true - http_endpoint: - type: string - description: The regional API endpoint for Flink compute pools. - format: uri - x-immutable: true - readOnly: true - private_http_endpoint: - type: string - description: The private regional API endpoint for Flink compute pools. - format: uri - x-immutable: true - readOnly: true - parameters: - AclHost: - name: host - description: The ACL host. - in: query - required: false - schema: - type: string - AclOperation: - name: operation - description: The ACL operation. - in: query - required: false - schema: - $ref: '#/components/schemas/AclOperation' - AclOperationRequired: - name: operation - description: The ACL operation. - in: query - required: true - schema: - $ref: '#/components/schemas/AclOperation' - AclPatternType: - name: pattern_type - description: The ACL pattern type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPatternType' - AclPatternTypeRequired: - name: pattern_type - description: The ACL pattern type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPatternType' - AclPermission: - name: permission - description: The ACL permission. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPermission' - AclPermissionRequired: - name: permission - description: The ACL permission. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPermission' - AclPrincipal: - name: principal - description: The ACL principal. This is the Service Account name or user name. - in: query - required: false - schema: - type: string - AclResourceName: - name: resource_name - description: The ACL resource name. - in: query - required: false - schema: - type: string - AclResourceType: - name: resource_type - description: The ACL resource type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclResourceType' - AclResourceTypeRequired: - name: resource_type - description: The ACL resource type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclResourceType' - BrokerId: - name: broker_id - description: The Kafka broker ID. - in: path - required: true - schema: - type: integer - example: 1 - ClusterId: - name: cluster_id - description: The Kafka cluster ID. - in: path - required: true - schema: - type: string - example: cluster-1 - ConfigName: - name: name - description: The configuration parameter name. - in: path - required: true - schema: - type: string - example: compression.type - ConsumerGroupId: - name: consumer_group_id - description: The consumer group ID. - in: path - required: true - schema: - type: string - example: consumer-group-1 - ConsumerId: - name: consumer_id - description: The consumer ID. - in: path - required: true - schema: - type: string - example: consumer-1 - IncludeAuthorizedOperations: - name: include_authorized_operations - description: Specify if authorized operations should be included in the response. - in: query - required: false - schema: - type: boolean - PartitionId: - name: partition_id - description: The partition ID. - in: path - required: true - schema: - type: integer - example: 0 - TopicName: - name: topic_name - description: The topic name. - in: path - required: true - schema: - type: string - example: topic-1 - BrokerTaskType: - name: task_type - description: The Kafka broker task type. - in: path - required: true - schema: - $ref: '#/components/schemas/BrokerTaskType' - example: remove-broker - ShouldShutdown: - name: should_shutdown - description: 'To shutdown the broker or not, Default: true' - in: query - required: false - schema: - type: boolean - example: true - ValidateOnly: - name: validate_only - description: 'To validate the action can be performed successfully or not. Default: false' - in: query - required: false - schema: - type: boolean - example: false - ValidateLink: - name: validate_link - description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' - in: query - required: false - schema: - type: boolean - example: false - IncludeTasks: - name: include_tasks - description: 'Whether to include cluster linking tasks in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludeStateTransitionErrors: - name: include_state_transition_errors - description: 'Whether to include mirror state transition errors in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - Force: - name: force - description: 'Force the action. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludePartitionLevelTruncationData: - name: include_partition_level_truncation_data - description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - LinkName: - name: link_name - description: The link name - in: path - required: true - schema: - type: string - example: link-sb1 - LinkConfigName: - name: config_name - description: The link config name - in: path - required: true - schema: - type: string - example: consumer.offset.sync.enable - MirrorTopicStatus: - name: mirror_status - description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' - in: query - required: false - schema: - $ref: '#/components/schemas/MirrorTopicStatus' - example: ACTIVE - MirrorTopicName: - name: mirror_topic_name - description: Cluster Linking mirror topic name - in: path - required: true - schema: - type: string - example: topic-1 - QueryParamLinkName: - name: link_name - description: The link name - in: query - required: true - schema: - type: string - example: link-sb1 responses: BadRequestError: description: Bad Request @@ -2204,7 +2902,9 @@ components: schema: type: string description: The unique identifier for the API request. - example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + example: >- + Basic error="invalid_key", error_description="The API Key is + invalid" content: application/json: schema: @@ -2234,7 +2934,9 @@ components: status: '403' code: user_unauthorized title: User Access Unauthorized - detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + detail: >- + The user 'mcfly' is not allowed to access the 'delorean' + resource without the 'plutonium' role. RateLimitError: description: Rate Limit Exceeded headers: @@ -2245,7 +2947,9 @@ components: X-RateLimit-Limit: schema: type: integer - description: The maximum number of requests you're permitted to make per time period. + description: >- + The maximum number of requests you're permitted to make per time + period. X-RateLimit-Remaining: schema: type: integer @@ -2253,16 +2957,21 @@ components: X-RateLimit-Reset: schema: type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. + description: >- + The relative time in seconds until the current rate-limit window + resets. - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. Retry-After: schema: type: integer - description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. DefaultSystemError: - description: 'Oops, something went wrong!' + description: Oops, something went wrong! headers: X-Request-Id: schema: @@ -2278,7 +2987,9 @@ components: status: '500' code: out_of_gas title: DeLorean Out Of Gas - detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap ConflictError: x-summary: Conflict description: The request is in conflict with the current server state @@ -2291,7 +3002,7 @@ components: schema: type: string format: uri - example: 'https://api.confluent.cloud/{object}/{id}' + example: https://api.confluent.cloud/{object}/{id} description: Resource URI of conflicting resource content: application/json: @@ -2303,7 +3014,9 @@ components: status: '409' code: resource_already_exists title: Resource Already exists - detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + detail: >- + The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already + exists. ValidationError: description: Validation Failed headers: @@ -2321,215 +3034,329 @@ components: code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - NotFoundError: - description: Not Found - headers: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + NotFoundError: + description: Not Found + headers: X-Request-Id: schema: type: string @@ -2543,419 +3370,44 @@ components: - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d status: '404' title: Not Found - securitySchemes: - cloud-api-key: - type: http - scheme: basic - description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. - confluent-sts-access-token: - type: oauth2 - description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' - scopes: {} - api-key: - type: http - scheme: basic - description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. - resource-api-key: - type: http - scheme: basic - description: | - Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID - as the username and resource-specific API Key Secret as the password. - external-access-token: - type: oauth2 - description: Authenticate with OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https:///token' - scopes: {} - oauth: - type: oauth2 - description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. - flows: - clientCredentials: - tokenUrl: /oauth2/token - scopes: - 'partner:alter': enables partners to alter entitlements - 'partner:create': enables partners to create entitlements and signup on behalf of customers - 'partner:delete': enables partners to delete entitlements and organizations - 'partner:describe': enables partners to read and list entitlements and organizations - requestBodies: - AlterBrokerConfigBatchRequest: - description: The alter broker configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterClusterConfigBatchRequest: - description: The alter cluster configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterTopicConfigBatchRequest: - description: The alter topic configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - examples: - batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only_batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only: true - CreateAclRequest: - description: The ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestData' - example: - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - BatchCreateAclRequest: - description: The batch ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestDataList' - example: - data: - - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - - resource_type: TOPIC - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: READ - permission: ALLOW - CreateTopicRequest: - description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTopicRequestData' - examples: - uniform_replication: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - configs: - - name: cleanup.policy - value: compact - - name: compression.type - value: gzip - dry_run_create_topic: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - validate_only: true - ProduceRequest: - description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' - content: - application/json: - schema: - $ref: '#/components/schemas/ProduceRequest' - examples: - binary_and_json: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - partition_id: 1 - headers: - - name: Header-1 - value: SGVhZGVyLTE= - - name: Header-2 - value: SGVhZGVyLTI= - key: - type: BINARY - data: Zm9vYmFy - value: - type: JSON - data: - foo: bar - timestamp: '2021-02-05T19:14:42Z' - string: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - value: - type: STRING - data: My message - empty_value: - description: key or value can be omitted entirely. - value: - key: - data: 1000 - UpdateBrokerConfigRequest: - description: The broker configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateClusterConfigRequest: - description: The cluster configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateTopicConfigRequest: - description: The topic configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - CreateLinkRequest: - description: Create a cluster link - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLinkRequestData' - examples: - destination_initiated_link: - description: Create a destination initiated cluster link - value: - source_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: acl.sync.enable - value: 'false' - - name: consumer.offset.sync.ms - value: '30000' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_source_cluster: - description: Create a source initiated cluster link at source cluster - value: - destination_cluster_id: cluster-2 - configs: - - name: bootstrap.servers - value: cluster-2-bootstrap-server - - name: link.mode - value: SOURCE - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_destination_cluster: - description: Create a source initiated cluster link at destination cluster - value: - destination_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: link.mode - value: DESTINATION - - name: connection.mode - value: INBOUND - - name: acl.sync.enable - value: 'false' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_east: - description: Create a bidirectional cluster link in east - value: - remote_cluster_id: cluster-west - configs: - - name: bootstrap.servers - value: cluster-west-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: west. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_west: - description: Create a bidirectional cluster link in west - value: - remote_cluster_id: cluster-east - cluster_link_id: eEBkTffYSESld6EO898x3w - configs: - - name: bootstrap.servers - value: cluster-east-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: east. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - UpdateLinkConfigRequest: - content: - application/json: - example: - value: '300000' - schema: - $ref: '#/components/schemas/UpdateLinkConfigRequestData' - description: Link config value to update - AlterLinkConfigBatchRequest: - content: - application/json: - example: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - CreateMirrorTopicRequest: - description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateMirrorTopicRequestData' - examples: - generic_example: - description: Generic example of creating a mirror topic - value: - source_topic_name: topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 1 - example_with_mirror_topic_name: - description: Example using optional mirror_topic_name flag - value: - source_topic_name: topic-1 - mirror_topic_name: link1_topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 3 - AlterMirrorsRequest: - description: Mirror topics to be altered. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterMirrorsRequestData' - examples: - mirror_topic_names: - description: Example using mirror topic names - value: - mirror_topic_names: - - topic-1 - - topic-2 - mirror_topic_name_pattern: - description: Example using mirror topic name pattern - value: - mirror_topic_name_pattern: .* - RemoveBrokersRequest: - content: - application/json: - example: - broker_ids: - - 1 - - 2 - - 3 - schema: - $ref: '#/components/schemas/RemoveBrokersRequestData' - description: Broker ids to remove - BrokerReplicaExclusionBatchRequest: - description: Alter Broker Replica Exclusions. - content: - application/json: - schema: - $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' - example: - data: - - broker_id: 1 - reason: The broker is to be removed. - - broker_id: 2 - reason: The broker is to be removed. x-stackQL-resources: compute_pools: id: confluent.flink_compute_pools.compute_pools name: compute_pools title: Compute Pools methods: - list_fcpm_v2compute_pools: + list_fcpm_v2_compute_pools: operation: $ref: '#/paths/~1fcpm~1v2~1compute-pools/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_fcpm_v2compute_pool: + create_fcpm_v2_compute_pool: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1fcpm~1v2~1compute-pools/post' response: mediaType: application/json openAPIDocKey: '202' - get_fcpm_v2compute_pool: + get_fcpm_v2_compute_pool: operation: $ref: '#/paths/~1fcpm~1v2~1compute-pools~1{id}/get' response: mediaType: application/json openAPIDocKey: '200' - update_fcpm_v2compute_pool: + update_fcpm_v2_compute_pool: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1fcpm~1v2~1compute-pools~1{id}/patch' response: mediaType: application/json openAPIDocKey: '200' - delete_fcpm_v2compute_pool: + delete_fcpm_v2_compute_pool: operation: $ref: '#/paths/~1fcpm~1v2~1compute-pools~1{id}/delete' response: @@ -2963,21 +3415,26 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/compute_pools/methods/get_fcpm_v2compute_pool' - - $ref: '#/components/x-stackQL-resources/compute_pools/methods/list_fcpm_v2compute_pools' + - $ref: >- + #/components/x-stackQL-resources/compute_pools/methods/get_fcpm_v2_compute_pool + - $ref: >- + #/components/x-stackQL-resources/compute_pools/methods/list_fcpm_v2_compute_pools insert: - - $ref: '#/components/x-stackQL-resources/compute_pools/methods/create_fcpm_v2compute_pool' + - $ref: >- + #/components/x-stackQL-resources/compute_pools/methods/create_fcpm_v2_compute_pool update: - - $ref: '#/components/x-stackQL-resources/compute_pools/methods/update_fcpm_v2compute_pool' - replace: [] + - $ref: >- + #/components/x-stackQL-resources/compute_pools/methods/update_fcpm_v2_compute_pool delete: - - $ref: '#/components/x-stackQL-resources/compute_pools/methods/delete_fcpm_v2compute_pool' + - $ref: >- + #/components/x-stackQL-resources/compute_pools/methods/delete_fcpm_v2_compute_pool + replace: [] regions: id: confluent.flink_compute_pools.regions name: regions title: Regions methods: - list_fcpm_v2regions: + list_fcpm_v2_regions: operation: $ref: '#/paths/~1fcpm~1v2~1regions/get' response: @@ -2986,1113 +3443,41 @@ components: objectKey: $.data sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/regions/methods/list_fcpm_v2regions' + - $ref: >- + #/components/x-stackQL-resources/regions/methods/list_fcpm_v2_regions insert: [] update: [] + delete: [] replace: [] + org_compute_pool_configs: + id: confluent.flink_compute_pools.org_compute_pool_configs + name: org_compute_pool_configs + title: Org Compute Pool Configs + methods: + get_fcpm_v2_org_compute_pool_config: + operation: + $ref: '#/paths/~1fcpm~1v2~1compute-pool-config/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_fcpm_v2_org_compute_pool_config: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1fcpm~1v2~1compute-pool-config/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/org_compute_pool_configs/methods/get_fcpm_v2_org_compute_pool_config + insert: [] + update: + - $ref: >- + #/components/x-stackQL-resources/org_compute_pool_configs/methods/update_fcpm_v2_org_compute_pool_config delete: [] -paths: - /fcpm/v2/compute-pools: - get: - operationId: listFcpmV2ComputePools - summary: List of Compute Pools - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all compute pools. - parameters: - - name: spec.region - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: us-west-1 - description: Filter the results by exact match for spec.region. - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Filter the results by exact match for environment. - - name: spec.network - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: n-00000 - description: Filter the results by exact match for spec.network. - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Compute Pools (fcpm/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Compute Pool. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/fcpm.v2.ComputePoolList' - - type: object - properties: - data: - type: array - items: - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/org/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/fcpm/v2/compute-pools?spec.region=us-west-1&environment=env-00000&spec.network=n-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/fcpm/v2/compute-pools?spec.region=us-west-1&environment=env-00000&spec.network=n-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/fcpm/v2/compute-pools?spec.region=us-west-1&environment=env-00000&spec.network=n-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/fcpm/v2/compute-pools?spec.region=us-west-1&environment=env-00000&spec.network=n-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/fcpm/v2/compute-pools?spec.region=us-west-1&environment=env-00000&spec.network=n-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/fcpm/v2/compute-pools?spec.region=us-west-1&environment=env-00000&spec.network=n-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/fcpm/v2/compute-pools?spec.region=us-west-1&environment=env-00000&spec.network=n-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createFcpmV2ComputePool - summary: Create a Compute Pool - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to create a compute pool. - tags: - - Compute Pools (fcpm/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/fcpm.v2.ComputePool' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - display_name - - cloud - - region - - max_cfu - - environment - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - network: - example: - id: n-00000 - responses: - '202': - description: A Compute Pool is being created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/fcpm/v2/compute-pools/{id}' - description: ComputePool resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/fcpm.v2.ComputePool' - - type: object - required: - - spec - - status - properties: - spec: - type: object - required: - - display_name - - cloud - - region - - max_cfu - - environment - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/org/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/fcpm/v2/compute-pools \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"flink_compute_pool_0","cloud":"AWS","region":"us-west-1","max_cfu":5,"environment":{"id":"env-00000"},"network":{"id":"n-00000","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"flink_compute_pool_0\",\"cloud\":\"AWS\",\"region\":\"us-west-1\",\"max_cfu\":5,\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/fcpm/v2/compute-pools") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/fcpm/v2/compute-pools\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"flink_compute_pool_0\\\",\\\"cloud\\\":\\\"AWS\\\",\\\"region\\\":\\\"us-west-1\\\",\\\"max_cfu\\\":5,\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\"},\\\"network\\\":{\\\"id\\\":\\\"n-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"flink_compute_pool_0\",\"cloud\":\"AWS\",\"region\":\"us-west-1\",\"max_cfu\":5,\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/fcpm/v2/compute-pools", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/fcpm/v2/compute-pools", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'flink_compute_pool_0', - cloud: 'AWS', - region: 'us-west-1', - max_cfu: 5, - environment: {id: 'env-00000'}, - network: {id: 'n-00000', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/fcpm/v2/compute-pools"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"flink_compute_pool_0\",\"cloud\":\"AWS\",\"region\":\"us-west-1\",\"max_cfu\":5,\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/fcpm/v2/compute-pools"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"flink_compute_pool_0\",\"cloud\":\"AWS\",\"region\":\"us-west-1\",\"max_cfu\":5,\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/fcpm/v2/compute-pools/{id}': - get: - operationId: getFcpmV2ComputePool - summary: Read a Compute Pool - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read a compute pool. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the compute pool. - tags: - - Compute Pools (fcpm/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Compute Pool. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/fcpm.v2.ComputePool' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - display_name - - cloud - - region - - max_cfu - - environment - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/org/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/fcpm/v2/compute-pools/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/fcpm/v2/compute-pools/{id}?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/fcpm/v2/compute-pools/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/fcpm/v2/compute-pools/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/fcpm/v2/compute-pools/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/fcpm/v2/compute-pools/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/fcpm/v2/compute-pools/{id}?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateFcpmV2ComputePool - summary: Update a Compute Pool - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to update a compute pool. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the compute pool. - tags: - - Compute Pools (fcpm/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/fcpm.v2.ComputePoolUpdate' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - environment - properties: - environment: - example: - id: env-00000 - responses: - '200': - description: Compute Pool. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/fcpm.v2.ComputePool' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - display_name - - cloud - - region - - max_cfu - - environment - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/org/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/fcpm/v2/compute-pools/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"flink_compute_pool_0","cloud":"AWS","region":"us-west-1","max_cfu":5,"environment":{"id":"env-00000"},"network":{"id":"string","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"flink_compute_pool_0\",\"cloud\":\"AWS\",\"region\":\"us-west-1\",\"max_cfu\":5,\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/fcpm/v2/compute-pools/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/fcpm/v2/compute-pools/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"flink_compute_pool_0\\\",\\\"cloud\\\":\\\"AWS\\\",\\\"region\\\":\\\"us-west-1\\\",\\\"max_cfu\\\":5,\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\"},\\\"network\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"flink_compute_pool_0\",\"cloud\":\"AWS\",\"region\":\"us-west-1\",\"max_cfu\":5,\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/fcpm/v2/compute-pools/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/fcpm/v2/compute-pools/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'flink_compute_pool_0', - cloud: 'AWS', - region: 'us-west-1', - max_cfu: 5, - environment: {id: 'env-00000'}, - network: {id: 'string', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/fcpm/v2/compute-pools/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"flink_compute_pool_0\",\"cloud\":\"AWS\",\"region\":\"us-west-1\",\"max_cfu\":5,\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/fcpm/v2/compute-pools/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"flink_compute_pool_0\",\"cloud\":\"AWS\",\"region\":\"us-west-1\",\"max_cfu\":5,\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteFcpmV2ComputePool - summary: Delete a Compute Pool - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to delete a compute pool. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the compute pool. - tags: - - Compute Pools (fcpm/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A Compute Pool is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/fcpm/v2/compute-pools/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/fcpm/v2/compute-pools/{id}?environment=env-00000") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/fcpm/v2/compute-pools/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/fcpm/v2/compute-pools/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/fcpm/v2/compute-pools/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/fcpm/v2/compute-pools/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/fcpm/v2/compute-pools/{id}?environment=env-00000"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /fcpm/v2/regions: - get: - operationId: listFcpmV2Regions - summary: List of Regions - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all regions. - parameters: - - name: cloud - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: AWS - description: Filter the results by exact match for cloud. - - name: region_name - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: us-east-2 - description: Filter the results by exact match for region_name. - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Regions (fcpm/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Region. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/fcpm.v2.RegionList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/fcpm/v2/regions?cloud=AWS®ion_name=us-east-2' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/fcpm/v2/regions?cloud=AWS®ion_name=us-east-2") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/fcpm/v2/regions?cloud=AWS®ion_name=us-east-2\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/fcpm/v2/regions?cloud=AWS®ion_name=us-east-2", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/fcpm/v2/regions?cloud=AWS®ion_name=us-east-2", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/fcpm/v2/regions?cloud=AWS®ion_name=us-east-2"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/fcpm/v2/regions?cloud=AWS®ion_name=us-east-2"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/iam.yaml b/providers/src/confluent/v00.00.00000/services/iam.yaml index 702a11c6..15fb1c22 100644 --- a/providers/src/confluent/v00.00.00000/services/iam.yaml +++ b/providers/src/confluent/v00.00.00000/services/iam.yaml @@ -1,5346 +1,15470 @@ openapi: 3.0.0 -servers: - - url: 'https://api.confluent.cloud' - description: Confluent Cloud API info: - version: '' - contact: - name: Confluent Cloud - url: 'https://www.confluent.io/cloud-contact-us/' - email: support@confluent.io - x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b - x-audience: external-public - x-logo: - url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' - title: Confluent Cloud APIs - iam - description: iam -tags: - - name: API Keys (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. - - The API allows you to list, create, update and delete your API Keys. - - - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - - ## The API Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - - name: Environments (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. - - - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - - ## The Environments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - - name: Organizations (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). - - The API allows you to list, view, and update your organizations. - - - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - - ## The Organizations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - - name: Users (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `User` objects represent individuals who may access your Confluent resources. - - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. - - - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). - - ## The Users Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - - name: Service Accounts (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. - - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. - + title: iam API + description: confluent iam API + version: 1.0.0 +paths: + /iam/v2/api-keys: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listIamV2ApiKeys + summary: List of API Keys + description: > + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). - ## The Service Accounts Model - + Retrieve a sorted, filtered, paginated list of all API keys. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - - name: Invitations (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + This can show all keys for a single owner (across resources - Kafka + clusters), or all keys for a single - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + resource (across owners). If no `owner` or `resource` filters are + specified, returns all API Keys in the - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + organization. You will only see the keys that are accessible to the + account making the API request. + parameters: + - name: spec.owner + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + description: Filter the results by exact match for spec.owner. + - name: spec.resource + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + description: Filter the results by exact match for spec.resource. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - API Keys (iam/v2) + security: + - cloud-api-key: [] + responses: + '200': + description: API Key. + content: + application/json: + schema: + type: object + description: >- + `ApiKey` objects represent access to different parts of + Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such + as a Kafka cluster, - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys + represent access to resources within an organization - ## The Invitations Model - + that are not tied to a specific cluster, such as the Org API, + IAM API, Metrics API or Connect API. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + Tableflow API keys are not tied to a specific cluster. - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - - name: IP Groups (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + The API allows you to list, create, update and delete your API + Keys. - ## The IP Groups Model - - - name: IP Filters (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. + Related guide: [API Keys in Confluent + Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - ## The IP Filters Model - - - name: Role Bindings (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The API Keys Model - A role binding grants a Principal a role on resources that match a pattern. + - The API allows you to perform create, delete, and list operations on role bindings. + ## Quotas and Limits - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## The Role Bindings Model - - - name: Subscriptions (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. + | Quota | Description | - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud + organization | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ApiKeyList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `ApiKey` objects represent access to different parts of + Confluent Cloud. Some types - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + of API keys represent access to a single + cluster/resource such as a Kafka cluster, - ## The Subscriptions Model - - - name: Integrations (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Schema Registry cluster or a ksqlDB cluster. Cloud API + Keys represent access to resources within an + organization - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. + that are not tied to a specific cluster, such as the Org + API, IAM API, Metrics API or Connect API. + Tableflow API keys are not tied to a specific cluster. - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - ## The Integrations Model - + The API allows you to list, create, update and delete + your API Keys. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - - name: Notification Types (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The type of notifications (and their corresponding metadata) supported by Confluent. + Related guide: [API Keys in Confluent + Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + ## The API Keys Model - ## The Notification Types Model - - - name: Clusters (cmk/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Kafka clusters. + ## Quotas and Limits + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - ## The Clusters Model - + | Quota | Description | - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + | --- | --- | - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - - name: Clusters (ksqldbcm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | `apikeys_per_org` | API Keys in one Confluent Cloud + organization | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - ApiKey + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/iam.v2.ApiKeySpec' + required: + - id + - metadata + - spec + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createIamV2ApiKey + summary: Create an API Key + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + Make a request to create an API key. + tags: + - API Keys (iam/v2) + security: + - cloud-api-key: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `ApiKey` objects represent access to different parts of + Confluent Cloud. Some types - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + of API keys represent access to a single cluster/resource such + as a Kafka cluster, - ## The Clusters Model - + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys + represent access to resources within an organization - ## Quotas and Limits - This resource is subject to the following quotas: + that are not tied to a specific cluster, such as the Org API, + IAM API, Metrics API or Connect API. - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - - name: Connectors (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Tableflow API keys are not tied to a specific cluster. - API for Managed Connectors or Custom Connectors in Confluent Cloud. - The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + The API allows you to list, create, update and delete your API + Keys. - Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). - Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - name: Lifecycle (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. - - name: Status (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [API Keys in Confluent + Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. - - name: Managed Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for Managed connectors in Confluent Cloud. - - name: Offsets (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The API Keys Model - API for managing the offsets for a Managed Connector. + - Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) - - name: Custom Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + ## Quotas and Limits + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## The Custom Connector Plugins Model - - - name: Presigned Urls (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. + | Quota | Description | - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + | --- | --- | + | `apikeys_per_org` | API Keys in one Confluent Cloud + organization | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ApiKey + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/iam.v2.ApiKeySpec' + required: + - spec + responses: + '202': + description: An API Key is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/iam/v2/api-keys/{id} + description: ApiKey resource uri + content: + application/json: + schema: + type: object + description: >- + `ApiKey` objects represent access to different parts of + Confluent Cloud. Some types - ## The Presigned Urls Model - - - name: Cluster (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Configs (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: ACL (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Consumer Group (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Partition (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Topic (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Records (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Cluster Linking (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Applied Quotas (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + of API keys represent access to a single cluster/resource such + as a Kafka cluster, - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys + represent access to resources within an organization + that are not tied to a specific cluster, such as the Org API, + IAM API, Metrics API or Connect API. - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + Tableflow API keys are not tied to a specific cluster. - ## The Applied Quotas Model - - - name: Scopes (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Gets a list of all available scopes for applied quotas. + The API allows you to list, create, update and delete your API + Keys. - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). - ## The Scopes Model - - - name: Entitlements (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + Related guide: [API Keys in Confluent + Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - `Entitlement` objects represent metadata about a marketplace entitlement. - An entitlement includes metadata about a marketplace purchase - (start date, end date, billing information, partner IDs, etc). - The API allows partners to create, read, and list entitlements. (Unless you - need entitlement creation and customer registration to be separate, - we recommend using the Signup API to create an organization and entitlement - at the same time) + ## The API Keys Model - The API only allows authorized partners to interact with the Entitlements API. - - name: Regions (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. + ## Quotas and Limits - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## The Regions Model - - - name: Clusters (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + | Quota | Description | - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + | --- | --- | - The API allows you to list, create, read, and delete your Schema Registry clusters. + | `apikeys_per_org` | API Keys in one Confluent Cloud + organization | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ApiKey + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/iam.v2.ApiKeySpec' + required: + - spec + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /iam/v2/api-keys/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getIamV2ApiKey + summary: Read an API Key + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + Make a request to read an API key. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the API key. + tags: + - API Keys (iam/v2) + security: + - cloud-api-key: [] + responses: + '200': + description: API Key. + content: + application/json: + schema: + type: object + description: >- + `ApiKey` objects represent access to different parts of + Confluent Cloud. Some types + of API keys represent access to a single cluster/resource such + as a Kafka cluster, - ## The Clusters Model - - - name: Clusters (srcm/v3) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys + represent access to resources within an organization - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + that are not tied to a specific cluster, such as the Org API, + IAM API, Metrics API or Connect API. - The API allows you to list and read your Schema Registry clusters. + Tableflow API keys are not tied to a specific cluster. - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + The API allows you to list, create, update and delete your API + Keys. - ## The Clusters Model - - - name: Compatibility (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to test schema compatibility. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Config (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [API Keys in Confluent + Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - The API allows you to manage and query schema compatibility settings and cluster configurations. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Contexts (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The API Keys Model - The API allows you to retrieve information about schema contexts. + - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Exporters (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete exporters. + ## Quotas and Limits - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Modes (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - The API allows you to create, retrieve, update, and delete schema subjects modes of operation. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Schemas (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | Quota | Description | - The API allows you to create, retrieve, update, and delete schemas. + | --- | --- | - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Subjects (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | `apikeys_per_org` | API Keys in one Confluent Cloud + organization | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ApiKey + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/iam.v2.ApiKeySpec' + required: + - api_version + - kind + - id + - spec + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateIamV2ApiKey + summary: Update an API Key + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete schema subjects and versions. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Key Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to update an API key. - The API allows you to create, retrieve, update, and delete key encryption keys. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the API key. + tags: + - API Keys (iam/v2) + security: + - cloud-api-key: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.ApiKey' + responses: + '200': + description: API Key. + content: + application/json: + schema: + type: object + description: >- + `ApiKey` objects represent access to different parts of + Confluent Cloud. Some types - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Data Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + of API keys represent access to a single cluster/resource such + as a Kafka cluster, - The API allows you to create, retrieve, update, and delete data encryption keys. + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys + represent access to resources within an organization - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Entity (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + that are not tied to a specific cluster, such as the Org API, + IAM API, Metrics API or Connect API. - The API allows you to create, retrieve, update, and delete catalog entities. + Tableflow API keys are not tied to a specific cluster. - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Search (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to search for entities. + The API allows you to list, create, update and delete your API + Keys. - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Types (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Provider Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [API Keys in Confluent + Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + ## The API Keys Model - ## The Provider Shared Resources Model - - - name: Provider Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + - `ProviderShare` object respresents the share that you have created through Stream Sharing. + ## Quotas and Limits - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## The Provider Shares Model - - - name: Consumer Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + | Quota | Description | + | --- | --- | - ## The Consumer Shared Resources Model - - - name: Consumer Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerShare` object respresents the share that you received through Stream Sharing. - - - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). - - ## The Consumer Shares Model - - - name: Shared Tokens (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Encrypted Token shared with consumer - - - ## The Shared Tokens Model - - - name: Opt Ins (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Stream sharing opt in options - - ## The Opt Ins Model - - - name: Organizations (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Organizations` objects represent an entire Confluent Cloud organization. - Partners are allowed to get an organization they have signed up or - list all organizations they have signed up. - - name: Signup (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Signup` APIs can only be performed by partners. - - name: Networks (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. - - The API allows you to list, create, read, update, and delete your networks. - - - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - - ## The Networks Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - - name: Peerings (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + | `apikeys_per_org` | API Keys in one Confluent Cloud + organization | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ApiKey + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/iam.v2.ApiKeySpec' + required: + - api_version + - kind + - id + - spec + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteIamV2ApiKey + summary: Delete an API Key + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Peerings Model - + Make a request to delete an API key. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the API key. + tags: + - API Keys (iam/v2) + security: + - cloud-api-key: [] + responses: + '204': + description: An API Key is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /iam/v2/users: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listIamV2Users + summary: List of Users + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - - name: Transit Gateway Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Retrieve a sorted, filtered, paginated list of all users. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Users (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: User. + content: + application/json: + schema: + type: object + description: >- + `User` objects represent individuals who may access your + Confluent resources. - AWS Transit Gateway Attachments - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + The API allows you to retrieve, update, and delete individual + users, as well as list of all your - ## The Transit Gateway Attachments Model - + users. This API cannot be used to create new user accounts. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - - name: Private Link Accesses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + Related guide: [Users in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + ## The Users Model - ## The Private Link Accesses Model - + - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - - name: Network Link Services (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## Quotas and Limits - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + | Quota | Description | - ## The Network Link Services Model - + | --- | --- | - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + | `users_per_org` | Users in one Confluent Cloud organization + | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - UserList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `User` objects represent individuals who may access your + Confluent resources. - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - - name: Network Link Endpoints (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. + The API allows you to retrieve, update, and delete + individual users, as well as list of all your + users. This API cannot be used to create new user + accounts. - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - ## The Network Link Endpoints Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + Related guide: [Users in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - - name: Network Link Service Associations (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - List of incoming Network Link Enpoints associated with the Network Link Service. + ## The Users Model + - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - ## The Network Link Service Associations Model - - - name: Gateways (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## Quotas and Limits - A gateway is a resource that defines network access to Confluent cloud resources. + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## The Gateways Model - - - name: IP Addresses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | Quota | Description | - IP Addresses + | --- | --- | - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + | `users_per_org` | Users in one Confluent Cloud + organization | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - User + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + email: + type: string + format: email + example: marty.mcfly@example.com + description: The user's email address + x-immutable: true + full_name: + example: Marty McFly + type: string + description: The user's full name + auth_type: + type: string + description: The user's authentication method + example: AUTH_TYPE_SSO + x-extensible-enum: + - AUTH_TYPE_LOCAL + - AUTH_TYPE_SSO + readOnly: true + required: + - id + - metadata + - email + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /iam/v2/users/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getIamV2User + summary: Read a User + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The IP Addresses Model - - - name: Private Link Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. + Make a request to read a user. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the user. + tags: + - Users (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: User. + content: + application/json: + schema: + type: object + description: >- + `User` objects represent individuals who may access your + Confluent resources. - ## The Private Link Attachments Model - + The API allows you to retrieve, update, and delete individual + users, as well as list of all your - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + users. This API cannot be used to create new user accounts. - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - - name: Private Link Attachment Connections (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. + Related guide: [Users in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). - ## The Private Link Attachment Connections Model - - - name: Identity Providers (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + ## The Users Model - The API allows you to list, create, read, update, and delete your Identity Provider. + - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + ## Quotas and Limits - ## The Identity Providers Model - + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - - name: Jwks (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | Quota | Description | - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. + | --- | --- | - The API allows you to refresh JWKS public key data. + | `users_per_org` | Users in one Confluent Cloud organization + | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - User + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + email: + type: string + format: email + example: marty.mcfly@example.com + description: The user's email address + x-immutable: true + full_name: + example: Marty McFly + type: string + description: The user's full name + auth_type: + type: string + description: The user's authentication method + example: AUTH_TYPE_SSO + x-extensible-enum: + - AUTH_TYPE_LOCAL + - AUTH_TYPE_SSO + readOnly: true + required: + - api_version + - kind + - id + - email + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateIamV2User + summary: Update a User + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + Make a request to update a user. - ## The Jwks Model - - - name: Identity Pools (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the user. + tags: + - Users (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.User' + responses: + '200': + description: User. + content: + application/json: + schema: + type: object + description: >- + `User` objects represent individuals who may access your + Confluent resources. - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. + The API allows you to retrieve, update, and delete individual + users, as well as list of all your + users. This API cannot be used to create new user accounts. - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). - ## The Identity Pools Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + Related guide: [Users in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - - name: OAuth Tokens (sts/v1) - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of - external identities to access Confluent Cloud APIs - - name: Client Quotas (kafka-quotas/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Users Model - `ClientQuota` objects represent Client Quotas you can set at the service account level. + - The API allows you to list, create, read, update, and delete your client quotas. + ## Quotas and Limits - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## The Client Quotas Model - - - name: Pipelines (sd/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. + | Quota | Description | - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. + | --- | --- | + | `users_per_org` | Users in one Confluent Cloud organization + | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - User + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + email: + type: string + format: email + example: marty.mcfly@example.com + description: The user's email address + x-immutable: true + full_name: + example: Marty McFly + type: string + description: The user's full name + auth_type: + type: string + description: The user's authentication method + example: AUTH_TYPE_SSO + x-extensible-enum: + - AUTH_TYPE_LOCAL + - AUTH_TYPE_SSO + readOnly: true + required: + - api_version + - kind + - id + - email + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteIamV2User + summary: Delete a User + description: > + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). - ## The Pipelines Model - + Make a request to delete a user. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - - name: Keys (byok/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + If successful, this request will also recursively delete all of the + user's associated resources, - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + including its cloud and cluster API keys. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the user. + tags: + - Users (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A User is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /iam/v2/users/{id}/auth: + patch: + summary: Update Auth Type of a User + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + Update the auth type of a user + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.User.ConfigureUserAuthRequest' + x-lifecycle-stage: General Availability + x-self-access: true + x-name: iam.v2.User + operationId: update_auth_typeIamV2User + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the user. + tags: + - Users (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /iam/v2/service-accounts: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listIamV2ServiceAccounts + summary: List of Service Accounts + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). - ## The Keys Model - + Retrieve a sorted, filtered, paginated list of all service accounts. + parameters: + - name: display_name + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - tf_runner_sa + - mySA + description: >- + Filter the results by exact match for display_name. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Service Accounts (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Service Account. + content: + application/json: + schema: + type: object + description: >- + `ServiceAccount` objects are typically used to represent + applications and other non-human principals - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + that may access your Confluent resources. - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - - name: Costs (billing/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Cost` objects represent the aggregated billing costs for an organization + The API allows you to create, retrieve, update, and delete + individual service accounts, as well as + list all your service accounts. - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). - ## The Costs Model - - - name: Group Mappings (iam/v2/sso) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. + Related guide: [Service Accounts in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. + ## The Service Accounts Model - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + - ## The Group Mappings Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + ## Quotas and Limits - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - - name: Compute Pools (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + | Quota | Description | - ## The Compute Pools Model - - - name: Regions (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | --- | --- | - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. + | `service_accounts_per_org` | Service Accounts in one + Confluent Cloud organization | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ServiceAccountList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `ServiceAccount` objects are typically used to represent + applications and other non-human principals + that may access your Confluent resources. - ## The Regions Model - - - name: Statements (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - - name: Statement Results (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to create, retrieve, update, and + delete individual service accounts, as well as - `StatementResult` represents a result of a `Statement` resource. - The API allows you to read your statement's results. - ## The Statement Results Model - - - name: Statement Exceptions (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + list all your service accounts. - `StatementException` represents an exception of a `Statement` resource. - The API allows you to read your statement's exceptions. - ## The Statement Exceptions Model - - - name: Connections (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Connection` represents a core resource used to model SQL connections for execution. - A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - - name: DNS Forwarders (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Add, remove, and update DNS forwarder for your gateway. + Related guide: [Service Accounts in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + ## The Service Accounts Model - ## The DNS Forwarders Model - - - name: Access Points (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. + ## Quotas and Limits - ## The Access Points Model - - - name: DNS Records (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - ## The DNS Records Model - - - name: Certificate Authorities (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | Quota | Description | - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + | --- | --- | - The API allows you to list, create, read, update, and delete your Certificate Authority. + | `service_accounts_per_org` | Service Accounts in one + Confluent Cloud organization | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - ServiceAccount + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + display_name: + type: string + example: DeLorean_auto_repair + description: A human-readable name for the Service Account + description: + type: string + example: Doc's repair bot for the DeLorean + description: A free-form description of the Service Account + required: + - id + - metadata + - display_name + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createIamV2ServiceAccount + summary: Create a Service Account + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + Make a request to create a service account. + parameters: + - name: assigned_resource_owner + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: u-a83k9b + description: >- + The resource_id of the principal who will be assigned resource owner + on the created service account. Principal can be group-mapping + (group-xxx), user (u-xxx), service-account (sa-xxx) or identity-pool + (pool-xxx). + tags: + - Service Accounts (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `ServiceAccount` objects are typically used to represent + applications and other non-human principals - ## The Certificate Authorities Model - + that may access your Confluent resources. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `certificate_authorities_per_org` | Number of certificate authorities per organization | - - name: Certificate Identity Pools (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to create, retrieve, update, and delete + individual service accounts, as well as - `Identitypool` objects represent workload identities in Confluent Cloud. + list all your service accounts. - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + Related guide: [Service Accounts in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). - ## The Certificate Identity Pools Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + ## The Service Accounts Model - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - - name: Integrations (pim/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. + ## Quotas and Limits + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). - ## The Integrations Model - - - name: Flink Artifacts (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + | Quota | Description | - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + | --- | --- | + | `service_accounts_per_org` | Service Accounts in one Confluent + Cloud organization | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ServiceAccount + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + display_name: + type: string + example: DeLorean_auto_repair + description: A human-readable name for the Service Account + description: + type: string + example: Doc's repair bot for the DeLorean + description: A free-form description of the Service Account + required: + - display_name + responses: + '201': + description: A Service Account was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/iam/v2/service-accounts/{id} + description: ServiceAccount resource uri + content: + application/json: + schema: + type: object + description: >- + `ServiceAccount` objects are typically used to represent + applications and other non-human principals - ## The Flink Artifacts Model - - - name: Presigned Urls (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + that may access your Confluent resources. - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. + The API allows you to create, retrieve, update, and delete + individual service accounts, as well as - ## The Presigned Urls Model - - - name: Flink Artifact Versions (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + list all your service accounts. - FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. - ## The Flink Artifact Versions Model - -components: - schemas: - SearchFilter: - description: Filter a collection by a string search - type: string - iam.v2.ApiKeyList: - type: object - description: |- - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + Related guide: [Service Accounts in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). - The API allows you to list, create, update and delete your API Keys. + ## The Service Accounts Model - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + - ## The API Keys Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + ## Quotas and Limits - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - ApiKeyList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/iam/v2/api-keys' - last: - example: 'https://api.confluent.cloud/iam/v2/api-keys?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/iam/v2/api-keys?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/iam/v2/api-keys?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/iam.v2.ApiKey' - - type: object - required: - - id - - metadata - - spec + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `service_accounts_per_org` | Service Accounts in one + Confluent Cloud organization | properties: - spec: - type: object + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ServiceAccount + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. required: - - owner - uniqueItems: true - ListMeta: - type: object - description: ListMeta describes metadata that resource collections may have - properties: - first: - description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds' - last: - description: 'A link to the last page of results. If a response does not contain a last link, then direct navigation to the last page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT' - prev: - description: 'A link to the previous page of results. If a response does not contain a prev link, then either there is no previous data or backwards traversal through the result set is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld' - next: - description: 'A link to the next page of results. If a response does not contain a next link, then there is no more data available.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb' - total_size: - description: Number of records in the full result set. This response may be paginated and have a smaller number of records. - type: integer - format: int32 - minimum: 0 - example: 123 - iam.v2.ApiKey: - type: object - description: |- - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + example: DeLorean_auto_repair + description: A human-readable name for the Service Account + description: + type: string + example: Doc's repair bot for the DeLorean + description: A free-form description of the Service Account + required: + - display_name + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /iam/v2/service-accounts/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getIamV2ServiceAccount + summary: Read a Service Account + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to list, create, update and delete your API Keys. + Make a request to read a service account. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the service account. + tags: + - Service Accounts (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Service Account. + content: + application/json: + schema: + type: object + description: >- + `ServiceAccount` objects are typically used to represent + applications and other non-human principals - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + that may access your Confluent resources. - ## The API Keys Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + The API allows you to create, retrieve, update, and delete + individual service accounts, as well as - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - ApiKey - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/iam/v2/api-keys/ak-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/api-key=ak-12345' - spec: - $ref: '#/components/schemas/iam.v2.ApiKeySpec' - AclOperation: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - AclPatternType: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - MATCH - - LITERAL - - PREFIXED - AclPermission: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - DENY - - ALLOW - AclResourceType: - type: string - enum: - - UNKNOWN - - ANY - - TOPIC - - GROUP - - CLUSTER - - TRANSACTIONAL_ID - - DELEGATION_TOKEN - BrokerTaskType: - type: string - enum: - - add-broker - - remove-broker - MirrorTopicStatus: - enum: - - ACTIVE - - FAILED - - LINK_FAILED - - LINK_PAUSED - - PAUSED - - PENDING_STOPPED - - SOURCE_UNAVAILABLE - - STOPPED - - PENDING_MIRROR - - PENDING_SYNCHRONIZE - - PENDING_SETUP_FOR_RESTORE - - PENDING_RESTORE - type: string - Failure: - type: object - description: Provides information about problems encountered while performing an operation. - required: - - errors - properties: - errors: - description: List of errors which caused this operation to fail - type: array - items: - $ref: '#/components/schemas/Error' - uniqueItems: true - AlterConfigBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: + list all your service accounts. + + + + Related guide: [Service Accounts in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + + ## The Service Accounts Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `service_accounts_per_org` | Service Accounts in one + Confluent Cloud organization | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ServiceAccount + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + example: DeLorean_auto_repair + description: A human-readable name for the Service Account + description: + type: string + example: Doc's repair bot for the DeLorean + description: A free-form description of the Service Account + required: + - api_version + - kind + - id + - display_name + headers: + X-Request-Id: + schema: type: string - nullable: true - operation: + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateIamV2ServiceAccount + summary: Update a Service Account + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update a service account. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the service account. + tags: + - Service Accounts (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.ServiceAccount' + responses: + '200': + description: Service Account. + content: + application/json: + schema: + type: object + description: >- + `ServiceAccount` objects are typically used to represent + applications and other non-human principals + + that may access your Confluent resources. + + + The API allows you to create, retrieve, update, and delete + individual service accounts, as well as + + list all your service accounts. + + + + Related guide: [Service Accounts in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + + ## The Service Accounts Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `service_accounts_per_org` | Service Accounts in one + Confluent Cloud organization | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ServiceAccount + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + example: DeLorean_auto_repair + description: A human-readable name for the Service Account + description: + type: string + example: Doc's repair bot for the DeLorean + description: A free-form description of the Service Account + required: + - api_version + - kind + - id + - display_name + headers: + X-Request-Id: + schema: type: string - x-extensible-enum: - - SET - - DELETE - nullable: true - validate_only: - type: boolean - CreateAclRequestData: - type: object - required: - - resource_type - - resource_name - - pattern_type - - principal - - host - - operation - - permission - properties: - resource_type: - $ref: '#/components/schemas/AclResourceType' - resource_name: - type: string - pattern_type: - $ref: '#/components/schemas/AclPatternType' - principal: - type: string - host: - type: string - operation: - $ref: '#/components/schemas/AclOperation' - permission: - $ref: '#/components/schemas/AclPermission' - CreateAclRequestDataList: - allOf: - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/CreateAclRequestData' - CreateTopicRequestData: - type: object - required: - - topic_name - properties: - topic_name: - type: string - partitions_count: - type: integer - replication_factor: - type: integer - configs: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - validate_only: - type: boolean - ProduceRequest: - type: object - properties: - partition_id: - type: integer - nullable: true - format: int32 - headers: - type: array - items: - $ref: '#/components/schemas/ProduceRequestHeader' - key: - $ref: '#/components/schemas/ProduceRequestData' - value: - $ref: '#/components/schemas/ProduceRequestData' - timestamp: - type: string - format: date-time - nullable: true - UpdateConfigRequestData: - type: object - properties: - value: - type: string - nullable: true - CreateLinkRequestData: - properties: - source_cluster_id: - type: string - destination_cluster_id: - type: string - remote_cluster_id: - description: The expected remote cluster ID. - type: string - cluster_link_id: - description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' - type: string - configs: - items: - $ref: '#/components/schemas/ConfigData' - type: array - type: object - UpdateLinkConfigRequestData: - properties: - value: - type: string - required: - - value - type: object - CreateMirrorTopicRequestData: - properties: - source_topic_name: - type: string - mirror_topic_name: - type: string - replication_factor: - type: integer - configs: - type: array - items: - $ref: '#/components/schemas/ConfigData' - required: - - source_topic_name - type: object - AlterMirrorsRequestData: - properties: - mirror_topic_names: - description: The mirror topics specified as a list of topic names. - type: array - items: + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteIamV2ServiceAccount + summary: Delete a Service Account + description: > + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete a service account. + + + If successful, this request will also recursively delete all of the + service account's associated resources, + + including its cloud and cluster API keys. + parameters: + - name: id + in: path + required: true + schema: type: string - mirror_topic_name_pattern: - description: The mirror topics specified as a pattern. - type: string - type: object - RemoveBrokersRequestData: - properties: - broker_ids: - type: array - items: - type: integer - required: - - broker_ids - type: object - BrokerReplicaExclusionBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' - ObjectMeta: - description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' - required: - - self - properties: - self: - description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' - type: string - format: uri - readOnly: true - example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' - resource_name: - description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name - type: string - format: uri - readOnly: true - example: 'crn://confluent.cloud/kafka=lkc-f3a90de' - created_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. - updated_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. - deleted_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. - readOnly: true - iam.v2.ApiKeySpec: - type: object - description: The desired state of the Api Key - properties: - secret: - type: string - example: R15hoiDIq8Nxu/lY4mPO3DwAVIfU5W7OI+efsB607mLgHTnVW5XJGVqX2ysDx987 - description: 'The API key secret. Only provided in `create` responses, not in `get` or `list`.' - x-redact: true - x-immutable: true - readOnly: true - display_name: - type: string - example: CI kafka access key - description: A human readable name for the API key - description: - type: string - example: This API key provides kafka access to cluster x - description: A human readable description for the API key - owner: - allOf: - - $ref: '#/components/schemas/TypedGlobalObjectReference' - description: 'The owner to which this belongs. The owner can be one of iam.v2.User, iam.v2.ServiceAccount.' - x-immutable: true - resource: - allOf: - - $ref: '#/components/schemas/TypedEnvScopedObjectReference' - nullable: true - description: | - The resource associated with this object. The resource can be one of Kafka Cluster ID (example: lkc-12345), - Schema Registry Cluster ID (example: lsrc-12345), ksqlDB Cluster ID (example: lksqlc-12345), or Flink - (Environment + Region pair, example: env-abc123.aws.us-east-2). - May be null or omitted if not associated with a resource. For Cloud API keys, resource should be `null`. - [Learn more in Authentication](https://docs.confluent.io/cloud/current/api.html#section/Authentication). + description: The unique identifier for the service account. + tags: + - Service Accounts (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Service Account is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /iam/v2/invitations: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listIamV2Invitations + summary: List of Invitations + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Note - Flink is in the [Preview lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) - x-immutable: true - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - Error: - type: object - description: Describes a particular error encountered while performing an operation. - properties: - id: - description: A unique identifier for this particular occurrence of the problem. - type: string - maxLength: 255 - status: - description: 'The HTTP status code applicable to this problem, expressed as a string value.' - type: string - code: - description: 'An application-specific error code, expressed as a string value.' - type: string - title: - description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' - type: string - detail: - description: A human-readable explanation specific to this occurrence of the problem. - type: string - source: - type: object - description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' - properties: - pointer: - description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' - type: string - parameter: - description: A string indicating which query parameter caused the error. - type: string - error_code: - type: integer - format: int32 - message: - type: string - nullable: true - additionalProperties: false - ProduceRequestHeader: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - format: byte - nullable: true - ProduceRequestData: - type: object - properties: - type: - type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - data: - $ref: '#/components/schemas/AnyValue' - nullable: true - ConfigData: - example: - name: name - value: value - properties: - name: - type: string - value: - nullable: true - type: string - required: - - name - - value - BrokerReplicaExclusionRequestData: - type: object - required: - - broker_id - - reason - properties: - broker_id: - type: integer - reason: - type: string - TypedGlobalObjectReference: - type: object - description: ObjectReference provides information for you to locate the referred object - required: - - id - - related - - resource_name - properties: - id: - type: string - description: ID of the referred resource - minLength: 1 - maxLength: 255 - related: - type: string - format: uri - description: API URL for accessing or modifying the referred object - minLength: 1 - readOnly: true - resource_name: - type: string - format: uri - description: CRN reference to the referred resource - minLength: 1 - readOnly: true - api_version: - type: string - description: API group and version of the referred resource - minLength: 1 - readOnly: true - kind: - type: string - description: Kind of the referred resource - minLength: 1 - readOnly: true - TypedEnvScopedObjectReference: - type: object - description: ObjectReference provides information for you to locate the referred object - required: - - id - - related - - resource_name - properties: - id: - type: string - description: ID of the referred resource - minLength: 1 - maxLength: 255 - environment: - type: string - description: 'Environment of the referred resource, if env-scoped' - minLength: 1 - maxLength: 255 - related: - type: string - format: uri - description: API URL for accessing or modifying the referred object - minLength: 1 - readOnly: true - resource_name: - type: string - format: uri - description: CRN reference to the referred resource - minLength: 1 - readOnly: true - api_version: - type: string - description: API group and version of the referred resource - minLength: 1 - readOnly: true - kind: - type: string - description: Kind of the referred resource - minLength: 1 - readOnly: true - AnyValue: - nullable: true - iam.v2.ApiKeyUpdate: - type: object - description: |- - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. - The API allows you to list, create, update and delete your API Keys. + Retrieve a sorted, filtered, paginated list of all invitations. + parameters: + - name: email + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: johndoe@confluent.io + description: Filter the results by exact match for email. + - name: status + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: INVITE_STATUS_SENT + description: Filter the results by exact match for status. + - name: user + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: u-j93dy8 + description: Filter the results by exact match for user. + - name: creator + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: u-m2r9o7 + description: Filter the results by exact match for creator. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Invitations (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Invitation. + content: + application/json: + schema: + type: object + description: >- + `Invitation` objects represent invitations to invite users to + join your organizations in Confluent Cloud. - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + The API allows you to list all your invitations, as well as + create, read, and delete a specified invitation. - ## The API Keys Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - ApiKey - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/iam/v2/api-keys/ak-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/api-key=ak-12345' - spec: - $ref: '#/components/schemas/iam.v2.ApiKeySpecUpdate' - iam.v2.ApiKeySpecUpdate: - type: object - description: The desired state of the Api Key - properties: - display_name: - type: string - example: CI kafka access key - description: A human readable name for the API key - description: - type: string - example: This API key provides kafka access to cluster x - description: A human readable description for the API key - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - iam.v2.UserList: - type: object - description: |- - `User` objects represent individuals who may access your Confluent resources. + Related guide: [User invitations in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. + ## The Invitations Model - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). + - ## The Users Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + ## Quotas and Limits - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - UserList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/iam/v2/users' - last: - example: 'https://api.confluent.cloud/iam/v2/users?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/iam/v2/users?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/iam/v2/users?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/iam.v2.User' - - type: object + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `invitations_per_org` | Invitations in a Confluent Cloud + organization | required: - - id + - api_version + - kind - metadata - - email - uniqueItems: true - iam.v2.User: - type: object - description: |- - `User` objects represent individuals who may access your Confluent resources. + - data + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - InvitationList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `Invitation` objects represent invitations to invite + users to join your organizations in Confluent Cloud. - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. + The API allows you to list all your invitations, as well + as create, read, and delete a specified invitation. - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). - ## The Users Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + Related guide: [User invitations in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - User - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/iam/v2/users/u-12345' - resource_name: - example: 'crn://confluent.cloud/user=u-12345' - email: - type: string - format: email - example: marty.mcfly@example.com - description: The user's email address - x-immutable: true - full_name: - example: Marty McFly - type: string - description: The user's full name - auth_type: - type: string - description: The user's authentication method - example: AUTH_TYPE_SSO - x-extensible-enum: - - AUTH_TYPE_LOCAL - - AUTH_TYPE_SSO - readOnly: true - iam.v2.UserUpdate: - type: object - description: |- - `User` objects represent individuals who may access your Confluent resources. - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. + ## The Invitations Model + - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). - ## The Users Model - + ## Quotas and Limits - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - User - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/iam/v2/users/u-12345' - resource_name: - example: 'crn://confluent.cloud/user=u-12345' - full_name: - example: Marty McFly - type: string - description: The user's full name - auth_type: - type: string - description: The user's authentication method - example: AUTH_TYPE_SSO - x-extensible-enum: - - AUTH_TYPE_LOCAL - - AUTH_TYPE_SSO - readOnly: true - iam.v2.ServiceAccountList: - type: object - description: |- - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. + | Quota | Description | + | --- | --- | - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). + | `invitations_per_org` | Invitations in a Confluent + Cloud organization | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - Invitation + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + email: + type: string + format: email + example: johndoe@confluent.io + description: The user/invitee's email address + x-immutable: true + auth_type: + type: string + description: > + The user/invitee's authentication type. Note that + only the [OrganizationAdmin + role](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html#organizationadmin) + + can invite AUTH_TYPE_LOCAL users to SSO + organizations. + + The user's auth_type is set as AUTH_TYPE_SSO by + default if the organization has SSO enabled. + + Otherwise, the user's auth_type is AUTH_TYPE_LOCAL + by default. + example: AUTH_TYPE_SSO + x-extensible-enum: + - AUTH_TYPE_LOCAL + - AUTH_TYPE_SSO + status: + type: string + example: INVITE_STATUS_SENT + description: The status of invitations + x-extensible-enum: + - INVITE_STATUS_SENT + - INVITE_STATUS_STAGED + - INVITE_STATUS_ACCEPTED + - INVITE_STATUS_EXPIRED + - INVITE_STATUS_DEACTIVATED + readOnly: true + accepted_at: + type: string + format: date-time + example: '2022-07-06T17:21:33.000Z' + description: The timestamp that the invitation was accepted + nullable: true + readOnly: true + expires_at: + type: string + format: date-time + example: '2022-07-07T17:22:39.000Z' + description: The timestamp that the invitation will expire + readOnly: true + user: + description: The user/invitee + readOnly: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + creator: + description: The invitation creator + readOnly: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - id + - metadata + - email + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createIamV2Invitation + summary: Create an Invitation + description: > + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Service Accounts Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + Make a request to create an invitation. - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - ServiceAccountList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/iam/v2/service-accounts' - last: - example: 'https://api.confluent.cloud/iam/v2/service-accounts?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/iam/v2/service-accounts?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/iam/v2/service-accounts?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/iam.v2.ServiceAccount' - - type: object - required: - - id - - metadata - - display_name - uniqueItems: true - iam.v2.ServiceAccount: - type: object - description: |- - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. + The newly invited user will not have any permissions. Give the user + permission by assigning them to one or + more roles by creating - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). + [role + bindings](https://docs.confluent.io/cloud/current/api.html#tag/Role-Bindings-(iamv2)) - ## The Service Accounts Model - + for the created `user`. + tags: + - Invitations (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `Invitation` objects represent invitations to invite users to + join your organizations in Confluent Cloud. + + + The API allows you to list all your invitations, as well as + create, read, and delete a specified invitation. + + + + Related guide: [User invitations in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + + ## The Invitations Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `invitations_per_org` | Invitations in a Confluent Cloud + organization | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Invitation + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + email: + type: string + format: email + example: johndoe@confluent.io + description: The user/invitee's email address + x-immutable: true + auth_type: + type: string + description: > + The user/invitee's authentication type. Note that only the + [OrganizationAdmin + role](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html#organizationadmin) + + can invite AUTH_TYPE_LOCAL users to SSO organizations. + + The user's auth_type is set as AUTH_TYPE_SSO by default if + the organization has SSO enabled. + + Otherwise, the user's auth_type is AUTH_TYPE_LOCAL by + default. + example: AUTH_TYPE_SSO + x-extensible-enum: + - AUTH_TYPE_LOCAL + - AUTH_TYPE_SSO + status: + type: string + example: INVITE_STATUS_SENT + description: The status of invitations + x-extensible-enum: + - INVITE_STATUS_SENT + - INVITE_STATUS_STAGED + - INVITE_STATUS_ACCEPTED + - INVITE_STATUS_EXPIRED + - INVITE_STATUS_DEACTIVATED + readOnly: true + accepted_at: + type: string + format: date-time + example: '2022-07-06T17:21:33.000Z' + description: The timestamp that the invitation was accepted + nullable: true + readOnly: true + expires_at: + type: string + format: date-time + example: '2022-07-07T17:22:39.000Z' + description: The timestamp that the invitation will expire + readOnly: true + user: + description: The user/invitee + readOnly: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + creator: + description: The invitation creator + readOnly: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - email + responses: + '201': + description: An Invitation was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/iam/v2/invitations/{id} + description: Invitation resource uri + content: + application/json: + schema: + type: object + description: >- + `Invitation` objects represent invitations to invite users to + join your organizations in Confluent Cloud. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - ServiceAccount - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/iam/v2/service-accounts/sa-12345' - resource_name: - example: 'crn://confluent.cloud/service-account=sa-12345' - display_name: - type: string - example: DeLorean_auto_repair - description: A human-readable name for the Service Account - x-immutable: true - description: - type: string - example: Doc's repair bot for the DeLorean - description: A free-form description of the Service Account - iam.v2.ServiceAccountUpdate: - type: object - description: |- - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. + The API allows you to list all your invitations, as well as + create, read, and delete a specified invitation. - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). + Related guide: [User invitations in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). - ## The Service Accounts Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + ## The Invitations Model - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - ServiceAccount - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/iam/v2/service-accounts/sa-12345' - resource_name: - example: 'crn://confluent.cloud/service-account=sa-12345' - description: - type: string - example: Doc's repair bot for the DeLorean - description: A free-form description of the Service Account - iam.v2.InvitationList: - type: object - description: |- - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + ## Quotas and Limits - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## The Invitations Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + | Quota | Description | - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - InvitationList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/iam/v2/invitations' - last: - example: 'https://api.confluent.cloud/iam/v2/invitations?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/iam/v2/invitations?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/iam/v2/invitations?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/iam.v2.Invitation' - - type: object + | --- | --- | + + | `invitations_per_org` | Invitations in a Confluent Cloud + organization | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Invitation + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + email: + type: string + format: email + example: johndoe@confluent.io + description: The user/invitee's email address + x-immutable: true + auth_type: + type: string + description: > + The user/invitee's authentication type. Note that only the + [OrganizationAdmin + role](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html#organizationadmin) + + can invite AUTH_TYPE_LOCAL users to SSO organizations. + + The user's auth_type is set as AUTH_TYPE_SSO by default if + the organization has SSO enabled. + + Otherwise, the user's auth_type is AUTH_TYPE_LOCAL by + default. + example: AUTH_TYPE_SSO + x-extensible-enum: + - AUTH_TYPE_LOCAL + - AUTH_TYPE_SSO + status: + type: string + example: INVITE_STATUS_SENT + description: The status of invitations + x-extensible-enum: + - INVITE_STATUS_SENT + - INVITE_STATUS_STAGED + - INVITE_STATUS_ACCEPTED + - INVITE_STATUS_EXPIRED + - INVITE_STATUS_DEACTIVATED + readOnly: true + accepted_at: + type: string + format: date-time + example: '2022-07-06T17:21:33.000Z' + description: The timestamp that the invitation was accepted + nullable: true + readOnly: true + expires_at: + type: string + format: date-time + example: '2022-07-07T17:22:39.000Z' + description: The timestamp that the invitation will expire + readOnly: true + user: + description: The user/invitee + readOnly: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + creator: + description: The invitation creator + readOnly: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true required: - - id - - metadata - email - uniqueItems: true - iam.v2.Invitation: - type: object - description: |- - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /iam/v2/invitations/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getIamV2Invitation + summary: Read an Invitation + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + Make a request to read an invitation. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the invitation. + tags: + - Invitations (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Invitation. + content: + application/json: + schema: + type: object + description: >- + `Invitation` objects represent invitations to invite users to + join your organizations in Confluent Cloud. - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). - ## The Invitations Model - + The API allows you to list all your invitations, as well as + create, read, and delete a specified invitation. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Invitation - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/iam/v2/invitations/i-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/invitation=i-12345' - email: - type: string - format: email - example: johndoe@confluent.io - description: The user/invitee's email address - x-immutable: true - auth_type: - type: string - description: | - The user/invitee's authentication type. Note that only the [OrganizationAdmin role](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html#organizationadmin) - can invite AUTH_TYPE_LOCAL users to SSO organizations. - The user's auth_type is set as AUTH_TYPE_SSO by default if the organization has SSO enabled. - Otherwise, the user's auth_type is AUTH_TYPE_LOCAL by default. - example: AUTH_TYPE_SSO - x-extensible-enum: - - AUTH_TYPE_LOCAL - - AUTH_TYPE_SSO - status: - type: string - example: INVITE_STATUS_SENT - description: The status of invitations - x-extensible-enum: - - INVITE_STATUS_SENT - - INVITE_STATUS_STAGED - - INVITE_STATUS_ACCEPTED - - INVITE_STATUS_EXPIRED - - INVITE_STATUS_DEACTIVATED - readOnly: true - accepted_at: - type: string - format: date-time - example: '2022-07-06T17:21:33Z' - description: The timestamp that the invitation was accepted - nullable: true - readOnly: true - expires_at: - type: string - format: date-time - example: '2022-07-07T17:22:39Z' - description: The timestamp that the invitation will expire - readOnly: true - user: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' - description: The user/invitee - readOnly: true - creator: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' - description: The invitation creator - readOnly: true - GlobalObjectReference: - type: object - description: ObjectReference provides information for you to locate the referred object - required: - - id - - related - - resource_name - properties: - id: - type: string - description: ID of the referred resource - minLength: 1 - maxLength: 255 - related: - type: string - format: uri - description: API URL for accessing or modifying the referred object - minLength: 1 - readOnly: true - resource_name: - type: string - format: uri - description: CRN reference to the referred resource - minLength: 1 - readOnly: true - iam.v2.IpGroupList: - type: object - description: |- - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + Related guide: [User invitations in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). - ## The IP Groups Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - IpGroupList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/iam/v2/ip-groups' - last: - example: 'https://api.confluent.cloud/iam/v2/ip-groups?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/iam/v2/ip-groups?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/iam/v2/ip-groups?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/iam.v2.IpGroup' - - type: object - required: - - id - - metadata - - group_name - - cidr_blocks - uniqueItems: true - iam.v2.IpGroup: - type: object - description: |- - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + ## The Invitations Model - ## The IP Groups Model - - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - IpGroup - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/iam/v2/ip-groups/ipg-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/ip-group=ipg-12345' - group_name: - type: string - minLength: 1 - maxLength: 64 - example: CorpNet - description: | - A human readable name for an IP Group. Can contain any unicode letter or number, the ASCII space character, or - any of the following special characters: `[`, `]`, `|`, `&`, `+`, `-`, `_`, `/`, `.`, `,`. - cidr_blocks: - type: array - items: - type: string - minItems: 1 - example: - - 192.168.0.0/24 - - 192.168.7.0/24 - description: A list of CIDRs. - iam.v2.IpFilterList: - type: object - description: |- - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. + - ## The IP Filters Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - IpFilterList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/iam/v2/ip-filters' - last: - example: 'https://api.confluent.cloud/iam/v2/ip-filters?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/iam/v2/ip-filters?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/iam/v2/ip-filters?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/iam.v2.IpFilter' - - type: object - required: - - id - - metadata - - filter_name - - resource_group - - ip_groups - uniqueItems: true - iam.v2.IpFilter: - type: object - description: |- - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. + ## Quotas and Limits + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## The IP Filters Model - - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - IpFilter - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/iam/v2/ip-filters/ipf-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/ip-filter=ipf-12345' - filter_name: - type: string - minLength: 1 - maxLength: 64 - example: Management API Rules - description: | - A human readable name for an IP Filter. Can contain any unicode letter or number, the ASCII space character, - or any of the following special characters: `[`, `]`, `|`, `&`, `+`, `-`, `_`, `/`, `.`, `,`. - resource_group: - type: string - example: management - description: | - Scope of resources covered by this IP filter. The only resource_group currently available is "management". - ip_groups: - type: array - items: - $ref: '#/components/schemas/GlobalObjectReference' - description: A list of IP Groups. - minItems: 1 - iam.v2.RoleBindingList: - type: object - description: |- - A role binding grants a Principal a role on resources that match a pattern. - The API allows you to perform create, delete, and list operations on role bindings. + | Quota | Description | + | --- | --- | - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). - - ## The Role Bindings Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - RoleBindingList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/iam/v2/role-bindings' - last: - example: 'https://api.confluent.cloud/iam/v2/role-bindings?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/iam/v2/role-bindings?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/iam/v2/role-bindings?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/iam.v2.RoleBinding' - - type: object + | `invitations_per_org` | Invitations in a Confluent Cloud + organization | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Invitation + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + email: + type: string + format: email + example: johndoe@confluent.io + description: The user/invitee's email address + x-immutable: true + auth_type: + type: string + description: > + The user/invitee's authentication type. Note that only the + [OrganizationAdmin + role](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html#organizationadmin) + + can invite AUTH_TYPE_LOCAL users to SSO organizations. + + The user's auth_type is set as AUTH_TYPE_SSO by default if + the organization has SSO enabled. + + Otherwise, the user's auth_type is AUTH_TYPE_LOCAL by + default. + example: AUTH_TYPE_SSO + x-extensible-enum: + - AUTH_TYPE_LOCAL + - AUTH_TYPE_SSO + status: + type: string + example: INVITE_STATUS_SENT + description: The status of invitations + x-extensible-enum: + - INVITE_STATUS_SENT + - INVITE_STATUS_STAGED + - INVITE_STATUS_ACCEPTED + - INVITE_STATUS_EXPIRED + - INVITE_STATUS_DEACTIVATED + readOnly: true + accepted_at: + type: string + format: date-time + example: '2022-07-06T17:21:33.000Z' + description: The timestamp that the invitation was accepted + nullable: true + readOnly: true + expires_at: + type: string + format: date-time + example: '2022-07-07T17:22:39.000Z' + description: The timestamp that the invitation will expire + readOnly: true + user: + description: The user/invitee + readOnly: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + creator: + description: The invitation creator + readOnly: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true required: + - api_version + - kind - id - - metadata - - principal - - role_name - - crn_pattern - uniqueItems: true - iam.v2.RoleBinding: - type: object - description: |- - A role binding grants a Principal a role on resources that match a pattern. + - email + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteIamV2Invitation + summary: Delete an Invitation + description: > + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to perform create, delete, and list operations on role bindings. + Make a request to delete an invitation. - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). - ## The Role Bindings Model - - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - RoleBinding - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/iam/v2/role-bindings/rb-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/role-binding=rb-12345' - principal: - type: string - description: The principal User to bind the role to - pattern: '(^User:.+$)' - example: 'User:u-111aaa' - role_name: - type: string - description: The name of the role to bind to the principal - example: CloudClusterAdmin - crn_pattern: - type: string - description: A CRN that specifies the scope and resource patterns necessary for the role to bind - format: uri - pattern: '^crn://.+$' - example: 'crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa' - iam.v2.IdentityProviderList: - type: object - description: |- - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + Delete will deactivate the user if the user didn't accept the invitation + yet. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the invitation. + tags: + - Invitations (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: An Invitation is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /iam/v2/ip-groups: + get: + x-lifecycle-stage: General Availability + x-self-access: false + x-request-access-name: IP Groups API + operationId: listIamV2IpGroups + summary: List of IP Groups + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to list, create, read, update, and delete your Identity Provider. + Retrieve a sorted, filtered, paginated list of all IP groups. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 25 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - IP Groups (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: IP Group. + content: + application/json: + schema: + type: object + description: >- + Definitions of networks which can be named and referred by IP + blocks, commonly used to attach to IP Filter rules. - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - ## The Identity Providers Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + ## The IP Groups Model - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - IdentityProviderList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/iam/v2/identity-providers' - last: - example: 'https://api.confluent.cloud/iam/v2/identity-providers?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/iam/v2/identity-providers?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/iam/v2/identity-providers?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/iam.v2.IdentityProvider' - - type: object + required: - - id + - api_version + - kind - metadata - - display_name - - description - - state - - issuer - - jwks_uri - uniqueItems: true - iam.v2.IdentityProvider: - type: object - description: |- - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Identity Provider. + - data + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IpGroupList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + Definitions of networks which can be named and referred + by IP blocks, commonly used to attach to IP Filter + rules. - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - ## The Identity Providers Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - IdentityProvider - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/iam/v2/identity-providers/ip-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/identity-provider=ip-12345' - display_name: - type: string - description: The human-readable name of the OAuth identity provider. - example: My OIDC Provider - description: - type: string - description: A description of the identity provider. - state: - type: string - x-extensible-enum: - - ENABLED - description: The current state of the identity provider. - example: ENABLED - readOnly: true - issuer: - type: string - format: uri - description: |- - A publicly accessible URL uniquely identifying the OAuth - identity provider authorized to issue access tokens. - example: 'https://login.microsoftonline.com/{tenantid}/v2.0' - x-immutable: false - jwks_uri: - type: string - format: uri - description: |- - A publicly accessible JSON Web Key Set (JWKS) URI for the OAuth - identity provider. JWKS provides a set of crypotgraphic keys - used to verify the authenticity and integrity of JSON Web - Tokens (JWTs) issued by the OAuth identity provider. - example: 'https://login.microsoftonline.com/common/discovery/v2.0/keys' - x-immutable: false - keys: - type: array - items: - $ref: '#/components/schemas/iam.v2.JwksObject' - description: |- - The JWKS issued by the OAuth identity provider. Only `kid` (key ID) - and `alg` (algorithm) properties for each key set are included. - readOnly: true - iam.v2.JwksObject: - type: object - description: '`JWKS` contains the published keys for the given OpenIDProvider' - required: - - kty - - kid - - alg - properties: - kty: - type: string - x-extensible-enum: - - RSA - description: Specifies the cryptographic algorithm family used with the key - example: RSA - kid: - type: string - description: Specifies the key-id issued by the OpenIDProvider for the particular tenant - example: nOo3ZDrODXEK1jKWhXslHR_KXEg - alg: - type: string - description: Specifies the algorithm to be used to generate the public key - example: RS256 - use: - type: string - description: Specifies the intended usage of the key - example: sig - 'n': - type: string - description: Specifies the modulus of the RSA public key. Represented as a Base64urlUInt-encoded value - e: - type: string - description: Specifies the exponent of the RSA public key. - example: AQAB - iam.v2.Jwks: - type: object - description: |- - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. - - The API allows you to refresh JWKS public key data. + ## The IP Groups Model + + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - IpGroup + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + group_name: + type: string + minLength: 1 + maxLength: 64 + example: CorpNet + description: > + A human readable name for an IP Group. Can contain + any unicode letter or number, the ASCII space + character, or + + any of the following special characters: `[`, `]`, + `|`, `&`, `+`, `-`, `_`, `/`, `.`, `,`. + cidr_blocks: + type: array + items: + type: string + minItems: 1 + maxItems: 25 + example: + - 192.168.0.0/24 + - 192.168.7.0/24 + description: A list of CIDRs. + required: + - id + - metadata + - group_name + - cidr_blocks + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-page-first-available: true + x-page-last-available: true + x-page-from-start: true + x-page-from-end: true + post: + x-lifecycle-stage: General Availability + x-self-access: false + x-request-access-name: IP Groups API + operationId: createIamV2IpGroup + summary: Create an IP Group + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - ## The Jwks Model - - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Jwks - spec: - $ref: '#/components/schemas/iam.v2.JwksSpec' - status: - $ref: '#/components/schemas/iam.v2.JwksStatus' - iam.v2.JwksSpec: - type: object - description: The desired state of the Jwks - properties: - jwks_status: - type: string - x-extensible-enum: - - REFRESHED - description: The desired state of the public key data - example: REFRESHED - x-enable-id: false - x-enable-listmeta: true - x-enable-objectmeta: false - iam.v2.JwksStatus: - description: The status of the Jwks - type: object - properties: - jwks_status: - type: string - x-extensible-enum: - - REFRESHED - - OK - - INVALID_JWKS_URI - - ERROR_FETCHING_JWKS - description: The actual state of the public key data - example: REFRESHED - jwks_last_refresh_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - description: The last successful refresh time for the public key data - readOnly: true - iam.v2.IdentityPoolList: - type: object - description: |- - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. + Make a request to create an IP group. + tags: + - IP Groups (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + Definitions of networks which can be named and referred by IP + blocks, commonly used to attach to IP Filter rules. + + + + ## The IP Groups Model + + + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IpGroup + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + group_name: + type: string + minLength: 1 + maxLength: 64 + example: CorpNet + description: > + A human readable name for an IP Group. Can contain any + unicode letter or number, the ASCII space character, or + + any of the following special characters: `[`, `]`, `|`, `&`, + `+`, `-`, `_`, `/`, `.`, `,`. + cidr_blocks: + type: array + items: + type: string + minItems: 1 + maxItems: 25 + example: + - 192.168.0.0/24 + - 192.168.7.0/24 + description: A list of CIDRs. + required: + - group_name + - cidr_blocks + responses: + '201': + description: An IP Group was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/iam/v2/ip-groups/{id} + description: IpGroup resource uri + content: + application/json: + schema: + type: object + description: >- + Definitions of networks which can be named and referred by IP + blocks, commonly used to attach to IP Filter rules. - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + ## The IP Groups Model - ## The Identity Pools Model - + + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IpGroup + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + group_name: + type: string + minLength: 1 + maxLength: 64 + example: CorpNet + description: > + A human readable name for an IP Group. Can contain any + unicode letter or number, the ASCII space character, or + + any of the following special characters: `[`, `]`, `|`, + `&`, `+`, `-`, `_`, `/`, `.`, `,`. + cidr_blocks: + type: array + items: + type: string + minItems: 1 + maxItems: 25 + example: + - 192.168.0.0/24 + - 192.168.7.0/24 + description: A list of CIDRs. + required: + - group_name + - cidr_blocks + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: false + x-request-access-name: IP Groups API + /iam/v2/ip-groups/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: false + x-request-access-name: IP Groups API + operationId: getIamV2IpGroup + summary: Read an IP Group + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - IdentityPoolList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/iam/v2/identity-pools' - last: - example: 'https://api.confluent.cloud/iam/v2/identity-pools?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/iam/v2/identity-pools?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/iam/v2/identity-pools?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/iam.v2.IdentityPool' - - type: object - required: - - id - - metadata - - display_name - - description - - identity_claim - - filter - - principal - - state - uniqueItems: true - iam.v2.IdentityPool: - type: object - description: |- - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. - - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. + Make a request to read an IP group. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the IP group. + tags: + - IP Groups (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: IP Group. + content: + application/json: + schema: + type: object + description: >- + Definitions of networks which can be named and referred by IP + blocks, commonly used to attach to IP Filter rules. - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). - ## The Identity Pools Model - + ## The IP Groups Model - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IpGroup + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + group_name: + type: string + minLength: 1 + maxLength: 64 + example: CorpNet + description: > + A human readable name for an IP Group. Can contain any + unicode letter or number, the ASCII space character, or + + any of the following special characters: `[`, `]`, `|`, + `&`, `+`, `-`, `_`, `/`, `.`, `,`. + cidr_blocks: + type: array + items: + type: string + minItems: 1 + maxItems: 25 + example: + - 192.168.0.0/24 + - 192.168.7.0/24 + description: A list of CIDRs. + required: + - api_version + - kind + - id + - group_name + - cidr_blocks + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: false + x-request-access-name: IP Groups API + operationId: updateIamV2IpGroup + summary: Update an IP Group + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - IdentityPool - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/iam/v2/identity-pools/ip-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/identity-pool=ip-12345' - display_name: - type: string - description: The name of the `IdentityPool`. - example: My Identity Pool - description: - type: string - description: A description of how this `IdentityPool` is used - example: Prod Access to Kafka clusters to Release Engineering - identity_claim: - type: string - description: |- - The JSON Web Token (JWT) claim to extract the authenticating identity to Confluent resources from - (see [Registered Claim Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) for more details). - This appears in the audit log records, showing, for example, that "identity Z used identity pool X to access - topic A". - example: claims.sub - filter: - type: string - description: 'A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) that specifies which identities can authenticate using your identity pool (see [Set identity pool filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) for more details).' - maxLength: 300 - example: claims.aud=="confluent" && claims.group!="invalid_group" - principal: - type: string - description: Represents the federated identity associated with this pool. - example: pool-abc - readOnly: true - state: - type: string - x-extensible-enum: - - ENABLED - description: The current state of the identity pool - example: ENABLED - readOnly: true - iam.v2.sso.GroupMappingList: - type: object - description: |- - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. + Make a request to update an IP group. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the IP group. + tags: + - IP Groups (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.IpGroup' + responses: + '200': + description: IP Group. + content: + application/json: + schema: + type: object + description: >- + Definitions of networks which can be named and referred by IP + blocks, commonly used to attach to IP Filter rules. - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). - ## The Group Mappings Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + ## The IP Groups Model - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - iam.v2/sso - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - GroupMappingList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/iam.v2/sso/group-mappings' - last: - example: 'https://api.confluent.cloud/iam.v2/sso/group-mappings?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/iam.v2/sso/group-mappings?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/iam.v2/sso/group-mappings?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/iam.v2.sso.GroupMapping' - - type: object + + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IpGroup + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + group_name: + type: string + minLength: 1 + maxLength: 64 + example: CorpNet + description: > + A human readable name for an IP Group. Can contain any + unicode letter or number, the ASCII space character, or + + any of the following special characters: `[`, `]`, `|`, + `&`, `+`, `-`, `_`, `/`, `.`, `,`. + cidr_blocks: + type: array + items: + type: string + minItems: 1 + maxItems: 25 + example: + - 192.168.0.0/24 + - 192.168.7.0/24 + description: A list of CIDRs. required: + - api_version + - kind - id - - metadata - - display_name - - description - - filter - - principal - - state - uniqueItems: true - iam.v2.sso.GroupMapping: - type: object - description: |- - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. - - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. - - - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). - - ## The Group Mappings Model - + - group_name + - cidr_blocks + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: false + x-request-access-name: IP Groups API + operationId: deleteIamV2IpGroup + summary: Delete an IP Group + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - properties: - api_version: - type: string - enum: - - iam.v2/sso - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - GroupMapping - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/iam.v2/sso/group-mappings/gm-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/group-mapping=gm-12345' - display_name: - type: string - description: The name of the group mapping. - example: Application Developers - description: - type: string - description: A description explaining the purpose and use of the group mapping. - example: Admin access to production environment for Engineering - filter: - type: string - description: 'A single group identifier or a condition based on [supported CEL operators](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html#supported-cel-operators-for-group-mapping) that defines which groups are included.' - maxLength: 300 - example: '"kafka" in groups && "all" in groups || "everyone" in groups' - principal: - type: string - description: The unique federated identity associated with this group mapping. - example: group-a1b2 - readOnly: true - state: - type: string - x-extensible-enum: - - ENABLED - description: The current state of the group mapping. - example: ENABLED - readOnly: true - iam.v2.CertificateAuthorityList: - type: object - description: | - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + Make a request to delete an IP group. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the IP group. + tags: + - IP Groups (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: An IP Group is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: false + x-request-access-name: IP Groups API + /iam/v2/ip-filters: + get: + x-lifecycle-stage: General Availability + x-self-access: false + x-request-access-name: IP Filters API + operationId: listIamV2IpFilters + summary: List of IP Filters + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to list, create, read, update, and delete your Certificate Authority. - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - CertificateAuthorityList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/iam/v2/certificate-authorities' - last: - example: 'https://api.confluent.cloud/iam/v2/certificate-authorities?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/iam/v2/certificate-authorities?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/iam/v2/certificate-authorities?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/iam.v2.CertificateAuthority' - - type: object - required: - - id - - metadata - - display_name - - description - - fingerprints - - expiration_dates - - serial_numbers - - certificate_chain_filename - - state - uniqueItems: true - iam.v2.CertificateAuthority: - type: object - description: | - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. - The API allows you to list, create, read, update, and delete your Certificate Authority. - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - CertificateAuthority - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/iam/v2/certificate-authorities/op-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/certificate-authority=op-12345' - display_name: - type: string - description: The human-readable name of the certificate authority. - example: My Certificate Authority - description: - type: string - description: A description of the certificate authority. - example: Sample description text - fingerprints: - type: array - items: + Retrieve a sorted, filtered, paginated list of all IP filters. + parameters: + - name: resource_scope + in: query + required: false + schema: type: string - description: |- - The fingerprints for each certificate in the certificate chain. These are SHA-1 encoded - strings that act as unique identifiers for the certificates in the chain. - example: - - B1BC968BD4f49D622AA89A81F2150152A41D829C - readOnly: true - expiration_dates: - type: array - items: + description: Lists all filters belonging to the specified resource scope. + - name: include_parent_scopes + in: query + required: false + schema: type: string - format: date-time - description: The expiration dates of certificates in the chain. - example: - - '2017-07-21T17:32:28Z' - readOnly: true - serial_numbers: - type: array - items: + description: >- + If set to true, this includes filters defined at the organization + level. The resource scope must also be set to use this parameter. + - name: page_size + in: query + required: false + schema: + type: integer + default: 25 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: type: string - description: The serial numbers for each certificate in the certificate chain. - example: - - 219C542DE8f6EC7177FA4EE8C3705797 - readOnly: true - certificate_chain_filename: - type: string - description: The file name of the uploaded pem file for this certificate authority. - example: certificate.pem - readOnly: true - crl_source: - type: string - description: |- - The source specifies whether the Certificate Revocation List (CRL) is updated from - either local file uploaded (LOCAL) or from url of CRL (URL). - x-extensible-enum: - - LOCAL - - URL - example: LOCAL - readOnly: true - crl_url: - type: string - format: uri - description: The url from which to fetch the CRL for the certificate authority if crl_source is URL. - readOnly: true - crl_updated_at: - type: string - format: date-time - description: The timestamp for when CRL was last updated. - example: '2017-07-21T17:32:28Z' - readOnly: true - state: - type: string - x-extensible-enum: - - ENABLED - description: The current state of the certificate authority. - example: ENABLED - readOnly: true - iam.v2.CreateCertRequest: - type: object - description: This contains the json schema used to create a Certificate Authority - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - CreateCertRequest - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/iam/v2/create-cert-requests/ccr-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/create-cert-request=ccr-12345' - display_name: - type: string - description: The human-readable name of the certificate authority. - example: My Certificate Authority - description: - type: string - description: A description of the certificate authority. - example: Sample description text - certificate_chain: - type: string - description: |- - The Base64 encoded string containing the signing certificate chain - used to validate client certs. - example: |- - -----BEGIN CERTIFICATE----- - MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx - GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds - b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV - BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD - VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa - DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc - THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb - Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP - c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX - gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV - HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF - AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj - Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG - j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH - hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC - X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== - -----END CERTIFICATE----- - certificate_chain_filename: - type: string - description: The name of the certificate file. - example: certificate.pem - crl_url: - type: string - format: uri - description: The url from which to fetch the CRL for the certificate authority if crl_source is URL. - crl_chain: - type: string - description: |- - The Base64 encoded string containing the CRL for this certificate authority. - Defaults to this over `crl_url` if available. - example: |- - -----BEGIN X509 CRL----- - MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD - VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1 - ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0 - eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt - MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl - AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U - BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX - CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4 - xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl - gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE - jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6 - cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg= - -----END X509 CRL----- - iam.v2.UpdateCertRequest: - type: object - description: This contains the form fields used to update a Certificate Authority - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - UpdateCertRequest - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/iam/v2/update-cert-requests/ucr-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/update-cert-request=ucr-12345' - display_name: - type: string - description: The human-readable name of the certificate authority. - example: My Certificate Authority - description: - type: string - description: A description of the certificate authority. - example: Sample description text - certificate_chain: - type: string - description: |- - The Base64 encoded string containing the signing certificate chain - used to validate client certs. - example: |- - -----BEGIN CERTIFICATE----- - MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx - GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds - b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV - BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD - VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa - DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc - THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb - Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP - c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX - gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV - HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF - AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj - Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG - j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH - hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC - X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== - -----END CERTIFICATE----- - certificate_chain_filename: - type: string - description: The name of the certificate file. Must be set if certificate is updated. - example: certificate.pem - crl_url: - type: string - format: uri - description: The url from which to fetch the CRL for the certificate authority if crl_source is URL. - crl_chain: - type: string - description: |- - The Base64 encoded string containing the CRL for this certificate authority. - Defaults to this over `crl_url` if available. - example: |- - -----BEGIN X509 CRL----- - MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD - VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1 - ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0 - eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt - MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl - AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U - BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX - CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4 - xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl - gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE - jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6 - cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg= - -----END X509 CRL----- - iam.v2.CertificateIdentityPoolList: - type: object - description: |- - `Identitypool` objects represent workload identities in Confluent Cloud. + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - IP Filters (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: IP Filter. + content: + application/json: + schema: + type: object + description: >- + `IP Filter` objects are bindings between IP Groups and + Confluent resource(s). - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities + For example, a binding between "CorpNet" and "Management APIs" + will enforce that + access must come from one of the CIDR blocks associated with + CorpNet. - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + If there are multiple IP filters bound to a resource, a + request matching any of the CIDR blocks - ## The Certificate Identity Pools Model - + for any of the IP Group will allow the request. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + If there are no IP Filters for a resource, then access will be + granted to requests originating - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - CertificateIdentityPoolList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/iam/v2/certificate-identity-pools' - last: - example: 'https://api.confluent.cloud/iam/v2/certificate-identity-pools?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/iam/v2/certificate-identity-pools?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/iam/v2/certificate-identity-pools?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/iam.v2.CertificateIdentityPool' - - type: object + from any IP Address. + + + + ## The IP Filters Model + + required: - - id + - api_version + - kind - metadata - - display_name - - description - - external_identifier - - filter - - principal - - state - uniqueItems: true - iam.v2.CertificateIdentityPool: - type: object - description: |- - `Identitypool` objects represent workload identities in Confluent Cloud. + - data + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IpFilterList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `IP Filter` objects are bindings between IP Groups and + Confluent resource(s). - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities + For example, a binding between "CorpNet" and "Management + APIs" will enforce that + access must come from one of the CIDR blocks associated + with CorpNet. - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + If there are multiple IP filters bound to a resource, a + request matching any of the CIDR blocks - ## The Certificate Identity Pools Model - + for any of the IP Group will allow the request. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + If there are no IP Filters for a resource, then access + will be granted to requests originating - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - properties: - api_version: - type: string - enum: - - iam/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - CertificateIdentityPool - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/iam/v2/certificate-identity-pools/pool-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/certificate-identity-pool=pool-12345' - display_name: - type: string - description: The name of the `IdentityPool`. - example: My Identity Pool - description: - type: string - description: A description of how this `IdentityPool` is used - example: Prod Access to Kafka clusters to Release Engineering - external_identifier: - type: string - description: |- - The certificate field that will be used to represent the - pool's external identifier for audit logging. - example: UID - filter: - type: string - description: 'A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/cel-filters.html) that specifies which identities can authenticate using your certificate identity pool (see [CEL filter for mTLS](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/cel-filters.html) for more details).' - maxLength: 300 - example: C=='Canada' && O=='Confluent' - principal: - type: string - description: Represents the federated identity associated with this pool. - example: pool-abc - readOnly: true - state: - type: string - x-extensible-enum: - - ENABLED - description: The current state of the identity pool - example: ENABLED - readOnly: true - parameters: - AclHost: - name: host - description: The ACL host. - in: query - required: false - schema: - type: string - AclOperation: - name: operation - description: The ACL operation. - in: query - required: false - schema: - $ref: '#/components/schemas/AclOperation' - AclOperationRequired: - name: operation - description: The ACL operation. - in: query - required: true - schema: - $ref: '#/components/schemas/AclOperation' - AclPatternType: - name: pattern_type - description: The ACL pattern type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPatternType' - AclPatternTypeRequired: - name: pattern_type - description: The ACL pattern type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPatternType' - AclPermission: - name: permission - description: The ACL permission. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPermission' - AclPermissionRequired: - name: permission - description: The ACL permission. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPermission' - AclPrincipal: - name: principal - description: The ACL principal. This is the Service Account name or user name. - in: query - required: false - schema: - type: string - AclResourceName: - name: resource_name - description: The ACL resource name. - in: query - required: false - schema: - type: string - AclResourceType: - name: resource_type - description: The ACL resource type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclResourceType' - AclResourceTypeRequired: - name: resource_type - description: The ACL resource type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclResourceType' - BrokerId: - name: broker_id - description: The Kafka broker ID. - in: path - required: true - schema: - type: integer - example: 1 - ClusterId: - name: cluster_id - description: The Kafka cluster ID. - in: path - required: true - schema: - type: string - example: cluster-1 - ConfigName: - name: name - description: The configuration parameter name. - in: path - required: true - schema: - type: string - example: compression.type - ConsumerGroupId: - name: consumer_group_id - description: The consumer group ID. - in: path - required: true - schema: - type: string - example: consumer-group-1 - ConsumerId: - name: consumer_id - description: The consumer ID. - in: path - required: true - schema: - type: string - example: consumer-1 - IncludeAuthorizedOperations: - name: include_authorized_operations - description: Specify if authorized operations should be included in the response. - in: query - required: false - schema: - type: boolean - PartitionId: - name: partition_id - description: The partition ID. - in: path - required: true - schema: - type: integer - example: 0 - TopicName: - name: topic_name - description: The topic name. - in: path - required: true - schema: - type: string - example: topic-1 - BrokerTaskType: - name: task_type - description: The Kafka broker task type. - in: path - required: true - schema: - $ref: '#/components/schemas/BrokerTaskType' - example: remove-broker - ShouldShutdown: - name: should_shutdown - description: 'To shutdown the broker or not, Default: true' - in: query - required: false - schema: - type: boolean - example: true - ValidateOnly: - name: validate_only - description: 'To validate the action can be performed successfully or not. Default: false' - in: query - required: false - schema: - type: boolean - example: false - ValidateLink: - name: validate_link - description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' - in: query - required: false - schema: - type: boolean - example: false - IncludeTasks: - name: include_tasks - description: 'Whether to include cluster linking tasks in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludeStateTransitionErrors: - name: include_state_transition_errors - description: 'Whether to include mirror state transition errors in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - Force: - name: force - description: 'Force the action. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludePartitionLevelTruncationData: - name: include_partition_level_truncation_data - description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - LinkName: - name: link_name - description: The link name - in: path - required: true - schema: - type: string - example: link-sb1 - LinkConfigName: - name: config_name - description: The link config name - in: path - required: true - schema: - type: string - example: consumer.offset.sync.enable - MirrorTopicStatus: - name: mirror_status - description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' - in: query - required: false - schema: - $ref: '#/components/schemas/MirrorTopicStatus' - example: ACTIVE - MirrorTopicName: - name: mirror_topic_name - description: Cluster Linking mirror topic name - in: path - required: true - schema: - type: string - example: topic-1 - QueryParamLinkName: - name: link_name - description: The link name - in: query - required: true - schema: - type: string - example: link-sb1 - responses: - BadRequestError: - description: Bad Request - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '400' - code: invalid_filter - title: Invalid Filter - detail: The 'delorean' resource can't be filtered by 'num_doors' - source: - parameter: num_doors - UnauthenticatedError: - x-summary: Unauthorized - description: The request lacks valid authentication credentials for this resource. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - WWW-Authenticate: - schema: - type: string - description: The unique identifier for the API request. - example: 'Basic error="invalid_key", error_description="The API Key is invalid"' - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '401' - code: user_unauthenticated - title: Authentication Required - detail: Valid authentication credentials must be provided - UnauthorizedError: - x-summary: Forbidden - description: The access credentials were considered insufficient to grant access - headers: - X-Request-Id: + from any IP Address. + + + + ## The IP Filters Model + + + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - IpFilter + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + filter_name: + type: string + minLength: 1 + maxLength: 64 + example: Management API Rules + description: > + A human readable name for an IP Filter. Can contain + any unicode letter or number, the ASCII space + character, + + or any of the following special characters: `[`, + `]`, `|`, `&`, `+`, `-`, `_`, `/`, `.`, `,`. + resource_group: + type: string + example: management + description: > + Scope of resources covered by this IP filter. + Available resource groups include "management" and + "multiple". + resource_scope: + type: string + example: >- + crn://confluent.cloud/organization=org-123/environment=env-abc + format: uri + pattern: ^crn://.+$ + description: > + A CRN that specifies the scope of the ip filter, + specifically the organization + + or environment. Without specifying this property, + the ip filter + + would apply to the whole organization. + operation_groups: + type: array + items: + type: string + example: + - MANAGEMENT + - SCHEMA + - FLINK + description: > + Scope of resources covered by this IP filter. + Resource group must be set to 'multiple' + + in order to use this property.During update + operations, note that the operation + + groups passed in will replace the list of existing + operation groups + + (passing in an empty list will remove all operation + groups) from the filter + + (in line with the behavior for ip_groups). + ip_groups: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: A list of IP Groups. + minItems: 1 + maxItems: 25 + required: + - id + - metadata + - filter_name + - resource_group + - ip_groups + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-page-first-available: true + x-page-last-available: true + x-page-from-start: true + x-page-from-end: true + post: + x-lifecycle-stage: General Availability + x-self-access: false + x-request-access-name: IP Filters API + operationId: createIamV2IpFilter + summary: Create an IP Filter + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create an IP filter. + tags: + - IP Filters (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `IP Filter` objects are bindings between IP Groups and Confluent + resource(s). + + For example, a binding between "CorpNet" and "Management APIs" + will enforce that + + access must come from one of the CIDR blocks associated with + CorpNet. + + If there are multiple IP filters bound to a resource, a request + matching any of the CIDR blocks + + for any of the IP Group will allow the request. + + If there are no IP Filters for a resource, then access will be + granted to requests originating + + from any IP Address. + + + + ## The IP Filters Model + + + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IpFilter + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + filter_name: + type: string + minLength: 1 + maxLength: 64 + example: Management API Rules + description: > + A human readable name for an IP Filter. Can contain any + unicode letter or number, the ASCII space character, + + or any of the following special characters: `[`, `]`, `|`, + `&`, `+`, `-`, `_`, `/`, `.`, `,`. + resource_group: + type: string + example: management + description: > + Scope of resources covered by this IP filter. Available + resource groups include "management" and "multiple". + resource_scope: + type: string + example: >- + crn://confluent.cloud/organization=org-123/environment=env-abc + format: uri + pattern: ^crn://.+$ + description: > + A CRN that specifies the scope of the ip filter, + specifically the organization + + or environment. Without specifying this property, the ip + filter + + would apply to the whole organization. + operation_groups: + type: array + items: + type: string + example: + - MANAGEMENT + - SCHEMA + - FLINK + description: > + Scope of resources covered by this IP filter. Resource group + must be set to 'multiple' + + in order to use this property.During update operations, note + that the operation + + groups passed in will replace the list of existing operation + groups + + (passing in an empty list will remove all operation groups) + from the filter + + (in line with the behavior for ip_groups). + ip_groups: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: A list of IP Groups. + minItems: 1 + maxItems: 25 + required: + - filter_name + - resource_group + - ip_groups + responses: + '201': + description: An IP Filter was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/iam/v2/ip-filters/{id} + description: IpFilter resource uri + content: + application/json: + schema: + type: object + description: >- + `IP Filter` objects are bindings between IP Groups and + Confluent resource(s). + + For example, a binding between "CorpNet" and "Management APIs" + will enforce that + + access must come from one of the CIDR blocks associated with + CorpNet. + + If there are multiple IP filters bound to a resource, a + request matching any of the CIDR blocks + + for any of the IP Group will allow the request. + + If there are no IP Filters for a resource, then access will be + granted to requests originating + + from any IP Address. + + + + ## The IP Filters Model + + + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IpFilter + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + filter_name: + type: string + minLength: 1 + maxLength: 64 + example: Management API Rules + description: > + A human readable name for an IP Filter. Can contain any + unicode letter or number, the ASCII space character, + + or any of the following special characters: `[`, `]`, `|`, + `&`, `+`, `-`, `_`, `/`, `.`, `,`. + resource_group: + type: string + example: management + description: > + Scope of resources covered by this IP filter. Available + resource groups include "management" and "multiple". + resource_scope: + type: string + example: >- + crn://confluent.cloud/organization=org-123/environment=env-abc + format: uri + pattern: ^crn://.+$ + description: > + A CRN that specifies the scope of the ip filter, + specifically the organization + + or environment. Without specifying this property, the ip + filter + + would apply to the whole organization. + operation_groups: + type: array + items: + type: string + example: + - MANAGEMENT + - SCHEMA + - FLINK + description: > + Scope of resources covered by this IP filter. Resource + group must be set to 'multiple' + + in order to use this property.During update operations, + note that the operation + + groups passed in will replace the list of existing + operation groups + + (passing in an empty list will remove all operation + groups) from the filter + + (in line with the behavior for ip_groups). + ip_groups: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: A list of IP Groups. + minItems: 1 + maxItems: 25 + required: + - filter_name + - resource_group + - ip_groups + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: false + x-request-access-name: IP Filters API + /iam/v2/ip-filters/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: false + x-request-access-name: IP Filters API + operationId: getIamV2IpFilter + summary: Read an IP Filter + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read an IP filter. + parameters: + - name: id + in: path + required: true schema: type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '403' - code: user_unauthorized - title: User Access Unauthorized - detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. - RateLimitError: - description: Rate Limit Exceeded - headers: - X-Request-Id: + description: The unique identifier for the IP filter. + tags: + - IP Filters (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: IP Filter. + content: + application/json: + schema: + type: object + description: >- + `IP Filter` objects are bindings between IP Groups and + Confluent resource(s). + + For example, a binding between "CorpNet" and "Management APIs" + will enforce that + + access must come from one of the CIDR blocks associated with + CorpNet. + + If there are multiple IP filters bound to a resource, a + request matching any of the CIDR blocks + + for any of the IP Group will allow the request. + + If there are no IP Filters for a resource, then access will be + granted to requests originating + + from any IP Address. + + + + ## The IP Filters Model + + + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IpFilter + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + filter_name: + type: string + minLength: 1 + maxLength: 64 + example: Management API Rules + description: > + A human readable name for an IP Filter. Can contain any + unicode letter or number, the ASCII space character, + + or any of the following special characters: `[`, `]`, `|`, + `&`, `+`, `-`, `_`, `/`, `.`, `,`. + resource_group: + type: string + example: management + description: > + Scope of resources covered by this IP filter. Available + resource groups include "management" and "multiple". + resource_scope: + type: string + example: >- + crn://confluent.cloud/organization=org-123/environment=env-abc + format: uri + pattern: ^crn://.+$ + description: > + A CRN that specifies the scope of the ip filter, + specifically the organization + + or environment. Without specifying this property, the ip + filter + + would apply to the whole organization. + operation_groups: + type: array + items: + type: string + example: + - MANAGEMENT + - SCHEMA + - FLINK + description: > + Scope of resources covered by this IP filter. Resource + group must be set to 'multiple' + + in order to use this property.During update operations, + note that the operation + + groups passed in will replace the list of existing + operation groups + + (passing in an empty list will remove all operation + groups) from the filter + + (in line with the behavior for ip_groups). + ip_groups: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: A list of IP Groups. + minItems: 1 + maxItems: 25 + required: + - api_version + - kind + - id + - filter_name + - resource_group + - ip_groups + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: false + x-request-access-name: IP Filters API + operationId: updateIamV2IpFilter + summary: Update an IP Filter + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update an IP filter. + + parameters: + - name: id + in: path + required: true schema: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Retry-After: + description: The unique identifier for the IP filter. + tags: + - IP Filters (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.IpFilter' + responses: + '200': + description: IP Filter. + content: + application/json: + schema: + type: object + description: >- + `IP Filter` objects are bindings between IP Groups and + Confluent resource(s). + + For example, a binding between "CorpNet" and "Management APIs" + will enforce that + + access must come from one of the CIDR blocks associated with + CorpNet. + + If there are multiple IP filters bound to a resource, a + request matching any of the CIDR blocks + + for any of the IP Group will allow the request. + + If there are no IP Filters for a resource, then access will be + granted to requests originating + + from any IP Address. + + + + ## The IP Filters Model + + + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IpFilter + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + filter_name: + type: string + minLength: 1 + maxLength: 64 + example: Management API Rules + description: > + A human readable name for an IP Filter. Can contain any + unicode letter or number, the ASCII space character, + + or any of the following special characters: `[`, `]`, `|`, + `&`, `+`, `-`, `_`, `/`, `.`, `,`. + resource_group: + type: string + example: management + description: > + Scope of resources covered by this IP filter. Available + resource groups include "management" and "multiple". + resource_scope: + type: string + example: >- + crn://confluent.cloud/organization=org-123/environment=env-abc + format: uri + pattern: ^crn://.+$ + description: > + A CRN that specifies the scope of the ip filter, + specifically the organization + + or environment. Without specifying this property, the ip + filter + + would apply to the whole organization. + operation_groups: + type: array + items: + type: string + example: + - MANAGEMENT + - SCHEMA + - FLINK + description: > + Scope of resources covered by this IP filter. Resource + group must be set to 'multiple' + + in order to use this property.During update operations, + note that the operation + + groups passed in will replace the list of existing + operation groups + + (passing in an empty list will remove all operation + groups) from the filter + + (in line with the behavior for ip_groups). + ip_groups: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: A list of IP Groups. + minItems: 1 + maxItems: 25 + required: + - api_version + - kind + - id + - filter_name + - resource_group + - ip_groups + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: false + x-request-access-name: IP Filters API + operationId: deleteIamV2IpFilter + summary: Delete an IP Filter + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete an IP filter. + parameters: + - name: id + in: path + required: true schema: - type: integer - description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. - DefaultSystemError: - description: 'Oops, something went wrong!' - headers: - X-Request-Id: + type: string + description: The unique identifier for the IP filter. + tags: + - IP Filters (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: An IP Filter is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: false + x-request-access-name: IP Filters API + /iam/v2/ip-filter-summary: + get: + x-lifecycle-stage: General Availability + x-self-access: false + x-request-access-name: IP Filter Summary API + operationId: getIamV2IpFilterSummary + summary: Read an IP Filter Summary + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read an IP filter summary. + parameters: + - name: scope + in: query + required: true schema: type: string - description: The unique identifier for the API request. - content: - application/json: + example: crn://confluent.cloud/organization=org-123/environment=env-abc + description: Scope the operation to the given scope. + tags: + - IP Filter Summaries (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: IP Filter Summary. + content: + application/json: + schema: + type: object + description: > + The IP Filter Summary endpoint returns an aggregation of the + IP Filters across the system. + + This API can be queried in the context of an organization or + an environment. It returns a + + summary of every operation group in the system grouped with a + higher summary by operation + + group category. + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IpFilterSummary + scope: + type: string + description: The scope associated with this object. + categories: + type: array + items: + type: object + properties: + name: + type: string + description: Name of the category. + status: + type: string + description: Open, limited, or mixed. + operation_groups: + type: array + description: Operation groups part of this category. + items: + type: object + properties: + name: + type: string + description: Name of the operation group. + status: + type: string + description: Open, limited, or no access. + example: + - name: management + status: MIXED + operation_groups: + - name: MANAGEMENT + status: LIMITED + description: > + Summary of the operation groups and IP filters created in + those operation groups. + required: + - api_version + - kind + - categories + - scope + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: false + x-request-access-name: IP Filter Summary API + /iam/v2/role-bindings: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listIamV2RoleBindings + summary: List of Role Bindings + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all role bindings. + parameters: + - name: principal + in: query + required: false schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '500' - code: out_of_gas - title: DeLorean Out Of Gas - detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' - OverQuotaError: - x-summary: Over Quota - description: The request would exceed one or more quotas. - headers: - X-Request-Id: + $ref: '#/components/schemas/SearchFilter' + example: User:u-111aaa + description: Filter the results by exact match for principal. + - name: role_name + in: query + required: false schema: - type: string - description: The unique identifier for the API request. - content: - application/json: + $ref: '#/components/schemas/SearchFilter' + example: CloudClusterAdmin + description: Filter the results by exact match for role_name. + - name: crn_pattern + in: query + required: true schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '402' - code: quota_exceeded - title: Kafka Clusters Per Org Quota Exceeded - detail: 'The request would exceed the quota: kafka_clusters_per_environment' - ConflictError: - x-summary: Conflict - description: The request is in conflict with the current server state - headers: - X-Request-Id: + $ref: '#/components/schemas/SearchFilter' + example: >- + crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa + description: Filter the results by a partial search of crn_pattern. + - name: page_size + in: query + required: false schema: - type: string - description: The unique identifier for the API request. - Location: + type: integer + default: 1000 + maximum: 1000 + x-max-page-items: 1000 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false schema: type: string - format: uri - example: 'https://api.confluent.cloud/{object}/{id}' - description: Resource URI of conflicting resource - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '409' - code: resource_already_exists - title: Resource Already exists - detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. - ValidationError: - description: Validation Failed - headers: - X-Request-Id: + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Role Bindings (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Role Binding. + content: + application/json: + schema: + type: object + description: >- + A role binding grants a Principal a role on resources that + match a pattern. + + + The API allows you to perform create, delete, and list + operations on role bindings. + + + + Related guide: [Role-Based Access Control + (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + + ## The Role Bindings Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - RoleBindingList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + A role binding grants a Principal a role on resources + that match a pattern. + + + The API allows you to perform create, delete, and list + operations on role bindings. + + + + Related guide: [Role-Based Access Control + (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + + ## The Role Bindings Model + + + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - RoleBinding + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + principal: + type: string + description: The principal User to bind the role to + pattern: (^User:.+$) + example: User:u-111aaa + role_name: + type: string + description: The name of the role to bind to the principal + example: CloudClusterAdmin + crn_pattern: + type: string + description: >- + A CRN that specifies the scope and resource patterns + necessary for the role to bind + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa + required: + - id + - metadata + - principal + - role_name + - crn_pattern + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createIamV2RoleBinding + summary: Create a Role Binding + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create a role binding. + tags: + - Role Bindings (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + A role binding grants a Principal a role on resources that match + a pattern. + + + The API allows you to perform create, delete, and list + operations on role bindings. + + + + Related guide: [Role-Based Access Control + (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + + ## The Role Bindings Model + + + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - RoleBinding + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + principal: + type: string + description: The principal User to bind the role to + pattern: (^User:.+$) + example: User:u-111aaa + role_name: + type: string + description: The name of the role to bind to the principal + example: CloudClusterAdmin + crn_pattern: + type: string + description: >- + A CRN that specifies the scope and resource patterns + necessary for the role to bind + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa + required: + - principal + - role_name + - crn_pattern + responses: + '201': + description: A Role Binding was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/iam/v2/role-bindings/{id} + description: RoleBinding resource uri + content: + application/json: + schema: + type: object + description: >- + A role binding grants a Principal a role on resources that + match a pattern. + + + The API allows you to perform create, delete, and list + operations on role bindings. + + + + Related guide: [Role-Based Access Control + (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + + ## The Role Bindings Model + + + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - RoleBinding + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + principal: + type: string + description: The principal User to bind the role to + pattern: (^User:.+$) + example: User:u-111aaa + role_name: + type: string + description: The name of the role to bind to the principal + example: CloudClusterAdmin + crn_pattern: + type: string + description: >- + A CRN that specifies the scope and resource patterns + necessary for the role to bind + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa + required: + - principal + - role_name + - crn_pattern + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /iam/v2/role-bindings/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getIamV2RoleBinding + summary: Read a Role Binding + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read a role binding. + parameters: + - name: id + in: path + required: true schema: type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - NotFoundError: - description: Not Found - headers: - X-Request-Id: + description: The unique identifier for the role binding. + tags: + - Role Bindings (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Role Binding. + content: + application/json: + schema: + type: object + description: >- + A role binding grants a Principal a role on resources that + match a pattern. + + + The API allows you to perform create, delete, and list + operations on role bindings. + + + + Related guide: [Role-Based Access Control + (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + + ## The Role Bindings Model + + + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - RoleBinding + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + principal: + type: string + description: The principal User to bind the role to + pattern: (^User:.+$) + example: User:u-111aaa + role_name: + type: string + description: The name of the role to bind to the principal + example: CloudClusterAdmin + crn_pattern: + type: string + description: >- + A CRN that specifies the scope and resource patterns + necessary for the role to bind + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa + required: + - api_version + - kind + - id + - principal + - role_name + - crn_pattern + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteIamV2RoleBinding + summary: Delete a Role Binding + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete a role binding. + parameters: + - name: id + in: path + required: true schema: type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '404' - title: Not Found - securitySchemes: - cloud-api-key: - type: http - scheme: basic - description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. - confluent-sts-access-token: - type: oauth2 - description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' - scopes: {} - api-key: - type: http - scheme: basic - description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. - resource-api-key: - type: http - scheme: basic - description: | - Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID - as the username and resource-specific API Key Secret as the password. - external-access-token: - type: oauth2 - description: Authenticate with OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https:///token' - scopes: {} - oauth: - type: oauth2 - description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. - flows: - clientCredentials: - tokenUrl: /oauth2/token - scopes: - 'partner:alter': enables partners to alter entitlements - 'partner:create': enables partners to create entitlements and signup on behalf of customers - 'partner:delete': enables partners to delete entitlements and organizations - 'partner:describe': enables partners to read and list entitlements and organizations - requestBodies: - AlterBrokerConfigBatchRequest: - description: The alter broker configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterClusterConfigBatchRequest: - description: The alter cluster configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterTopicConfigBatchRequest: - description: The alter topic configuration parameter batch request. - content: - application/json: + description: The unique identifier for the role binding. + tags: + - Role Bindings (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: A Role Binding is being deleted. + content: + application/json: + schema: + type: object + description: >- + A role binding grants a Principal a role on resources that + match a pattern. + + + The API allows you to perform create, delete, and list + operations on role bindings. + + + + Related guide: [Role-Based Access Control + (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + + ## The Role Bindings Model + + + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - RoleBinding + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + principal: + type: string + description: The principal User to bind the role to + pattern: (^User:.+$) + example: User:u-111aaa + role_name: + type: string + description: The name of the role to bind to the principal + example: CloudClusterAdmin + crn_pattern: + type: string + description: >- + A CRN that specifies the scope and resource patterns + necessary for the role to bind + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa + required: + - api_version + - kind + - id + - principal + - role_name + - crn_pattern + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /iam/v2/identity-providers: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listIamV2IdentityProviders + summary: List of Identity Providers + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all identity providers. + parameters: + - name: page_size + in: query + required: false schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - examples: - batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only_batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only: true - CreateAclRequest: - description: The ACL creation request. - content: - application/json: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 255 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false schema: - $ref: '#/components/schemas/CreateAclRequestData' - example: - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - BatchCreateAclRequest: - description: The batch ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestDataList' - example: - data: - - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - - resource_type: TOPIC - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: READ - permission: ALLOW - CreateTopicRequest: - description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTopicRequestData' - examples: - uniform_replication: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - configs: - - name: cleanup.policy - value: compact - - name: compression.type - value: gzip - dry_run_create_topic: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - validate_only: true - ProduceRequest: - description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' - content: - application/json: - schema: - $ref: '#/components/schemas/ProduceRequest' - examples: - binary_and_json: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - partition_id: 1 - headers: - - name: Header-1 - value: SGVhZGVyLTE= - - name: Header-2 - value: SGVhZGVyLTI= - key: - type: BINARY - data: Zm9vYmFy - value: - type: JSON + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Identity Providers (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Identity Provider. + content: + application/json: + schema: + type: object + description: >- + `IdentityProvider` objects represent external OAuth-OIDC + providers in Confluent Cloud. + + + The API allows you to list, create, read, update, and delete + your Identity Provider. + + + + Related guide: [OAuth for Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + + ## The Identity Providers Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_providers_per_org` | Number of OAuth identity + providers per organization | + + | `public_keys_per_provider` | Number of public keys saved per + identity provider | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IdentityProviderList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 data: - foo: bar - timestamp: '2021-02-05T19:14:42Z' - string: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - value: - type: STRING - data: My message - empty_value: - description: key or value can be omitted entirely. - value: - key: - data: 1000 - UpdateBrokerConfigRequest: - description: The broker configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateClusterConfigRequest: - description: The cluster configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateTopicConfigRequest: - description: The topic configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - CreateLinkRequest: - description: Create a cluster link - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLinkRequestData' - examples: - destination_initiated_link: - description: Create a destination initiated cluster link - value: - source_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: acl.sync.enable - value: 'false' - - name: consumer.offset.sync.ms - value: '30000' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_source_cluster: - description: Create a source initiated cluster link at source cluster - value: - destination_cluster_id: cluster-2 - configs: - - name: bootstrap.servers - value: cluster-2-bootstrap-server - - name: link.mode - value: SOURCE - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_destination_cluster: - description: Create a source initiated cluster link at destination cluster - value: - destination_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: link.mode - value: DESTINATION - - name: connection.mode - value: INBOUND - - name: acl.sync.enable - value: 'false' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_east: - description: Create a bidirectional cluster link in east - value: - remote_cluster_id: cluster-west - configs: - - name: bootstrap.servers - value: cluster-west-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: west. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_west: - description: Create a bidirectional cluster link in west - value: - remote_cluster_id: cluster-east - cluster_link_id: eEBkTffYSESld6EO898x3w - configs: - - name: bootstrap.servers - value: cluster-east-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: east. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - UpdateLinkConfigRequest: - content: - application/json: - example: - value: '300000' - schema: - $ref: '#/components/schemas/UpdateLinkConfigRequestData' - description: Link config value to update - AlterLinkConfigBatchRequest: - content: - application/json: - example: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - CreateMirrorTopicRequest: - description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateMirrorTopicRequestData' - examples: - generic_example: - description: Generic example of creating a mirror topic - value: - source_topic_name: topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 1 - example_with_mirror_topic_name: - description: Example using optional mirror_topic_name flag - value: - source_topic_name: topic-1 - mirror_topic_name: link1_topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 3 - AlterMirrorsRequest: - description: Mirror topics to be altered. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterMirrorsRequestData' - examples: - mirror_topic_names: - description: Example using mirror topic names - value: - mirror_topic_names: - - topic-1 - - topic-2 - mirror_topic_name_pattern: - description: Example using mirror topic name pattern - value: - mirror_topic_name_pattern: .* - RemoveBrokersRequest: - content: - application/json: - example: - broker_ids: - - 1 - - 2 - - 3 - schema: - $ref: '#/components/schemas/RemoveBrokersRequestData' - description: Broker ids to remove - BrokerReplicaExclusionBatchRequest: - description: Alter Broker Replica Exclusions. - content: - application/json: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `IdentityProvider` objects represent external OAuth-OIDC + providers in Confluent Cloud. + + + The API allows you to list, create, read, update, and + delete your Identity Provider. + + + + Related guide: [OAuth for Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + + ## The Identity Providers Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_providers_per_org` | Number of OAuth + identity providers per organization | + + | `public_keys_per_provider` | Number of public keys + saved per identity provider | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - IdentityProvider + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + display_name: + type: string + description: >- + The human-readable name of the OAuth identity + provider. + example: My OIDC Provider + description: + type: string + description: A description of the identity provider. + identity_claim: + type: string + description: >- + The JSON Web Token (JWT) claim to extract the + authenticating identity to Confluent resources from + + [Registered Claim + Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1). + This appears + + in audit log records. Note: if the client specifies + mapping to one identity pool ID, the identity + + claim configured with that pool will be used + instead. + + Note - The attribute is in an [Early Access + lifecycle stage] + + (https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + example: claims.sub + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity provider. + example: ENABLED + readOnly: true + issuer: + type: string + format: uri + description: >- + A publicly accessible URL uniquely identifying the + OAuth + + identity provider authorized to issue access tokens. + example: https://login.microsoftonline.com/{tenantid}/v2.0 + x-immutable: false + jwks_uri: + type: string + format: uri + description: >- + A publicly accessible JSON Web Key Set (JWKS) URI + for the OAuth + + identity provider. JWKS provides a set of + crypotgraphic keys + + used to verify the authenticity and integrity of + JSON Web + + Tokens (JWTs) issued by the OAuth identity provider. + example: >- + https://login.microsoftonline.com/common/discovery/v2.0/keys + x-immutable: false + keys: + type: array + items: + $ref: '#/components/schemas/iam.v2.JwksObject' + description: >- + The JWKS issued by the OAuth identity provider. Only + `kid` (key ID) + + and `alg` (algorithm) properties for each key set + are included. + readOnly: true + required: + - id + - metadata + - display_name + - description + - state + - issuer + - jwks_uri + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createIamV2IdentityProvider + summary: Create an Identity Provider + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create an identity provider. + tags: + - Identity Providers (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `IdentityProvider` objects represent external OAuth-OIDC + providers in Confluent Cloud. + + + The API allows you to list, create, read, update, and delete + your Identity Provider. + + + + Related guide: [OAuth for Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + + ## The Identity Providers Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_providers_per_org` | Number of OAuth identity + providers per organization | + + | `public_keys_per_provider` | Number of public keys saved per + identity provider | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IdentityProvider + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + display_name: + type: string + description: The human-readable name of the OAuth identity provider. + example: My OIDC Provider + description: + type: string + description: A description of the identity provider. + identity_claim: + type: string + description: >- + The JSON Web Token (JWT) claim to extract the authenticating + identity to Confluent resources from + + [Registered Claim + Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1). + This appears + + in audit log records. Note: if the client specifies mapping + to one identity pool ID, the identity + + claim configured with that pool will be used instead. + + Note - The attribute is in an [Early Access lifecycle stage] + + (https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + example: claims.sub + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity provider. + example: ENABLED + readOnly: true + issuer: + type: string + format: uri + description: |- + A publicly accessible URL uniquely identifying the OAuth + identity provider authorized to issue access tokens. + example: https://login.microsoftonline.com/{tenantid}/v2.0 + x-immutable: false + jwks_uri: + type: string + format: uri + description: >- + A publicly accessible JSON Web Key Set (JWKS) URI for the + OAuth + + identity provider. JWKS provides a set of crypotgraphic keys + + used to verify the authenticity and integrity of JSON Web + + Tokens (JWTs) issued by the OAuth identity provider. + example: https://login.microsoftonline.com/common/discovery/v2.0/keys + x-immutable: false + keys: + type: array + items: + $ref: '#/components/schemas/iam.v2.JwksObject' + description: >- + The JWKS issued by the OAuth identity provider. Only `kid` + (key ID) + + and `alg` (algorithm) properties for each key set are + included. + readOnly: true + required: + - display_name + - description + - issuer + - jwks_uri + responses: + '201': + description: An Identity Provider was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/iam/v2/identity-providers/{id} + description: IdentityProvider resource uri + content: + application/json: + schema: + type: object + description: >- + `IdentityProvider` objects represent external OAuth-OIDC + providers in Confluent Cloud. + + + The API allows you to list, create, read, update, and delete + your Identity Provider. + + + + Related guide: [OAuth for Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + + ## The Identity Providers Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_providers_per_org` | Number of OAuth identity + providers per organization | + + | `public_keys_per_provider` | Number of public keys saved per + identity provider | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IdentityProvider + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The human-readable name of the OAuth identity provider. + example: My OIDC Provider + description: + type: string + description: A description of the identity provider. + identity_claim: + type: string + description: >- + The JSON Web Token (JWT) claim to extract the + authenticating identity to Confluent resources from + + [Registered Claim + Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1). + This appears + + in audit log records. Note: if the client specifies + mapping to one identity pool ID, the identity + + claim configured with that pool will be used instead. + + Note - The attribute is in an [Early Access lifecycle + stage] + + (https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + example: claims.sub + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity provider. + example: ENABLED + readOnly: true + issuer: + type: string + format: uri + description: |- + A publicly accessible URL uniquely identifying the OAuth + identity provider authorized to issue access tokens. + example: https://login.microsoftonline.com/{tenantid}/v2.0 + x-immutable: false + jwks_uri: + type: string + format: uri + description: >- + A publicly accessible JSON Web Key Set (JWKS) URI for the + OAuth + + identity provider. JWKS provides a set of crypotgraphic + keys + + used to verify the authenticity and integrity of JSON Web + + Tokens (JWTs) issued by the OAuth identity provider. + example: >- + https://login.microsoftonline.com/common/discovery/v2.0/keys + x-immutable: false + keys: + type: array + items: + $ref: '#/components/schemas/iam.v2.JwksObject' + description: >- + The JWKS issued by the OAuth identity provider. Only `kid` + (key ID) + + and `alg` (algorithm) properties for each key set are + included. + readOnly: true + required: + - display_name + - description + - issuer + - jwks_uri + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /iam/v2/identity-providers/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getIamV2IdentityProvider + summary: Read an Identity Provider + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read an identity provider. + parameters: + - name: id + in: path + required: true schema: - $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' - example: - data: - - broker_id: 1 - reason: The broker is to be removed. - - broker_id: 2 - reason: The broker is to be removed. - x-stackQL-resources: - api_keys: - id: confluent.iam.api_keys - name: api_keys - title: Api Keys - methods: - list_iam_v2api_keys: - operation: - $ref: '#/paths/~1iam~1v2~1api-keys/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_iam_v2api_key: - operation: - $ref: '#/paths/~1iam~1v2~1api-keys/post' - response: - mediaType: application/json - openAPIDocKey: '202' - get_iam_v2api_key: - operation: - $ref: '#/paths/~1iam~1v2~1api-keys~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_iam_v2api_key: - operation: - $ref: '#/paths/~1iam~1v2~1api-keys~1{id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_iam_v2api_key: - operation: - $ref: '#/paths/~1iam~1v2~1api-keys~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/api_keys/methods/get_iam_v2api_key' - - $ref: '#/components/x-stackQL-resources/api_keys/methods/list_iam_v2api_keys' - insert: - - $ref: '#/components/x-stackQL-resources/api_keys/methods/create_iam_v2api_key' - update: - - $ref: '#/components/x-stackQL-resources/api_keys/methods/update_iam_v2api_key' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/api_keys/methods/delete_iam_v2api_key' - users: - id: confluent.iam.users - name: users - title: Users - methods: - list_iam_v2users: - operation: - $ref: '#/paths/~1iam~1v2~1users/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - get_iam_v2user: - operation: - $ref: '#/paths/~1iam~1v2~1users~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_iam_v2user: - operation: - $ref: '#/paths/~1iam~1v2~1users~1{id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_iam_v2user: - operation: - $ref: '#/paths/~1iam~1v2~1users~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/users/methods/get_iam_v2user' - - $ref: '#/components/x-stackQL-resources/users/methods/list_iam_v2users' - insert: [] - update: - - $ref: '#/components/x-stackQL-resources/users/methods/update_iam_v2user' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/users/methods/delete_iam_v2user' - service_accounts: - id: confluent.iam.service_accounts - name: service_accounts - title: Service Accounts - methods: - list_iam_v2service_accounts: - operation: - $ref: '#/paths/~1iam~1v2~1service-accounts/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_iam_v2service_account: - operation: - $ref: '#/paths/~1iam~1v2~1service-accounts/post' - response: - mediaType: application/json - openAPIDocKey: '201' - get_iam_v2service_account: - operation: - $ref: '#/paths/~1iam~1v2~1service-accounts~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_iam_v2service_account: - operation: - $ref: '#/paths/~1iam~1v2~1service-accounts~1{id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_iam_v2service_account: - operation: - $ref: '#/paths/~1iam~1v2~1service-accounts~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/service_accounts/methods/get_iam_v2service_account' - - $ref: '#/components/x-stackQL-resources/service_accounts/methods/list_iam_v2service_accounts' - insert: - - $ref: '#/components/x-stackQL-resources/service_accounts/methods/create_iam_v2service_account' - update: - - $ref: '#/components/x-stackQL-resources/service_accounts/methods/update_iam_v2service_account' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/service_accounts/methods/delete_iam_v2service_account' - invitations: - id: confluent.iam.invitations - name: invitations - title: Invitations - methods: - list_iam_v2invitations: - operation: - $ref: '#/paths/~1iam~1v2~1invitations/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_iam_v2invitation: - operation: - $ref: '#/paths/~1iam~1v2~1invitations/post' - response: - mediaType: application/json - openAPIDocKey: '201' - get_iam_v2invitation: - operation: - $ref: '#/paths/~1iam~1v2~1invitations~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_iam_v2invitation: - operation: - $ref: '#/paths/~1iam~1v2~1invitations~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/invitations/methods/get_iam_v2invitation' - - $ref: '#/components/x-stackQL-resources/invitations/methods/list_iam_v2invitations' - insert: - - $ref: '#/components/x-stackQL-resources/invitations/methods/create_iam_v2invitation' - update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/invitations/methods/delete_iam_v2invitation' - ip_groups: - id: confluent.iam.ip_groups - name: ip_groups - title: Ip Groups - methods: - list_iam_v2ip_groups: - operation: - $ref: '#/paths/~1iam~1v2~1ip-groups/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_iam_v2ip_group: - operation: - $ref: '#/paths/~1iam~1v2~1ip-groups/post' - response: - mediaType: application/json - openAPIDocKey: '201' - get_iam_v2ip_group: - operation: - $ref: '#/paths/~1iam~1v2~1ip-groups~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_iam_v2ip_group: - operation: - $ref: '#/paths/~1iam~1v2~1ip-groups~1{id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_iam_v2ip_group: - operation: - $ref: '#/paths/~1iam~1v2~1ip-groups~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/ip_groups/methods/get_iam_v2ip_group' - - $ref: '#/components/x-stackQL-resources/ip_groups/methods/list_iam_v2ip_groups' - insert: - - $ref: '#/components/x-stackQL-resources/ip_groups/methods/create_iam_v2ip_group' - update: - - $ref: '#/components/x-stackQL-resources/ip_groups/methods/update_iam_v2ip_group' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/ip_groups/methods/delete_iam_v2ip_group' - ip_filters: - id: confluent.iam.ip_filters - name: ip_filters - title: Ip Filters - methods: - list_iam_v2ip_filters: - operation: - $ref: '#/paths/~1iam~1v2~1ip-filters/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_iam_v2ip_filter: - operation: - $ref: '#/paths/~1iam~1v2~1ip-filters/post' - response: - mediaType: application/json - openAPIDocKey: '201' - get_iam_v2ip_filter: - operation: - $ref: '#/paths/~1iam~1v2~1ip-filters~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_iam_v2ip_filter: - operation: - $ref: '#/paths/~1iam~1v2~1ip-filters~1{id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_iam_v2ip_filter: - operation: - $ref: '#/paths/~1iam~1v2~1ip-filters~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/ip_filters/methods/get_iam_v2ip_filter' - - $ref: '#/components/x-stackQL-resources/ip_filters/methods/list_iam_v2ip_filters' - insert: - - $ref: '#/components/x-stackQL-resources/ip_filters/methods/create_iam_v2ip_filter' - update: - - $ref: '#/components/x-stackQL-resources/ip_filters/methods/update_iam_v2ip_filter' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/ip_filters/methods/delete_iam_v2ip_filter' - role_bindings: - id: confluent.iam.role_bindings - name: role_bindings - title: Role Bindings - methods: - list_iam_v2role_bindings: - operation: - $ref: '#/paths/~1iam~1v2~1role-bindings/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_iam_v2role_binding: - operation: - $ref: '#/paths/~1iam~1v2~1role-bindings/post' - response: - mediaType: application/json - openAPIDocKey: '201' - get_iam_v2role_binding: - operation: - $ref: '#/paths/~1iam~1v2~1role-bindings~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_iam_v2role_binding: - operation: - $ref: '#/paths/~1iam~1v2~1role-bindings~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/role_bindings/methods/get_iam_v2role_binding' - - $ref: '#/components/x-stackQL-resources/role_bindings/methods/list_iam_v2role_bindings' - insert: - - $ref: '#/components/x-stackQL-resources/role_bindings/methods/create_iam_v2role_binding' - update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/role_bindings/methods/delete_iam_v2role_binding' - identity_providers: - id: confluent.iam.identity_providers - name: identity_providers - title: Identity Providers - methods: - list_iam_v2identity_providers: - operation: - $ref: '#/paths/~1iam~1v2~1identity-providers/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_iam_v2identity_provider: - operation: - $ref: '#/paths/~1iam~1v2~1identity-providers/post' - response: - mediaType: application/json - openAPIDocKey: '201' - get_iam_v2identity_provider: - operation: - $ref: '#/paths/~1iam~1v2~1identity-providers~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_iam_v2identity_provider: - operation: - $ref: '#/paths/~1iam~1v2~1identity-providers~1{id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_iam_v2identity_provider: - operation: - $ref: '#/paths/~1iam~1v2~1identity-providers~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/identity_providers/methods/get_iam_v2identity_provider' - - $ref: '#/components/x-stackQL-resources/identity_providers/methods/list_iam_v2identity_providers' - insert: - - $ref: '#/components/x-stackQL-resources/identity_providers/methods/create_iam_v2identity_provider' - update: - - $ref: '#/components/x-stackQL-resources/identity_providers/methods/update_iam_v2identity_provider' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/identity_providers/methods/delete_iam_v2identity_provider' - jwks: - id: confluent.iam.jwks - name: jwks - title: Jwks - methods: - refresh_iam_v2json_web_key_set: - operation: - $ref: '#/paths/~1iam~1v2~1identity-providers~1{provider_id}~1jwks/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: [] - insert: [] - update: [] - replace: [] - delete: [] - identity_pools: - id: confluent.iam.identity_pools - name: identity_pools - title: Identity Pools - methods: - list_iam_v2identity_pools: - operation: - $ref: '#/paths/~1iam~1v2~1identity-providers~1{provider_id}~1identity-pools/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_iam_v2identity_pool: - operation: - $ref: '#/paths/~1iam~1v2~1identity-providers~1{provider_id}~1identity-pools/post' - response: - mediaType: application/json - openAPIDocKey: '201' - get_iam_v2identity_pool: - operation: - $ref: '#/paths/~1iam~1v2~1identity-providers~1{provider_id}~1identity-pools~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_iam_v2identity_pool: - operation: - $ref: '#/paths/~1iam~1v2~1identity-providers~1{provider_id}~1identity-pools~1{id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_iam_v2identity_pool: - operation: - $ref: '#/paths/~1iam~1v2~1identity-providers~1{provider_id}~1identity-pools~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/identity_pools/methods/get_iam_v2identity_pool' - - $ref: '#/components/x-stackQL-resources/identity_pools/methods/list_iam_v2identity_pools' - insert: - - $ref: '#/components/x-stackQL-resources/identity_pools/methods/create_iam_v2identity_pool' - update: - - $ref: '#/components/x-stackQL-resources/identity_pools/methods/update_iam_v2identity_pool' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/identity_pools/methods/delete_iam_v2identity_pool' - group_mappings: - id: confluent.iam.group_mappings - name: group_mappings - title: Group Mappings - methods: - list_iam_v2sso_group_mappings: - operation: - $ref: '#/paths/~1iam~1v2~1sso~1group-mappings/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_iam_v2sso_group_mapping: - operation: - $ref: '#/paths/~1iam~1v2~1sso~1group-mappings/post' - response: - mediaType: application/json - openAPIDocKey: '201' - get_iam_v2sso_group_mapping: - operation: - $ref: '#/paths/~1iam~1v2~1sso~1group-mappings~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_iam_v2sso_group_mapping: - operation: - $ref: '#/paths/~1iam~1v2~1sso~1group-mappings~1{id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_iam_v2sso_group_mapping: - operation: - $ref: '#/paths/~1iam~1v2~1sso~1group-mappings~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/group_mappings/methods/get_iam_v2sso_group_mapping' - - $ref: '#/components/x-stackQL-resources/group_mappings/methods/list_iam_v2sso_group_mappings' - insert: - - $ref: '#/components/x-stackQL-resources/group_mappings/methods/create_iam_v2sso_group_mapping' - update: - - $ref: '#/components/x-stackQL-resources/group_mappings/methods/update_iam_v2sso_group_mapping' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/group_mappings/methods/delete_iam_v2sso_group_mapping' - certificate_authorities: - id: confluent.iam.certificate_authorities - name: certificate_authorities - title: Certificate Authorities - methods: - list_iam_v2certificate_authorities: - operation: - $ref: '#/paths/~1iam~1v2~1certificate-authorities/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_iam_v2certificate_authority: - operation: - $ref: '#/paths/~1iam~1v2~1certificate-authorities/post' - response: - mediaType: application/json - openAPIDocKey: '201' - get_iam_v2certificate_authority: - operation: - $ref: '#/paths/~1iam~1v2~1certificate-authorities~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_iam_v2certificate_authority: - operation: - $ref: '#/paths/~1iam~1v2~1certificate-authorities~1{id}/put' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_iam_v2certificate_authority: - operation: - $ref: '#/paths/~1iam~1v2~1certificate-authorities~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/certificate_authorities/methods/get_iam_v2certificate_authority' - - $ref: '#/components/x-stackQL-resources/certificate_authorities/methods/list_iam_v2certificate_authorities' - insert: - - $ref: '#/components/x-stackQL-resources/certificate_authorities/methods/create_iam_v2certificate_authority' - update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/certificate_authorities/methods/delete_iam_v2certificate_authority' - certificate_identity_pools: - id: confluent.iam.certificate_identity_pools - name: certificate_identity_pools - title: Certificate Identity Pools - methods: - list_iam_v2certificate_identity_pools: - operation: - $ref: '#/paths/~1iam~1v2~1certificate-authorities~1{certificate_authority_id}~1identity-pools/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_iam_v2certificate_identity_pool: - operation: - $ref: '#/paths/~1iam~1v2~1certificate-authorities~1{certificate_authority_id}~1identity-pools/post' - response: - mediaType: application/json - openAPIDocKey: '201' - get_iam_v2certificate_identity_pool: - operation: - $ref: '#/paths/~1iam~1v2~1certificate-authorities~1{certificate_authority_id}~1identity-pools~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_iam_v2certificate_identity_pool: - operation: - $ref: '#/paths/~1iam~1v2~1certificate-authorities~1{certificate_authority_id}~1identity-pools~1{id}/put' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_iam_v2certificate_identity_pool: - operation: - $ref: '#/paths/~1iam~1v2~1certificate-authorities~1{certificate_authority_id}~1identity-pools~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/certificate_identity_pools/methods/get_iam_v2certificate_identity_pool' - - $ref: '#/components/x-stackQL-resources/certificate_identity_pools/methods/list_iam_v2certificate_identity_pools' - insert: - - $ref: '#/components/x-stackQL-resources/certificate_identity_pools/methods/create_iam_v2certificate_identity_pool' - update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/certificate_identity_pools/methods/delete_iam_v2certificate_identity_pool' -paths: - /iam/v2/api-keys: + type: string + description: The unique identifier for the identity provider. + tags: + - Identity Providers (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Identity Provider. + content: + application/json: + schema: + type: object + description: >- + `IdentityProvider` objects represent external OAuth-OIDC + providers in Confluent Cloud. + + + The API allows you to list, create, read, update, and delete + your Identity Provider. + + + + Related guide: [OAuth for Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + + ## The Identity Providers Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_providers_per_org` | Number of OAuth identity + providers per organization | + + | `public_keys_per_provider` | Number of public keys saved per + identity provider | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IdentityProvider + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The human-readable name of the OAuth identity provider. + example: My OIDC Provider + description: + type: string + description: A description of the identity provider. + identity_claim: + type: string + description: >- + The JSON Web Token (JWT) claim to extract the + authenticating identity to Confluent resources from + + [Registered Claim + Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1). + This appears + + in audit log records. Note: if the client specifies + mapping to one identity pool ID, the identity + + claim configured with that pool will be used instead. + + Note - The attribute is in an [Early Access lifecycle + stage] + + (https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + example: claims.sub + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity provider. + example: ENABLED + readOnly: true + issuer: + type: string + format: uri + description: |- + A publicly accessible URL uniquely identifying the OAuth + identity provider authorized to issue access tokens. + example: https://login.microsoftonline.com/{tenantid}/v2.0 + x-immutable: false + jwks_uri: + type: string + format: uri + description: >- + A publicly accessible JSON Web Key Set (JWKS) URI for the + OAuth + + identity provider. JWKS provides a set of crypotgraphic + keys + + used to verify the authenticity and integrity of JSON Web + + Tokens (JWTs) issued by the OAuth identity provider. + example: >- + https://login.microsoftonline.com/common/discovery/v2.0/keys + x-immutable: false + keys: + type: array + items: + $ref: '#/components/schemas/iam.v2.JwksObject' + description: >- + The JWKS issued by the OAuth identity provider. Only `kid` + (key ID) + + and `alg` (algorithm) properties for each key set are + included. + readOnly: true + required: + - api_version + - kind + - id + - display_name + - description + - state + - issuer + - jwks_uri + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateIamV2IdentityProvider + summary: Update an Identity Provider + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update an identity provider. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the identity provider. + tags: + - Identity Providers (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.IdentityProvider' + responses: + '200': + description: Identity Provider. + content: + application/json: + schema: + type: object + description: >- + `IdentityProvider` objects represent external OAuth-OIDC + providers in Confluent Cloud. + + + The API allows you to list, create, read, update, and delete + your Identity Provider. + + + + Related guide: [OAuth for Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + + ## The Identity Providers Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_providers_per_org` | Number of OAuth identity + providers per organization | + + | `public_keys_per_provider` | Number of public keys saved per + identity provider | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IdentityProvider + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The human-readable name of the OAuth identity provider. + example: My OIDC Provider + description: + type: string + description: A description of the identity provider. + identity_claim: + type: string + description: >- + The JSON Web Token (JWT) claim to extract the + authenticating identity to Confluent resources from + + [Registered Claim + Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1). + This appears + + in audit log records. Note: if the client specifies + mapping to one identity pool ID, the identity + + claim configured with that pool will be used instead. + + Note - The attribute is in an [Early Access lifecycle + stage] + + (https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + example: claims.sub + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity provider. + example: ENABLED + readOnly: true + issuer: + type: string + format: uri + description: |- + A publicly accessible URL uniquely identifying the OAuth + identity provider authorized to issue access tokens. + example: https://login.microsoftonline.com/{tenantid}/v2.0 + x-immutable: false + jwks_uri: + type: string + format: uri + description: >- + A publicly accessible JSON Web Key Set (JWKS) URI for the + OAuth + + identity provider. JWKS provides a set of crypotgraphic + keys + + used to verify the authenticity and integrity of JSON Web + + Tokens (JWTs) issued by the OAuth identity provider. + example: >- + https://login.microsoftonline.com/common/discovery/v2.0/keys + x-immutable: false + keys: + type: array + items: + $ref: '#/components/schemas/iam.v2.JwksObject' + description: >- + The JWKS issued by the OAuth identity provider. Only `kid` + (key ID) + + and `alg` (algorithm) properties for each key set are + included. + readOnly: true + required: + - api_version + - kind + - id + - display_name + - description + - state + - issuer + - jwks_uri + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteIamV2IdentityProvider + summary: Delete an Identity Provider + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete an identity provider. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the identity provider. + tags: + - Identity Providers (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: An Identity Provider is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /iam/v2/identity-providers/{provider_id}/jwks: + patch: + summary: Refresh a provider's JWKS + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to refresh the provider's JWKS + + x-lifecycle-stage: General Availability + x-self-access: true + operationId: refreshIamV2JsonWebKeySet + parameters: + - name: provider_id + in: path + required: true + schema: + type: string + description: The Provider + tags: + - Jwks (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.Jwks' + responses: + '200': + description: Jwks. + content: + application/json: + schema: + type: object + description: >- + `JWKS` objects represent public key sets for a specific + OAuth/OpenID Connect provider within + + Confluent Cloud. + + + The API allows you to refresh JWKS public key data. + + + + Related guide: [OAuth for Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + + ## The Jwks Model + + + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Jwks + spec: + $ref: '#/components/schemas/iam.v2.JwksSpec' + status: + $ref: '#/components/schemas/iam.v2.JwksStatus' + required: + - api_version + - kind + - spec + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /iam/v2/identity-providers/{provider_id}/identity-pools: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listIamV2IdentityPools + summary: List of Identity Pools + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all identity pools. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 255 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + - name: provider_id + in: path + required: true + schema: + type: string + description: The Provider + tags: + - Identity Pools (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Identity Pool. + content: + application/json: + schema: + type: object + description: >- + `IdentityPool` objects represent groups of identities tied to + a given a `IdentityProvider` + + that authorizes them to Confluent Cloud resources. + + + It provides a mapping functionality of your `Identity + Provider` user to a Confluent identity pool that + + is then used to provide access to Confluent Resources. + + + + Related guide: [Use identity pools with your OAuth + provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + + ## The Identity Pools Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_pools_per_provider` | Number of Identity Pools per + Identity Provider | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IdentityPoolList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `IdentityPool` objects represent groups of identities + tied to a given a `IdentityProvider` + + that authorizes them to Confluent Cloud resources. + + + It provides a mapping functionality of your `Identity + Provider` user to a Confluent identity pool that + + is then used to provide access to Confluent Resources. + + + + Related guide: [Use identity pools with your OAuth + provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + + ## The Identity Pools Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_pools_per_provider` | Number of Identity + Pools per Identity Provider | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - IdentityPool + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The name of the `IdentityPool`. + example: My Identity Pool + description: + type: string + description: A description of how this `IdentityPool` is used + example: Prod Access to Kafka clusters to Release Engineering + identity_claim: + type: string + description: >- + The JSON Web Token (JWT) claim to extract the + authenticating identity to Confluent resources from + + (see [Registered Claim + Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) + for more details). + + This appears in the audit log records, showing, for + example, that "identity Z used identity pool X to + access + + topic A". + example: claims.sub + filter: + type: string + description: >- + A filter expression in [Supported Common Expression + Language + (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) + that specifies which identities can authenticate + using your identity pool (see [Set identity pool + filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) + for more details). + maxLength: 300 + example: >- + claims.aud=="confluent" && + claims.group!="invalid_group" + principal: + type: string + description: >- + Represents the federated identity associated with + this pool. + example: pool-abc + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity pool + example: ENABLED + readOnly: true + required: + - id + - metadata + - display_name + - description + - identity_claim + - filter + - principal + - state + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createIamV2IdentityPool + summary: Create an Identity Pool + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create an identity pool. + parameters: + - name: assigned_resource_owner + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: u-a83k9b + description: >- + The resource_id of the principal who will be assigned resource owner + on the created identity pool. Principal can be group-mapping + (group-xxx), user (u-xxx), service-account (sa-xxx) or identity-pool + (pool-xxx). + - name: provider_id + in: path + required: true + schema: + type: string + description: The Provider + tags: + - Identity Pools (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `IdentityPool` objects represent groups of identities tied to a + given a `IdentityProvider` + + that authorizes them to Confluent Cloud resources. + + + It provides a mapping functionality of your `Identity Provider` + user to a Confluent identity pool that + + is then used to provide access to Confluent Resources. + + + + Related guide: [Use identity pools with your OAuth + provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + + ## The Identity Pools Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_pools_per_provider` | Number of Identity Pools per + Identity Provider | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IdentityPool + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + display_name: + type: string + description: The name of the `IdentityPool`. + example: My Identity Pool + description: + type: string + description: A description of how this `IdentityPool` is used + example: Prod Access to Kafka clusters to Release Engineering + identity_claim: + type: string + description: >- + The JSON Web Token (JWT) claim to extract the authenticating + identity to Confluent resources from + + (see [Registered Claim + Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) + for more details). + + This appears in the audit log records, showing, for example, + that "identity Z used identity pool X to access + + topic A". + example: claims.sub + filter: + type: string + description: >- + A filter expression in [Supported Common Expression Language + (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) + that specifies which identities can authenticate using your + identity pool (see [Set identity pool + filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) + for more details). + maxLength: 300 + example: claims.aud=="confluent" && claims.group!="invalid_group" + principal: + type: string + description: Represents the federated identity associated with this pool. + example: pool-abc + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity pool + example: ENABLED + readOnly: true + required: + - display_name + - description + - identity_claim + - filter + responses: + '201': + description: An Identity Pool was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: >- + https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id} + description: IdentityPool resource uri + content: + application/json: + schema: + type: object + description: >- + `IdentityPool` objects represent groups of identities tied to + a given a `IdentityProvider` + + that authorizes them to Confluent Cloud resources. + + + It provides a mapping functionality of your `Identity + Provider` user to a Confluent identity pool that + + is then used to provide access to Confluent Resources. + + + + Related guide: [Use identity pools with your OAuth + provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + + ## The Identity Pools Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_pools_per_provider` | Number of Identity Pools per + Identity Provider | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IdentityPool + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The name of the `IdentityPool`. + example: My Identity Pool + description: + type: string + description: A description of how this `IdentityPool` is used + example: Prod Access to Kafka clusters to Release Engineering + identity_claim: + type: string + description: >- + The JSON Web Token (JWT) claim to extract the + authenticating identity to Confluent resources from + + (see [Registered Claim + Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) + for more details). + + This appears in the audit log records, showing, for + example, that "identity Z used identity pool X to access + + topic A". + example: claims.sub + filter: + type: string + description: >- + A filter expression in [Supported Common Expression + Language + (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) + that specifies which identities can authenticate using + your identity pool (see [Set identity pool + filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) + for more details). + maxLength: 300 + example: claims.aud=="confluent" && claims.group!="invalid_group" + principal: + type: string + description: >- + Represents the federated identity associated with this + pool. + example: pool-abc + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity pool + example: ENABLED + readOnly: true + required: + - display_name + - description + - identity_claim + - filter + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /iam/v2/identity-providers/{provider_id}/identity-pools/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getIamV2IdentityPool + summary: Read an Identity Pool + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read an identity pool. + parameters: + - name: provider_id + in: path + required: true + schema: + type: string + description: The Provider + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the identity pool. + tags: + - Identity Pools (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Identity Pool. + content: + application/json: + schema: + type: object + description: >- + `IdentityPool` objects represent groups of identities tied to + a given a `IdentityProvider` + + that authorizes them to Confluent Cloud resources. + + + It provides a mapping functionality of your `Identity + Provider` user to a Confluent identity pool that + + is then used to provide access to Confluent Resources. + + + + Related guide: [Use identity pools with your OAuth + provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + + ## The Identity Pools Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_pools_per_provider` | Number of Identity Pools per + Identity Provider | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IdentityPool + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The name of the `IdentityPool`. + example: My Identity Pool + description: + type: string + description: A description of how this `IdentityPool` is used + example: Prod Access to Kafka clusters to Release Engineering + identity_claim: + type: string + description: >- + The JSON Web Token (JWT) claim to extract the + authenticating identity to Confluent resources from + + (see [Registered Claim + Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) + for more details). + + This appears in the audit log records, showing, for + example, that "identity Z used identity pool X to access + + topic A". + example: claims.sub + filter: + type: string + description: >- + A filter expression in [Supported Common Expression + Language + (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) + that specifies which identities can authenticate using + your identity pool (see [Set identity pool + filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) + for more details). + maxLength: 300 + example: claims.aud=="confluent" && claims.group!="invalid_group" + principal: + type: string + description: >- + Represents the federated identity associated with this + pool. + example: pool-abc + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity pool + example: ENABLED + readOnly: true + required: + - api_version + - kind + - id + - display_name + - description + - identity_claim + - filter + - principal + - state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateIamV2IdentityPool + summary: Update an Identity Pool + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update an identity pool. + + parameters: + - name: provider_id + in: path + required: true + schema: + type: string + description: The Provider + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the identity pool. + tags: + - Identity Pools (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.IdentityPool' + responses: + '200': + description: Identity Pool. + content: + application/json: + schema: + type: object + description: >- + `IdentityPool` objects represent groups of identities tied to + a given a `IdentityProvider` + + that authorizes them to Confluent Cloud resources. + + + It provides a mapping functionality of your `Identity + Provider` user to a Confluent identity pool that + + is then used to provide access to Confluent Resources. + + + + Related guide: [Use identity pools with your OAuth + provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + + ## The Identity Pools Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_pools_per_provider` | Number of Identity Pools per + Identity Provider | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IdentityPool + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The name of the `IdentityPool`. + example: My Identity Pool + description: + type: string + description: A description of how this `IdentityPool` is used + example: Prod Access to Kafka clusters to Release Engineering + identity_claim: + type: string + description: >- + The JSON Web Token (JWT) claim to extract the + authenticating identity to Confluent resources from + + (see [Registered Claim + Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) + for more details). + + This appears in the audit log records, showing, for + example, that "identity Z used identity pool X to access + + topic A". + example: claims.sub + filter: + type: string + description: >- + A filter expression in [Supported Common Expression + Language + (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) + that specifies which identities can authenticate using + your identity pool (see [Set identity pool + filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) + for more details). + maxLength: 300 + example: claims.aud=="confluent" && claims.group!="invalid_group" + principal: + type: string + description: >- + Represents the federated identity associated with this + pool. + example: pool-abc + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity pool + example: ENABLED + readOnly: true + required: + - api_version + - kind + - id + - display_name + - description + - identity_claim + - filter + - principal + - state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteIamV2IdentityPool + summary: Delete an Identity Pool + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete an identity pool. + parameters: + - name: provider_id + in: path + required: true + schema: + type: string + description: The Provider + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the identity pool. + tags: + - Identity Pools (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: An Identity Pool is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /iam/v2/sso/group-mappings: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listIamV2SsoGroupMappings + summary: List of Group Mappings + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all group mappings. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 255 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Group Mappings (iam/v2/sso) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Group Mapping. + content: + application/json: + schema: + type: object + description: >- + `GroupMapping` objects establish relationships between user + groups in your SSO + + identity provider and specific RBAC roles in Confluent Cloud. + + + Group mappings enable automated and secure access control to + Confluent Cloud resources, + + reducing administrative workload by streamlining user + provisioning and authorization. + + + + Related guide: [Use group mappings with your SSO identity + provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + + ## The Group Mappings Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `group_mappings_per_org` | Number of group mappings per + organization | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam.v2/sso + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - GroupMappingList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `GroupMapping` objects establish relationships between + user groups in your SSO + + identity provider and specific RBAC roles in Confluent + Cloud. + + + Group mappings enable automated and secure access + control to Confluent Cloud resources, + + reducing administrative workload by streamlining user + provisioning and authorization. + + + + Related guide: [Use group mappings with your SSO + identity + provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + + ## The Group Mappings Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `group_mappings_per_org` | Number of group mappings + per organization | + properties: + api_version: + type: string + enum: + - iam.v2/sso + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - GroupMapping + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The name of the group mapping. + example: Application Developers + description: + type: string + description: >- + A description explaining the purpose and use of the + group mapping. + example: >- + Admin access to production environment for + Engineering + filter: + type: string + description: >- + A single group identifier or a condition based on + [supported CEL + operators](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html#supported-cel-operators-for-group-mapping) + that defines which groups are included. + maxLength: 300 + example: >- + "kafka" in groups && "all" in groups || "everyone" + in groups + principal: + type: string + description: >- + The unique federated identity associated with this + group mapping. + example: group-a1b2 + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the group mapping. + example: ENABLED + readOnly: true + required: + - id + - metadata + - display_name + - description + - filter + - principal + - state + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createIamV2SsoGroupMapping + summary: Create a Group Mapping + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create a group mapping. + tags: + - Group Mappings (iam/v2/sso) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `GroupMapping` objects establish relationships between user + groups in your SSO + + identity provider and specific RBAC roles in Confluent Cloud. + + + Group mappings enable automated and secure access control to + Confluent Cloud resources, + + reducing administrative workload by streamlining user + provisioning and authorization. + + + + Related guide: [Use group mappings with your SSO identity + provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + + ## The Group Mappings Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `group_mappings_per_org` | Number of group mappings per + organization | + properties: + api_version: + type: string + enum: + - iam.v2/sso + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - GroupMapping + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + display_name: + type: string + description: The name of the group mapping. + example: Application Developers + description: + type: string + description: >- + A description explaining the purpose and use of the group + mapping. + example: Admin access to production environment for Engineering + filter: + type: string + description: >- + A single group identifier or a condition based on [supported + CEL + operators](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html#supported-cel-operators-for-group-mapping) + that defines which groups are included. + maxLength: 300 + example: '"kafka" in groups && "all" in groups || "everyone" in groups' + principal: + type: string + description: >- + The unique federated identity associated with this group + mapping. + example: group-a1b2 + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the group mapping. + example: ENABLED + readOnly: true + required: + - display_name + - description + - filter + responses: + '201': + description: A Group Mapping was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/iam/v2/sso/group-mappings/{id} + description: GroupMapping resource uri + content: + application/json: + schema: + type: object + description: >- + `GroupMapping` objects establish relationships between user + groups in your SSO + + identity provider and specific RBAC roles in Confluent Cloud. + + + Group mappings enable automated and secure access control to + Confluent Cloud resources, + + reducing administrative workload by streamlining user + provisioning and authorization. + + + + Related guide: [Use group mappings with your SSO identity + provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + + ## The Group Mappings Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `group_mappings_per_org` | Number of group mappings per + organization | + properties: + api_version: + type: string + enum: + - iam.v2/sso + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - GroupMapping + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The name of the group mapping. + example: Application Developers + description: + type: string + description: >- + A description explaining the purpose and use of the group + mapping. + example: Admin access to production environment for Engineering + filter: + type: string + description: >- + A single group identifier or a condition based on + [supported CEL + operators](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html#supported-cel-operators-for-group-mapping) + that defines which groups are included. + maxLength: 300 + example: >- + "kafka" in groups && "all" in groups || "everyone" in + groups + principal: + type: string + description: >- + The unique federated identity associated with this group + mapping. + example: group-a1b2 + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the group mapping. + example: ENABLED + readOnly: true + required: + - display_name + - description + - filter + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /iam/v2/sso/group-mappings/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getIamV2SsoGroupMapping + summary: Read a Group Mapping + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read a group mapping. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the group mapping. + tags: + - Group Mappings (iam/v2/sso) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Group Mapping. + content: + application/json: + schema: + type: object + description: >- + `GroupMapping` objects establish relationships between user + groups in your SSO + + identity provider and specific RBAC roles in Confluent Cloud. + + + Group mappings enable automated and secure access control to + Confluent Cloud resources, + + reducing administrative workload by streamlining user + provisioning and authorization. + + + + Related guide: [Use group mappings with your SSO identity + provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + + ## The Group Mappings Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `group_mappings_per_org` | Number of group mappings per + organization | + properties: + api_version: + type: string + enum: + - iam.v2/sso + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - GroupMapping + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The name of the group mapping. + example: Application Developers + description: + type: string + description: >- + A description explaining the purpose and use of the group + mapping. + example: Admin access to production environment for Engineering + filter: + type: string + description: >- + A single group identifier or a condition based on + [supported CEL + operators](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html#supported-cel-operators-for-group-mapping) + that defines which groups are included. + maxLength: 300 + example: >- + "kafka" in groups && "all" in groups || "everyone" in + groups + principal: + type: string + description: >- + The unique federated identity associated with this group + mapping. + example: group-a1b2 + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the group mapping. + example: ENABLED + readOnly: true + required: + - api_version + - kind + - id + - display_name + - description + - filter + - principal + - state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateIamV2SsoGroupMapping + summary: Update a Group Mapping + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update a group mapping. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the group mapping. + tags: + - Group Mappings (iam/v2/sso) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.sso.GroupMapping' + responses: + '200': + description: Group Mapping. + content: + application/json: + schema: + type: object + description: >- + `GroupMapping` objects establish relationships between user + groups in your SSO + + identity provider and specific RBAC roles in Confluent Cloud. + + + Group mappings enable automated and secure access control to + Confluent Cloud resources, + + reducing administrative workload by streamlining user + provisioning and authorization. + + + + Related guide: [Use group mappings with your SSO identity + provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + + ## The Group Mappings Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `group_mappings_per_org` | Number of group mappings per + organization | + properties: + api_version: + type: string + enum: + - iam.v2/sso + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - GroupMapping + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The name of the group mapping. + example: Application Developers + description: + type: string + description: >- + A description explaining the purpose and use of the group + mapping. + example: Admin access to production environment for Engineering + filter: + type: string + description: >- + A single group identifier or a condition based on + [supported CEL + operators](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html#supported-cel-operators-for-group-mapping) + that defines which groups are included. + maxLength: 300 + example: >- + "kafka" in groups && "all" in groups || "everyone" in + groups + principal: + type: string + description: >- + The unique federated identity associated with this group + mapping. + example: group-a1b2 + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the group mapping. + example: ENABLED + readOnly: true + required: + - api_version + - kind + - id + - display_name + - description + - filter + - principal + - state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteIamV2SsoGroupMapping + summary: Delete a Group Mapping + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete a group mapping. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the group mapping. + tags: + - Group Mappings (iam/v2/sso) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Group Mapping is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /iam/v2/certificate-authorities: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listIamV2CertificateAuthorities + summary: List of Certificate Authorities + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all certificate + authorities. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 255 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Certificate Authorities (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Certificate Authority. + content: + application/json: + schema: + type: object + description: > + `CertificateAuthority` objects represent signing certificate + authorities in Confluent Cloud. + + + The API allows you to list, create, read, update, and delete + your Certificate Authority. + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CertificateAuthorityList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: > + `CertificateAuthority` objects represent signing + certificate authorities in Confluent Cloud. + + + The API allows you to list, create, read, update, and + delete your Certificate Authority. + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - CertificateAuthority + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + display_name: + type: string + description: >- + The human-readable name of the certificate + authority. + example: My Certificate Authority + description: + type: string + description: A description of the certificate authority. + example: Sample description text + fingerprints: + type: array + items: + type: string + description: >- + The fingerprints for each certificate in the + certificate chain. These are SHA-1 encoded + + strings that act as unique identifiers for the + certificates in the chain. + example: + - B1BC968BD4f49D622AA89A81F2150152A41D829C + readOnly: true + expiration_dates: + type: array + items: + type: string + format: date-time + description: The expiration dates of certificates in the chain. + example: + - '2017-07-21T17:32:28.000Z' + readOnly: true + serial_numbers: + type: array + items: + type: string + description: >- + The serial numbers for each certificate in the + certificate chain. + example: + - 219C542DE8f6EC7177FA4EE8C3705797 + readOnly: true + certificate_chain_filename: + type: string + description: >- + The file name of the uploaded pem file for this + certificate authority. + example: certificate.pem + readOnly: true + crl_source: + type: string + description: >- + The source specifies whether the Certificate + Revocation List (CRL) is updated from + + either local file uploaded (LOCAL) or from url of + CRL (URL). + x-extensible-enum: + - LOCAL + - URL + example: LOCAL + readOnly: true + crl_url: + type: string + format: uri + description: >- + The url from which to fetch the CRL for the + certificate authority if crl_source is URL. + readOnly: true + crl_updated_at: + type: string + format: date-time + description: The timestamp for when CRL was last updated. + example: '2017-07-21T17:32:28.000Z' + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the certificate authority. + example: ENABLED + readOnly: true + required: + - id + - metadata + - display_name + - description + - fingerprints + - expiration_dates + - serial_numbers + - certificate_chain_filename + - state + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.CreateCertRequest' + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createIamV2CertificateAuthority + summary: Create a Certificate Authority + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create a certificate authority. + tags: + - Certificate Authorities (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '201': + description: A Certificate Authority was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: >- + https://api.confluent.cloud/iam/v2/certificate-authorities/{id} + description: CertificateAuthority resource uri + content: + application/json: + schema: + type: object + description: > + `CertificateAuthority` objects represent signing certificate + authorities in Confluent Cloud. + + + The API allows you to list, create, read, update, and delete + your Certificate Authority. + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CertificateAuthority + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The human-readable name of the certificate authority. + example: My Certificate Authority + description: + type: string + description: A description of the certificate authority. + example: Sample description text + fingerprints: + type: array + items: + type: string + description: >- + The fingerprints for each certificate in the certificate + chain. These are SHA-1 encoded + + strings that act as unique identifiers for the + certificates in the chain. + example: + - B1BC968BD4f49D622AA89A81F2150152A41D829C + readOnly: true + expiration_dates: + type: array + items: + type: string + format: date-time + description: The expiration dates of certificates in the chain. + example: + - '2017-07-21T17:32:28.000Z' + readOnly: true + serial_numbers: + type: array + items: + type: string + description: >- + The serial numbers for each certificate in the certificate + chain. + example: + - 219C542DE8f6EC7177FA4EE8C3705797 + readOnly: true + certificate_chain_filename: + type: string + description: >- + The file name of the uploaded pem file for this + certificate authority. + example: certificate.pem + readOnly: true + crl_source: + type: string + description: >- + The source specifies whether the Certificate Revocation + List (CRL) is updated from + + either local file uploaded (LOCAL) or from url of CRL + (URL). + x-extensible-enum: + - LOCAL + - URL + example: LOCAL + readOnly: true + crl_url: + type: string + format: uri + description: >- + The url from which to fetch the CRL for the certificate + authority if crl_source is URL. + readOnly: true + crl_updated_at: + type: string + format: date-time + description: The timestamp for when CRL was last updated. + example: '2017-07-21T17:32:28.000Z' + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the certificate authority. + example: ENABLED + readOnly: true + required: + - display_name + - description + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /iam/v2/certificate-authorities/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getIamV2CertificateAuthority + summary: Read a Certificate Authority + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read a certificate authority. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the certificate authority. + tags: + - Certificate Authorities (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Certificate Authority. + content: + application/json: + schema: + type: object + description: > + `CertificateAuthority` objects represent signing certificate + authorities in Confluent Cloud. + + + The API allows you to list, create, read, update, and delete + your Certificate Authority. + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CertificateAuthority + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The human-readable name of the certificate authority. + example: My Certificate Authority + description: + type: string + description: A description of the certificate authority. + example: Sample description text + fingerprints: + type: array + items: + type: string + description: >- + The fingerprints for each certificate in the certificate + chain. These are SHA-1 encoded + + strings that act as unique identifiers for the + certificates in the chain. + example: + - B1BC968BD4f49D622AA89A81F2150152A41D829C + readOnly: true + expiration_dates: + type: array + items: + type: string + format: date-time + description: The expiration dates of certificates in the chain. + example: + - '2017-07-21T17:32:28.000Z' + readOnly: true + serial_numbers: + type: array + items: + type: string + description: >- + The serial numbers for each certificate in the certificate + chain. + example: + - 219C542DE8f6EC7177FA4EE8C3705797 + readOnly: true + certificate_chain_filename: + type: string + description: >- + The file name of the uploaded pem file for this + certificate authority. + example: certificate.pem + readOnly: true + crl_source: + type: string + description: >- + The source specifies whether the Certificate Revocation + List (CRL) is updated from + + either local file uploaded (LOCAL) or from url of CRL + (URL). + x-extensible-enum: + - LOCAL + - URL + example: LOCAL + readOnly: true + crl_url: + type: string + format: uri + description: >- + The url from which to fetch the CRL for the certificate + authority if crl_source is URL. + readOnly: true + crl_updated_at: + type: string + format: date-time + description: The timestamp for when CRL was last updated. + example: '2017-07-21T17:32:28.000Z' + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the certificate authority. + example: ENABLED + readOnly: true + required: + - api_version + - kind + - id + - display_name + - description + - fingerprints + - expiration_dates + - serial_numbers + - certificate_chain_filename + - state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + put: + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.UpdateCertRequest' + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateIamV2CertificateAuthority + summary: Update a Certificate Authority + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update a certificate authority. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the certificate authority. + tags: + - Certificate Authorities (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Certificate Authority. + content: + application/json: + schema: + type: object + description: > + `CertificateAuthority` objects represent signing certificate + authorities in Confluent Cloud. + + + The API allows you to list, create, read, update, and delete + your Certificate Authority. + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CertificateAuthority + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The human-readable name of the certificate authority. + example: My Certificate Authority + description: + type: string + description: A description of the certificate authority. + example: Sample description text + fingerprints: + type: array + items: + type: string + description: >- + The fingerprints for each certificate in the certificate + chain. These are SHA-1 encoded + + strings that act as unique identifiers for the + certificates in the chain. + example: + - B1BC968BD4f49D622AA89A81F2150152A41D829C + readOnly: true + expiration_dates: + type: array + items: + type: string + format: date-time + description: The expiration dates of certificates in the chain. + example: + - '2017-07-21T17:32:28.000Z' + readOnly: true + serial_numbers: + type: array + items: + type: string + description: >- + The serial numbers for each certificate in the certificate + chain. + example: + - 219C542DE8f6EC7177FA4EE8C3705797 + readOnly: true + certificate_chain_filename: + type: string + description: >- + The file name of the uploaded pem file for this + certificate authority. + example: certificate.pem + readOnly: true + crl_source: + type: string + description: >- + The source specifies whether the Certificate Revocation + List (CRL) is updated from + + either local file uploaded (LOCAL) or from url of CRL + (URL). + x-extensible-enum: + - LOCAL + - URL + example: LOCAL + readOnly: true + crl_url: + type: string + format: uri + description: >- + The url from which to fetch the CRL for the certificate + authority if crl_source is URL. + readOnly: true + crl_updated_at: + type: string + format: date-time + description: The timestamp for when CRL was last updated. + example: '2017-07-21T17:32:28.000Z' + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the certificate authority. + example: ENABLED + readOnly: true + required: + - api_version + - kind + - id + - display_name + - description + - fingerprints + - expiration_dates + - serial_numbers + - certificate_chain_filename + - state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteIamV2CertificateAuthority + summary: Delete a Certificate Authority + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete a certificate authority. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the certificate authority. + tags: + - Certificate Authorities (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: A Certificate Authority is being deleted. + content: + application/json: + schema: + type: object + description: > + `CertificateAuthority` objects represent signing certificate + authorities in Confluent Cloud. + + + The API allows you to list, create, read, update, and delete + your Certificate Authority. + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CertificateAuthority + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The human-readable name of the certificate authority. + example: My Certificate Authority + description: + type: string + description: A description of the certificate authority. + example: Sample description text + fingerprints: + type: array + items: + type: string + description: >- + The fingerprints for each certificate in the certificate + chain. These are SHA-1 encoded + + strings that act as unique identifiers for the + certificates in the chain. + example: + - B1BC968BD4f49D622AA89A81F2150152A41D829C + readOnly: true + expiration_dates: + type: array + items: + type: string + format: date-time + description: The expiration dates of certificates in the chain. + example: + - '2017-07-21T17:32:28.000Z' + readOnly: true + serial_numbers: + type: array + items: + type: string + description: >- + The serial numbers for each certificate in the certificate + chain. + example: + - 219C542DE8f6EC7177FA4EE8C3705797 + readOnly: true + certificate_chain_filename: + type: string + description: >- + The file name of the uploaded pem file for this + certificate authority. + example: certificate.pem + readOnly: true + crl_source: + type: string + description: >- + The source specifies whether the Certificate Revocation + List (CRL) is updated from + + either local file uploaded (LOCAL) or from url of CRL + (URL). + x-extensible-enum: + - LOCAL + - URL + example: LOCAL + readOnly: true + crl_url: + type: string + format: uri + description: >- + The url from which to fetch the CRL for the certificate + authority if crl_source is URL. + readOnly: true + crl_updated_at: + type: string + format: date-time + description: The timestamp for when CRL was last updated. + example: '2017-07-21T17:32:28.000Z' + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the certificate authority. + example: ENABLED + readOnly: true + required: + - api_version + - kind + - id + - display_name + - description + - fingerprints + - expiration_dates + - serial_numbers + - certificate_chain_filename + - state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listIamV2CertificateIdentityPools + summary: List of Certificate Identity Pools + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all certificate identity + pools. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 255 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + - name: certificate_authority_id + in: path + required: true + schema: + type: string + description: The Certificate Authority + tags: + - Certificate Identity Pools (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Certificate Identity Pool. + content: + application/json: + schema: + type: object + description: >- + `Identitypool` objects represent workload identities in + Confluent Cloud. + + + The API allows you to list, create, read, update, and delete + your identity pools associated + + with Certificate Authorities + + + + Related guide: [Manage Certificate Identity Pools for Granular + Client Access + Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + + ## The Certificate Identity Pools Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_pools_per_certificate_authority` | Number of + Identity Pools per Certificate Authority | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CertificateIdentityPoolList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `Identitypool` objects represent workload identities in + Confluent Cloud. + + + The API allows you to list, create, read, update, and + delete your identity pools associated + + with Certificate Authorities + + + + Related guide: [Manage Certificate Identity Pools for + Granular Client Access + Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + + ## The Certificate Identity Pools Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_pools_per_certificate_authority` | Number of + Identity Pools per Certificate Authority | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - CertificateIdentityPool + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The name of the `IdentityPool`. + example: My Identity Pool + description: + type: string + description: A description of how this `IdentityPool` is used + example: Prod Access to Kafka clusters to Release Engineering + external_identifier: + type: string + description: >- + The certificate field that will be used to represent + the + + pool's external identifier for audit logging. + example: UID + filter: + type: string + description: >- + A filter expression in [Supported Common Expression + Language + (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/cel-filters.html) + that specifies which identities can authenticate + using your certificate identity pool (see [CEL + filter for + mTLS](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/cel-filters.html) + for more details). + maxLength: 300 + example: C=='Canada' && O=='Confluent' + principal: + type: string + description: >- + Represents the federated identity associated with + this pool. + example: pool-abc + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity pool + example: ENABLED + readOnly: true + required: + - id + - metadata + - display_name + - description + - external_identifier + - filter + - principal + - state + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createIamV2CertificateIdentityPool + summary: Create a Certificate Identity Pool + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create a certificate identity pool. + parameters: + - name: assigned_resource_owner + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: u-a83k9b + description: >- + The resource_id of the principal who will be assigned resource owner + on the created certificate identity pool. Principal can be + group-mapping (group-xxx), user (u-xxx), service-account (sa-xxx) or + identity-pool (pool-xxx). + - name: certificate_authority_id + in: path + required: true + schema: + type: string + description: The Certificate Authority + tags: + - Certificate Identity Pools (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `Identitypool` objects represent workload identities in + Confluent Cloud. + + + The API allows you to list, create, read, update, and delete + your identity pools associated + + with Certificate Authorities + + + + Related guide: [Manage Certificate Identity Pools for Granular + Client Access + Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + + ## The Certificate Identity Pools Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_pools_per_certificate_authority` | Number of + Identity Pools per Certificate Authority | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CertificateIdentityPool + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + display_name: + type: string + description: The name of the `IdentityPool`. + example: My Identity Pool + description: + type: string + description: A description of how this `IdentityPool` is used + example: Prod Access to Kafka clusters to Release Engineering + external_identifier: + type: string + description: |- + The certificate field that will be used to represent the + pool's external identifier for audit logging. + example: UID + filter: + type: string + description: >- + A filter expression in [Supported Common Expression Language + (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/cel-filters.html) + that specifies which identities can authenticate using your + certificate identity pool (see [CEL filter for + mTLS](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/cel-filters.html) + for more details). + maxLength: 300 + example: C=='Canada' && O=='Confluent' + principal: + type: string + description: Represents the federated identity associated with this pool. + example: pool-abc + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity pool + example: ENABLED + readOnly: true + required: + - display_name + - description + - external_identifier + - filter + responses: + '201': + description: A Certificate Identity Pool was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: >- + https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id} + description: CertificateIdentityPool resource uri + content: + application/json: + schema: + type: object + description: >- + `Identitypool` objects represent workload identities in + Confluent Cloud. + + + The API allows you to list, create, read, update, and delete + your identity pools associated + + with Certificate Authorities + + + + Related guide: [Manage Certificate Identity Pools for Granular + Client Access + Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + + ## The Certificate Identity Pools Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_pools_per_certificate_authority` | Number of + Identity Pools per Certificate Authority | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CertificateIdentityPool + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The name of the `IdentityPool`. + example: My Identity Pool + description: + type: string + description: A description of how this `IdentityPool` is used + example: Prod Access to Kafka clusters to Release Engineering + external_identifier: + type: string + description: |- + The certificate field that will be used to represent the + pool's external identifier for audit logging. + example: UID + filter: + type: string + description: >- + A filter expression in [Supported Common Expression + Language + (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/cel-filters.html) + that specifies which identities can authenticate using + your certificate identity pool (see [CEL filter for + mTLS](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/cel-filters.html) + for more details). + maxLength: 300 + example: C=='Canada' && O=='Confluent' + principal: + type: string + description: >- + Represents the federated identity associated with this + pool. + example: pool-abc + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity pool + example: ENABLED + readOnly: true + required: + - display_name + - description + - external_identifier + - filter + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}: get: - operationId: listIamV2ApiKeys - summary: List of API Keys - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getIamV2CertificateIdentityPool + summary: Read a Certificate Identity Pool + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read a certificate identity pool. + parameters: + - name: certificate_authority_id + in: path + required: true + schema: + type: string + description: The Certificate Authority + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the certificate identity pool. + tags: + - Certificate Identity Pools (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Certificate Identity Pool. + content: + application/json: + schema: + type: object + description: >- + `Identitypool` objects represent workload identities in + Confluent Cloud. + + + The API allows you to list, create, read, update, and delete + your identity pools associated + + with Certificate Authorities + + + + Related guide: [Manage Certificate Identity Pools for Granular + Client Access + Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + + ## The Certificate Identity Pools Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_pools_per_certificate_authority` | Number of + Identity Pools per Certificate Authority | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CertificateIdentityPool + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The name of the `IdentityPool`. + example: My Identity Pool + description: + type: string + description: A description of how this `IdentityPool` is used + example: Prod Access to Kafka clusters to Release Engineering + external_identifier: + type: string + description: |- + The certificate field that will be used to represent the + pool's external identifier for audit logging. + example: UID + filter: + type: string + description: >- + A filter expression in [Supported Common Expression + Language + (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/cel-filters.html) + that specifies which identities can authenticate using + your certificate identity pool (see [CEL filter for + mTLS](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/cel-filters.html) + for more details). + maxLength: 300 + example: C=='Canada' && O=='Confluent' + principal: + type: string + description: >- + Represents the federated identity associated with this + pool. + example: pool-abc + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity pool + example: ENABLED + readOnly: true + required: + - api_version + - kind + - id + - display_name + - description + - external_identifier + - filter + - principal + - state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + put: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateIamV2CertificateIdentityPool + summary: Update a Certificate Identity Pool + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update a certificate identity pool. + + parameters: + - name: certificate_authority_id + in: path + required: true + schema: + type: string + description: The Certificate Authority + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the certificate identity pool. + tags: + - Certificate Identity Pools (iam/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/iam.v2.CertificateIdentityPool' + responses: + '200': + description: Certificate Identity Pool. + content: + application/json: + schema: + type: object + description: >- + `Identitypool` objects represent workload identities in + Confluent Cloud. + + + The API allows you to list, create, read, update, and delete + your identity pools associated + + with Certificate Authorities + + + + Related guide: [Manage Certificate Identity Pools for Granular + Client Access + Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + + ## The Certificate Identity Pools Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_pools_per_certificate_authority` | Number of + Identity Pools per Certificate Authority | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CertificateIdentityPool + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The name of the `IdentityPool`. + example: My Identity Pool + description: + type: string + description: A description of how this `IdentityPool` is used + example: Prod Access to Kafka clusters to Release Engineering + external_identifier: + type: string + description: |- + The certificate field that will be used to represent the + pool's external identifier for audit logging. + example: UID + filter: + type: string + description: >- + A filter expression in [Supported Common Expression + Language + (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/cel-filters.html) + that specifies which identities can authenticate using + your certificate identity pool (see [CEL filter for + mTLS](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/cel-filters.html) + for more details). + maxLength: 300 + example: C=='Canada' && O=='Confluent' + principal: + type: string + description: >- + Represents the federated identity associated with this + pool. + example: pool-abc + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity pool + example: ENABLED + readOnly: true + required: + - api_version + - kind + - id + - display_name + - description + - external_identifier + - filter + - principal + - state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteIamV2CertificateIdentityPool + summary: Delete a Certificate Identity Pool + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Retrieve a sorted, filtered, paginated list of all API keys. - This can show all keys for a single owner (across resources - Kafka clusters), or all keys for a single - resource (across owners). If no `owner` or `resource` filters are specified, returns all API Keys in the - organization. You will only see the keys that are accessible to the account making the API request. + Make a request to delete a certificate identity pool. parameters: - - name: spec.owner - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - description: Filter the results by exact match for spec.owner. - - name: spec.resource - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - description: Filter the results by exact match for spec.resource. - - name: page_size - in: query - required: false + - name: certificate_authority_id + in: path + required: true schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false + type: string + description: The Certificate Authority + - name: id + in: path + required: true schema: type: string - maxLength: 255 - description: An opaque pagination token for collection requests. + description: The unique identifier for the certificate identity pool. tags: - - API Keys (iam/v2) + - Certificate Identity Pools (iam/v2) security: - cloud-api-key: [] + - confluent-sts-access-token: [] responses: '200': - description: API Key. + description: A Certificate Identity Pool is being deleted. content: application/json: schema: - allOf: - - $ref: '#/components/schemas/iam.v2.ApiKeyList' - - type: object + type: object + description: >- + `Identitypool` objects represent workload identities in + Confluent Cloud. + + + The API allows you to list, create, read, update, and delete + your identity pools associated + + with Certificate Authorities + + + + Related guide: [Manage Certificate Identity Pools for Granular + Client Access + Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + + ## The Certificate Identity Pools Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_pools_per_certificate_authority` | Number of + Identity Pools per Certificate Authority | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CertificateIdentityPool + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self properties: - data: - type: array - items: - properties: - spec: - type: object - properties: - owner: - example: - id: u-a83k9b - related: 'https://api.confluent.cloud/iam/v2/users/u-a83k9b' - resource_name: 'https://api.confluent.cloud/user=u-a83k9b' - resource: - nullable: true - example: - id: lkc-c29js0 - related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-c29js0' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-c29js0' + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The name of the `IdentityPool`. + example: My Identity Pool + description: + type: string + description: A description of how this `IdentityPool` is used + example: Prod Access to Kafka clusters to Release Engineering + external_identifier: + type: string + description: |- + The certificate field that will be used to represent the + pool's external identifier for audit logging. + example: UID + filter: + type: string + description: >- + A filter expression in [Supported Common Expression + Language + (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/cel-filters.html) + that specifies which identities can authenticate using + your certificate identity pool (see [CEL filter for + mTLS](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/cel-filters.html) + for more details). + maxLength: 300 + example: C=='Canada' && O=='Confluent' + principal: + type: string + description: >- + Represents the federated identity associated with this + pool. + example: pool-abc + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity pool + example: ENABLED + readOnly: true + required: + - api_version + - kind + - id + - display_name + - description + - external_identifier + - filter + - principal + - state headers: X-Request-Id: schema: @@ -5349,7853 +15473,4755 @@ paths: X-RateLimit-Limit: schema: type: integer - description: The maximum number of requests you're permitted to make per time period. + description: >- + The maximum number of requests you're permitted to make per time + period. X-RateLimit-Remaining: schema: type: integer - description: The number of requests remaining in the current rate limit window. + description: >- + The number of requests remaining in the current rate limit + window. X-RateLimit-Reset: schema: type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. + description: >- + The relative time in seconds until the current rate-limit window + resets. - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. '400': $ref: '#/components/responses/BadRequestError' '401': $ref: '#/components/responses/UnauthenticatedError' '403': $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' '429': $ref: '#/components/responses/RateLimitError' '500': $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/iam/v2/api-keys?spec.owner=SOME_STRING_VALUE&spec.resource=SOME_STRING_VALUE' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/api-keys?spec.owner=SOME_STRING_VALUE&spec.resource=SOME_STRING_VALUE") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/api-keys?spec.owner=SOME_STRING_VALUE&spec.resource=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/api-keys?spec.owner=SOME_STRING_VALUE&spec.resource=SOME_STRING_VALUE", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/api-keys?spec.owner=SOME_STRING_VALUE&spec.resource=SOME_STRING_VALUE", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/api-keys?spec.owner=SOME_STRING_VALUE&spec.resource=SOME_STRING_VALUE"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/api-keys?spec.owner=SOME_STRING_VALUE&spec.resource=SOME_STRING_VALUE"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createIamV2ApiKey - summary: Create an API Key - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + x-lifecycle-stage: General Availability + x-self-access: true +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + iam.v2.ApiKeyList: + type: object + description: >- + `ApiKey` objects represent access to different parts of Confluent Cloud. + Some types + + of API keys represent access to a single cluster/resource such as a + Kafka cluster, + + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent + access to resources within an organization + + that are not tied to a specific cluster, such as the Org API, IAM API, + Metrics API or Connect API. + + Tableflow API keys are not tied to a specific cluster. + + + The API allows you to list, create, update and delete your API Keys. + + + + Related guide: [API Keys in Confluent + Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + + ## The API Keys Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ApiKeyList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `ApiKey` objects represent access to different parts of Confluent + Cloud. Some types + + of API keys represent access to a single cluster/resource such as + a Kafka cluster, + + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys + represent access to resources within an organization + + that are not tied to a specific cluster, such as the Org API, IAM + API, Metrics API or Connect API. + + Tableflow API keys are not tied to a specific cluster. + + + The API allows you to list, create, update and delete your API + Keys. + + + + Related guide: [API Keys in Confluent + Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + + ## The API Keys Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `apikeys_per_org` | API Keys in one Confluent Cloud organization + | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ApiKey + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/iam.v2.ApiKeySpec' + required: + - id + - metadata + - spec + uniqueItems: true + iam.v2.ApiKey: + type: object + description: >- + `ApiKey` objects represent access to different parts of Confluent Cloud. + Some types + + of API keys represent access to a single cluster/resource such as a + Kafka cluster, + + Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent + access to resources within an organization + + that are not tied to a specific cluster, such as the Org API, IAM API, + Metrics API or Connect API. + + Tableflow API keys are not tied to a specific cluster. + + + The API allows you to list, create, update and delete your API Keys. + + + + Related guide: [API Keys in Confluent + Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). + + + ## The API Keys Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `apikeys_per_org` | API Keys in one Confluent Cloud organization | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ApiKey + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/iam.v2.ApiKeySpec' + iam.v2.UserList: + type: object + description: >- + `User` objects represent individuals who may access your Confluent + resources. + + + The API allows you to retrieve, update, and delete individual users, as + well as list of all your + + users. This API cannot be used to create new user accounts. + + + + Related guide: [Users in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + + ## The Users Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `users_per_org` | Users in one Confluent Cloud organization | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - UserList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `User` objects represent individuals who may access your Confluent + resources. - Make a request to create an API key. - tags: - - API Keys (iam/v2) - security: - - cloud-api-key: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.ApiKey' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - owner - - type: object - properties: - spec: - type: object - properties: - owner: - example: - id: u-a83k9b - resource: - nullable: true - example: - id: lkc-c29js0 - responses: - '202': - description: An API Key is being created. - headers: - X-Request-Id: - schema: + + The API allows you to retrieve, update, and delete individual + users, as well as list of all your + + users. This API cannot be used to create new user accounts. + + + + Related guide: [Users in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + + ## The Users Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `users_per_org` | Users in one Confluent Cloud organization | + properties: + api_version: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: type: string - format: uri - example: 'https://api.confluent.cloud/iam/v2/api-keys/{id}' - description: ApiKey resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.ApiKey' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - owner - - type: object - properties: - spec: - type: object - properties: - owner: - example: - id: u-a83k9b - related: 'https://api.confluent.cloud/iam/v2/users/u-a83k9b' - resource_name: 'https://api.confluent.cloud/user=u-a83k9b' - resource: - nullable: true - example: - id: lkc-c29js0 - related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-c29js0' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-c29js0' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/iam/v2/api-keys \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"CI kafka access key","description":"This API key provides kafka access to cluster x","owner":{"id":"u-a83k9b"},"resource":{"id":"lkc-c29js0","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"CI kafka access key\",\"description\":\"This API key provides kafka access to cluster x\",\"owner\":{\"id\":\"u-a83k9b\"},\"resource\":{\"id\":\"lkc-c29js0\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/api-keys") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/api-keys\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"CI kafka access key\\\",\\\"description\\\":\\\"This API key provides kafka access to cluster x\\\",\\\"owner\\\":{\\\"id\\\":\\\"u-a83k9b\\\"},\\\"resource\\\":{\\\"id\\\":\\\"lkc-c29js0\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"CI kafka access key\",\"description\":\"This API key provides kafka access to cluster x\",\"owner\":{\"id\":\"u-a83k9b\"},\"resource\":{\"id\":\"lkc-c29js0\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/iam/v2/api-keys", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/api-keys", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'CI kafka access key', - description: 'This API key provides kafka access to cluster x', - owner: {id: 'u-a83k9b'}, - resource: {id: 'lkc-c29js0', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/api-keys"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"CI kafka access key\",\"description\":\"This API key provides kafka access to cluster x\",\"owner\":{\"id\":\"u-a83k9b\"},\"resource\":{\"id\":\"lkc-c29js0\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/api-keys"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"CI kafka access key\",\"description\":\"This API key provides kafka access to cluster x\",\"owner\":{\"id\":\"u-a83k9b\"},\"resource\":{\"id\":\"lkc-c29js0\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/iam/v2/api-keys/{id}': - get: - operationId: getIamV2ApiKey - summary: Read an API Key - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - User + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + email: + type: string + format: email + example: marty.mcfly@example.com + description: The user's email address + x-immutable: true + full_name: + example: Marty McFly + type: string + description: The user's full name + auth_type: + type: string + description: The user's authentication method + example: AUTH_TYPE_SSO + x-extensible-enum: + - AUTH_TYPE_LOCAL + - AUTH_TYPE_SSO + readOnly: true + required: + - id + - metadata + - email + uniqueItems: true + iam.v2.User: + type: object + description: >- + `User` objects represent individuals who may access your Confluent + resources. + + + The API allows you to retrieve, update, and delete individual users, as + well as list of all your + + users. This API cannot be used to create new user accounts. + + + + Related guide: [Users in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). + + + ## The Users Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `users_per_org` | Users in one Confluent Cloud organization | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - User + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + email: + type: string + format: email + example: marty.mcfly@example.com + description: The user's email address + x-immutable: true + full_name: + example: Marty McFly + type: string + description: The user's full name + auth_type: + type: string + description: The user's authentication method + example: AUTH_TYPE_SSO + x-extensible-enum: + - AUTH_TYPE_LOCAL + - AUTH_TYPE_SSO + readOnly: true + iam.v2.User.ConfigureUserAuthRequest: + type: object + description: Configure user auth type + properties: + api_version: + type: string + enum: + - iam.v2/User + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ConfigureUserAuthRequest + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + auth_type: + type: string + description: The user's authentication method. + example: AUTH_TYPE_SSO + x-extensible-enum: + - AUTH_TYPE_LOCAL + - AUTH_TYPE_SSO + MultipleSearchFilter: + description: Filter a collection by a string search for one or more values + type: array + items: + type: string + iam.v2.ServiceAccountList: + type: object + description: >- + `ServiceAccount` objects are typically used to represent applications + and other non-human principals + + that may access your Confluent resources. + + + The API allows you to create, retrieve, update, and delete individual + service accounts, as well as + + list all your service accounts. + + + + Related guide: [Service Accounts in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + + ## The Service Accounts Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud + organization | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ServiceAccountList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `ServiceAccount` objects are typically used to represent + applications and other non-human principals - Make a request to read an API key. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the API key. - tags: - - API Keys (iam/v2) - security: - - cloud-api-key: [] - responses: - '200': - description: API Key. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.ApiKey' - - type: object - required: - - api_version - - kind - - id - - spec - properties: - spec: - type: object - required: - - owner - - type: object - properties: - spec: - type: object - properties: - owner: - example: - id: u-a83k9b - related: 'https://api.confluent.cloud/iam/v2/users/u-a83k9b' - resource_name: 'https://api.confluent.cloud/user=u-a83k9b' - resource: - nullable: true - example: - id: lkc-c29js0 - related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-c29js0' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-c29js0' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/iam/v2/api-keys/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/api-keys/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/api-keys/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/api-keys/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/api-keys/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/api-keys/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/api-keys/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateIamV2ApiKey - summary: Update an API Key - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + that may access your Confluent resources. - Make a request to update an API key. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the API key. - tags: - - API Keys (iam/v2) - security: - - cloud-api-key: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/iam.v2.ApiKeyUpdate' - responses: - '200': - description: API Key. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.ApiKey' - - type: object - required: - - api_version - - kind - - id - - spec - properties: - spec: - type: object - required: - - owner - - type: object - properties: - spec: - type: object - properties: - owner: - example: - id: u-a83k9b - related: 'https://api.confluent.cloud/iam/v2/users/u-a83k9b' - resource_name: 'https://api.confluent.cloud/user=u-a83k9b' - resource: - nullable: true - example: - id: lkc-c29js0 - related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-c29js0' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-c29js0' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/iam/v2/api-keys/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"CI kafka access key","description":"This API key provides kafka access to cluster x","owner":{"id":"string"},"resource":{"id":"string","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"CI kafka access key\",\"description\":\"This API key provides kafka access to cluster x\",\"owner\":{\"id\":\"string\"},\"resource\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/api-keys/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/api-keys/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"CI kafka access key\\\",\\\"description\\\":\\\"This API key provides kafka access to cluster x\\\",\\\"owner\\\":{\\\"id\\\":\\\"string\\\"},\\\"resource\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"CI kafka access key\",\"description\":\"This API key provides kafka access to cluster x\",\"owner\":{\"id\":\"string\"},\"resource\":{\"id\":\"string\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/iam/v2/api-keys/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/api-keys/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'CI kafka access key', - description: 'This API key provides kafka access to cluster x', - owner: {id: 'string'}, - resource: {id: 'string', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/api-keys/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"CI kafka access key\",\"description\":\"This API key provides kafka access to cluster x\",\"owner\":{\"id\":\"string\"},\"resource\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/api-keys/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"CI kafka access key\",\"description\":\"This API key provides kafka access to cluster x\",\"owner\":{\"id\":\"string\"},\"resource\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteIamV2ApiKey - summary: Delete an API Key - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to create, retrieve, update, and delete + individual service accounts, as well as - Make a request to delete an API key. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the API key. - tags: - - API Keys (iam/v2) - security: - - cloud-api-key: [] - responses: - '204': - description: An API Key is being deleted. - headers: - X-Request-Id: - schema: + list all your service accounts. + + + + Related guide: [Service Accounts in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + + ## The Service Accounts Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `service_accounts_per_org` | Service Accounts in one Confluent + Cloud organization | + properties: + api_version: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/iam/v2/api-keys/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/api-keys/{id}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/api-keys/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/iam/v2/api-keys/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/api-keys/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/api-keys/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/api-keys/{id}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /iam/v2/users: - get: - operationId: listIamV2Users - summary: List of Users - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ServiceAccount + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + display_name: + type: string + example: DeLorean_auto_repair + description: A human-readable name for the Service Account + description: + type: string + example: Doc's repair bot for the DeLorean + description: A free-form description of the Service Account + required: + - id + - metadata + - display_name + uniqueItems: true + iam.v2.ServiceAccount: + type: object + description: >- + `ServiceAccount` objects are typically used to represent applications + and other non-human principals + + that may access your Confluent resources. + + + The API allows you to create, retrieve, update, and delete individual + service accounts, as well as + + list all your service accounts. + + + + Related guide: [Service Accounts in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). + + + ## The Service Accounts Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `service_accounts_per_org` | Service Accounts in one Confluent Cloud + organization | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ServiceAccount + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + display_name: + type: string + example: DeLorean_auto_repair + description: A human-readable name for the Service Account + description: + type: string + example: Doc's repair bot for the DeLorean + description: A free-form description of the Service Account + iam.v2.InvitationList: + type: object + description: >- + `Invitation` objects represent invitations to invite users to join your + organizations in Confluent Cloud. + + + The API allows you to list all your invitations, as well as create, + read, and delete a specified invitation. + + - Retrieve a sorted, filtered, paginated list of all users. - parameters: - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Users (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: User. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.UserList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://api.confluent.cloud/iam/v2/users \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/users") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/users\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/users", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/users", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/users"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/users"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/iam/v2/users/{id}': - get: - operationId: getIamV2User - summary: Read a User - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [User invitations in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). - Make a request to read a user. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the user. - tags: - - Users (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: User. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.User' - - type: object - required: - - api_version - - kind - - id - - email - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/iam/v2/users/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/users/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/users/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/users/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/users/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/users/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/users/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateIamV2User - summary: Update a User - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Make a request to update a user. + ## The Invitations Model - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the user. - tags: - - Users (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/iam.v2.UserUpdate' - responses: - '200': - description: User. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.User' - - type: object - required: - - api_version - - kind - - id - - email - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/iam/v2/users/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"email":"marty.mcfly@example.com","full_name":"Marty McFly"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"email\":\"marty.mcfly@example.com\",\"full_name\":\"Marty McFly\"}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/users/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/users/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"email\\\":\\\"marty.mcfly@example.com\\\",\\\"full_name\\\":\\\"Marty McFly\\\"}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"email\":\"marty.mcfly@example.com\",\"full_name\":\"Marty McFly\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/iam/v2/users/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/users/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({email: 'marty.mcfly@example.com', full_name: 'Marty McFly'})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/users/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"email\":\"marty.mcfly@example.com\",\"full_name\":\"Marty McFly\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/users/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"email\":\"marty.mcfly@example.com\",\"full_name\":\"Marty McFly\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteIamV2User - summary: Delete a User - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + - Make a request to delete a user. - If successful, this request will also recursively delete all of the user's associated resources, - including its cloud and cluster API keys. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the user. - tags: - - Users (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A User is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/iam/v2/users/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/users/{id}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/users/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/iam/v2/users/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/users/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/users/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/users/{id}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /iam/v2/service-accounts: - get: - operationId: listIamV2ServiceAccounts - summary: List of Service Accounts - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `invitations_per_org` | Invitations in a Confluent Cloud organization + | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - InvitationList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `Invitation` objects represent invitations to invite users to join + your organizations in Confluent Cloud. + - Retrieve a sorted, filtered, paginated list of all service accounts. - parameters: - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Service Accounts (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Service Account. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.ServiceAccountList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://api.confluent.cloud/iam/v2/service-accounts \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/service-accounts") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/service-accounts\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/service-accounts", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/service-accounts", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/service-accounts"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/service-accounts"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createIamV2ServiceAccount - summary: Create a Service Account - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to list all your invitations, as well as + create, read, and delete a specified invitation. - Make a request to create a service account. - tags: - - Service Accounts (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.ServiceAccount' - - type: object - required: - - display_name - responses: - '201': - description: A Service Account was created. - headers: - X-Request-Id: - schema: + + + Related guide: [User invitations in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + + ## The Invitations Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `invitations_per_org` | Invitations in a Confluent Cloud + organization | + properties: + api_version: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: type: string - format: uri - example: 'https://api.confluent.cloud/iam/v2/service-accounts/{id}' - description: ServiceAccount resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.ServiceAccount' - - type: object - required: - - display_name - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/iam/v2/service-accounts \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"display_name":"DeLorean_auto_repair","description":"Doc'\''s repair bot for the DeLorean"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"DeLorean_auto_repair\",\"description\":\"Doc's repair bot for the DeLorean\"}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/service-accounts") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/service-accounts\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"DeLorean_auto_repair\\\",\\\"description\\\":\\\"Doc's repair bot for the DeLorean\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"display_name\":\"DeLorean_auto_repair\",\"description\":\"Doc's repair bot for the DeLorean\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/iam/v2/service-accounts", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/service-accounts", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - display_name: 'DeLorean_auto_repair', - description: 'Doc\'s repair bot for the DeLorean' - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/service-accounts"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"DeLorean_auto_repair\",\"description\":\"Doc's repair bot for the DeLorean\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/service-accounts"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"display_name\":\"DeLorean_auto_repair\",\"description\":\"Doc's repair bot for the DeLorean\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/iam/v2/service-accounts/{id}': - get: - operationId: getIamV2ServiceAccount - summary: Read a Service Account - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read a service account. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the service account. - tags: - - Service Accounts (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Service Account. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.ServiceAccount' - - type: object - required: - - api_version - - kind - - id - - display_name - headers: - X-Request-Id: - schema: + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Invitation + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/iam/v2/service-accounts/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/service-accounts/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/service-accounts/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/service-accounts/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/service-accounts/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/service-accounts/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/service-accounts/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateIamV2ServiceAccount - summary: Update a Service Account - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + email: + type: string + format: email + example: johndoe@confluent.io + description: The user/invitee's email address + x-immutable: true + auth_type: + type: string + description: > + The user/invitee's authentication type. Note that only the + [OrganizationAdmin + role](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html#organizationadmin) - Make a request to update a service account. + can invite AUTH_TYPE_LOCAL users to SSO organizations. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the service account. - tags: - - Service Accounts (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/iam.v2.ServiceAccountUpdate' - responses: - '200': - description: Service Account. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.ServiceAccount' - - type: object - required: - - api_version - - kind - - id - - display_name - headers: - X-Request-Id: - schema: + The user's auth_type is set as AUTH_TYPE_SSO by default if the + organization has SSO enabled. + + Otherwise, the user's auth_type is AUTH_TYPE_LOCAL by default. + example: AUTH_TYPE_SSO + x-extensible-enum: + - AUTH_TYPE_LOCAL + - AUTH_TYPE_SSO + status: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/iam/v2/service-accounts/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"display_name":"DeLorean_auto_repair","description":"Doc'\''s repair bot for the DeLorean"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"DeLorean_auto_repair\",\"description\":\"Doc's repair bot for the DeLorean\"}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/service-accounts/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/service-accounts/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"DeLorean_auto_repair\\\",\\\"description\\\":\\\"Doc's repair bot for the DeLorean\\\"}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"display_name\":\"DeLorean_auto_repair\",\"description\":\"Doc's repair bot for the DeLorean\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/iam/v2/service-accounts/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/service-accounts/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - display_name: 'DeLorean_auto_repair', - description: 'Doc\'s repair bot for the DeLorean' - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/service-accounts/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"DeLorean_auto_repair\",\"description\":\"Doc's repair bot for the DeLorean\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/service-accounts/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"display_name\":\"DeLorean_auto_repair\",\"description\":\"Doc's repair bot for the DeLorean\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteIamV2ServiceAccount - summary: Delete a Service Account - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + example: INVITE_STATUS_SENT + description: The status of invitations + x-extensible-enum: + - INVITE_STATUS_SENT + - INVITE_STATUS_STAGED + - INVITE_STATUS_ACCEPTED + - INVITE_STATUS_EXPIRED + - INVITE_STATUS_DEACTIVATED + readOnly: true + accepted_at: + type: string + format: date-time + example: '2022-07-06T17:21:33.000Z' + description: The timestamp that the invitation was accepted + nullable: true + readOnly: true + expires_at: + type: string + format: date-time + example: '2022-07-07T17:22:39.000Z' + description: The timestamp that the invitation will expire + readOnly: true + user: + description: The user/invitee + readOnly: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + creator: + description: The invitation creator + readOnly: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - id + - metadata + - email + uniqueItems: true + iam.v2.Invitation: + type: object + description: >- + `Invitation` objects represent invitations to invite users to join your + organizations in Confluent Cloud. - Make a request to delete a service account. - If successful, this request will also recursively delete all of the service account's associated resources, - including its cloud and cluster API keys. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the service account. - tags: - - Service Accounts (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A Service Account is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/iam/v2/service-accounts/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/service-accounts/{id}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/service-accounts/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/iam/v2/service-accounts/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/service-accounts/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/service-accounts/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/service-accounts/{id}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /iam/v2/invitations: - get: - operationId: listIamV2Invitations - summary: List of Invitations - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to list all your invitations, as well as create, + read, and delete a specified invitation. - Retrieve a sorted, filtered, paginated list of all invitations. - parameters: - - name: email - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' + + + Related guide: [User invitations in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + + + ## The Invitations Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `invitations_per_org` | Invitations in a Confluent Cloud organization + | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Invitation + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + email: + type: string + format: email example: johndoe@confluent.io - description: Filter the results by exact match for email. - - name: status - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' + description: The user/invitee's email address + x-immutable: true + auth_type: + type: string + description: > + The user/invitee's authentication type. Note that only the + [OrganizationAdmin + role](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html#organizationadmin) + + can invite AUTH_TYPE_LOCAL users to SSO organizations. + + The user's auth_type is set as AUTH_TYPE_SSO by default if the + organization has SSO enabled. + + Otherwise, the user's auth_type is AUTH_TYPE_LOCAL by default. + example: AUTH_TYPE_SSO + x-extensible-enum: + - AUTH_TYPE_LOCAL + - AUTH_TYPE_SSO + status: + type: string example: INVITE_STATUS_SENT - description: Filter the results by exact match for status. - - name: user - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: u-j93dy8 - description: Filter the results by exact match for user. - - name: creator - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: u-m2r9o7 - description: Filter the results by exact match for creator. - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Invitations (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Invitation. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.InvitationList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/iam/v2/invitations?email=johndoe@confluent.io&status=INVITE_STATUS_SENT&user=u-j93dy8&creator=u-m2r9o7' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/invitations?email=johndoe@confluent.io&status=INVITE_STATUS_SENT&user=u-j93dy8&creator=u-m2r9o7") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/invitations?email=johndoe@confluent.io&status=INVITE_STATUS_SENT&user=u-j93dy8&creator=u-m2r9o7\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/invitations?email=johndoe@confluent.io&status=INVITE_STATUS_SENT&user=u-j93dy8&creator=u-m2r9o7", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/invitations?email=johndoe@confluent.io&status=INVITE_STATUS_SENT&user=u-j93dy8&creator=u-m2r9o7", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/invitations?email=johndoe@confluent.io&status=INVITE_STATUS_SENT&user=u-j93dy8&creator=u-m2r9o7"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/invitations?email=johndoe@confluent.io&status=INVITE_STATUS_SENT&user=u-j93dy8&creator=u-m2r9o7"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createIamV2Invitation - summary: Create an Invitation - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + description: The status of invitations + x-extensible-enum: + - INVITE_STATUS_SENT + - INVITE_STATUS_STAGED + - INVITE_STATUS_ACCEPTED + - INVITE_STATUS_EXPIRED + - INVITE_STATUS_DEACTIVATED + readOnly: true + accepted_at: + type: string + format: date-time + example: '2022-07-06T17:21:33.000Z' + description: The timestamp that the invitation was accepted + nullable: true + readOnly: true + expires_at: + type: string + format: date-time + example: '2022-07-07T17:22:39.000Z' + description: The timestamp that the invitation will expire + readOnly: true + user: + description: The user/invitee + readOnly: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + creator: + description: The invitation creator + readOnly: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + iam.v2.IpGroupList: + type: object + description: >- + Definitions of networks which can be named and referred by IP blocks, + commonly used to attach to IP Filter rules. + + + + ## The IP Groups Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IpGroupList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + Definitions of networks which can be named and referred by IP + blocks, commonly used to attach to IP Filter rules. - Make a request to create an invitation. - The newly invited user will not have any permissions. Give the user permission by assigning them to one or - more roles by creating - [role bindings](https://docs.confluent.io/cloud/current/api.html#tag/Role-Bindings-(iamv2)) - for the created `user`. - tags: - - Invitations (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.Invitation' - - type: object - required: - - email - responses: - '201': - description: An Invitation was created. - headers: - X-Request-Id: - schema: + + ## The IP Groups Model + + + properties: + api_version: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: type: string - format: uri - example: 'https://api.confluent.cloud/iam/v2/invitations/{id}' - description: Invitation resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.Invitation' - - type: object - required: - - email - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/iam/v2/invitations \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"email":"johndoe@confluent.io","auth_type":"AUTH_TYPE_SSO"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"email\":\"johndoe@confluent.io\",\"auth_type\":\"AUTH_TYPE_SSO\"}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/invitations") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/invitations\"\n\n\tpayload := strings.NewReader(\"{\\\"email\\\":\\\"johndoe@confluent.io\\\",\\\"auth_type\\\":\\\"AUTH_TYPE_SSO\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"email\":\"johndoe@confluent.io\",\"auth_type\":\"AUTH_TYPE_SSO\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/iam/v2/invitations", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/invitations", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({email: 'johndoe@confluent.io', auth_type: 'AUTH_TYPE_SSO'})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/invitations"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"email\":\"johndoe@confluent.io\",\"auth_type\":\"AUTH_TYPE_SSO\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/invitations"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"email\":\"johndoe@confluent.io\",\"auth_type\":\"AUTH_TYPE_SSO\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/iam/v2/invitations/{id}': - get: - operationId: getIamV2Invitation - summary: Read an Invitation - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read an invitation. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the invitation. - tags: - - Invitations (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Invitation. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.Invitation' - - type: object - required: - - api_version - - kind - - id - - email - headers: - X-Request-Id: - schema: + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IpGroup + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/iam/v2/invitations/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/invitations/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/invitations/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/invitations/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/invitations/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/invitations/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/invitations/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteIamV2Invitation - summary: Delete an Invitation - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + group_name: + type: string + minLength: 1 + maxLength: 64 + example: CorpNet + description: > + A human readable name for an IP Group. Can contain any unicode + letter or number, the ASCII space character, or + + any of the following special characters: `[`, `]`, `|`, `&`, + `+`, `-`, `_`, `/`, `.`, `,`. + cidr_blocks: + type: array + items: + type: string + minItems: 1 + maxItems: 25 + example: + - 192.168.0.0/24 + - 192.168.7.0/24 + description: A list of CIDRs. + required: + - id + - metadata + - group_name + - cidr_blocks + uniqueItems: true + iam.v2.IpGroup: + type: object + description: >- + Definitions of networks which can be named and referred by IP blocks, + commonly used to attach to IP Filter rules. - Make a request to delete an invitation. - Delete will deactivate the user if the user didn't accept the invitation yet. - parameters: - - name: id - in: path - required: true - schema: + + ## The IP Groups Model + + + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IpGroup + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + group_name: + type: string + minLength: 1 + maxLength: 64 + example: CorpNet + description: > + A human readable name for an IP Group. Can contain any unicode + letter or number, the ASCII space character, or + + any of the following special characters: `[`, `]`, `|`, `&`, `+`, + `-`, `_`, `/`, `.`, `,`. + cidr_blocks: + type: array + items: type: string - description: The unique identifier for the invitation. - tags: - - Invitations (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: An Invitation is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/iam/v2/invitations/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/invitations/{id}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/invitations/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/iam/v2/invitations/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/invitations/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/invitations/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/invitations/{id}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /iam/v2/ip-groups: - get: - x-request-access-name: IP Groups API - operationId: listIamV2IpGroups - summary: List of IP Groups - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + minItems: 1 + maxItems: 25 + example: + - 192.168.0.0/24 + - 192.168.7.0/24 + description: A list of CIDRs. + iam.v2.IpFilterList: + type: object + description: >- + `IP Filter` objects are bindings between IP Groups and Confluent + resource(s). + + For example, a binding between "CorpNet" and "Management APIs" will + enforce that + + access must come from one of the CIDR blocks associated with CorpNet. + + If there are multiple IP filters bound to a resource, a request matching + any of the CIDR blocks + + for any of the IP Group will allow the request. + + If there are no IP Filters for a resource, then access will be granted + to requests originating + + from any IP Address. + + + + ## The IP Filters Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IpFilterList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `IP Filter` objects are bindings between IP Groups and Confluent + resource(s). - Retrieve a sorted, filtered, paginated list of all IP groups. - parameters: - - name: page_size - in: query - required: false - schema: - type: integer - default: 25 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - IP Groups (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: IP Group. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.IpGroupList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-page-first-available: true - x-page-last-available: true - x-page-from-start: true - x-page-from-end: true - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://api.confluent.cloud/iam/v2/ip-groups \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/ip-groups") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/ip-groups\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/ip-groups", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/ip-groups", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/ip-groups"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/ip-groups"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - x-request-access-name: IP Groups API - operationId: createIamV2IpGroup - summary: Create an IP Group - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + For example, a binding between "CorpNet" and "Management APIs" + will enforce that - Make a request to create an IP group. - tags: - - IP Groups (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.IpGroup' - - type: object - required: - - group_name - - cidr_blocks - responses: - '201': - description: An IP Group was created. - headers: - X-Request-Id: - schema: + access must come from one of the CIDR blocks associated with + CorpNet. + + If there are multiple IP filters bound to a resource, a request + matching any of the CIDR blocks + + for any of the IP Group will allow the request. + + If there are no IP Filters for a resource, then access will be + granted to requests originating + + from any IP Address. + + + + ## The IP Filters Model + + + properties: + api_version: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IpFilter + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + filter_name: + type: string + minLength: 1 + maxLength: 64 + example: Management API Rules + description: > + A human readable name for an IP Filter. Can contain any + unicode letter or number, the ASCII space character, + + or any of the following special characters: `[`, `]`, `|`, + `&`, `+`, `-`, `_`, `/`, `.`, `,`. + resource_group: + type: string + example: management + description: > + Scope of resources covered by this IP filter. Available + resource groups include "management" and "multiple". + resource_scope: type: string + example: crn://confluent.cloud/organization=org-123/environment=env-abc format: uri - example: 'https://api.confluent.cloud/iam/v2/ip-groups/{id}' - description: IpGroup resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.IpGroup' - - type: object - required: - - group_name - - cidr_blocks - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/iam/v2/ip-groups \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"group_name":"CorpNet","cidr_blocks":["192.168.0.0/24","192.168.7.0/24"]}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"group_name\":\"CorpNet\",\"cidr_blocks\":[\"192.168.0.0/24\",\"192.168.7.0/24\"]}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/ip-groups") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/ip-groups\"\n\n\tpayload := strings.NewReader(\"{\\\"group_name\\\":\\\"CorpNet\\\",\\\"cidr_blocks\\\":[\\\"192.168.0.0/24\\\",\\\"192.168.7.0/24\\\"]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"group_name\":\"CorpNet\",\"cidr_blocks\":[\"192.168.0.0/24\",\"192.168.7.0/24\"]}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/iam/v2/ip-groups", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/ip-groups", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({group_name: 'CorpNet', cidr_blocks: ['192.168.0.0/24', '192.168.7.0/24']})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/ip-groups"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"group_name\":\"CorpNet\",\"cidr_blocks\":[\"192.168.0.0/24\",\"192.168.7.0/24\"]}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/ip-groups"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"group_name\":\"CorpNet\",\"cidr_blocks\":[\"192.168.0.0/24\",\"192.168.7.0/24\"]}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/iam/v2/ip-groups/{id}': - get: - x-request-access-name: IP Groups API - operationId: getIamV2IpGroup - summary: Read an IP Group - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + pattern: ^crn://.+$ + description: > + A CRN that specifies the scope of the ip filter, specifically + the organization + + or environment. Without specifying this property, the ip + filter + + would apply to the whole organization. + operation_groups: + type: array + items: + type: string + example: + - MANAGEMENT + - SCHEMA + - FLINK + description: > + Scope of resources covered by this IP filter. Resource group + must be set to 'multiple' + + in order to use this property.During update operations, note + that the operation + + groups passed in will replace the list of existing operation + groups + + (passing in an empty list will remove all operation groups) + from the filter + + (in line with the behavior for ip_groups). + ip_groups: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: A list of IP Groups. + minItems: 1 + maxItems: 25 + required: + - id + - metadata + - filter_name + - resource_group + - ip_groups + uniqueItems: true + iam.v2.IpFilter: + type: object + description: >- + `IP Filter` objects are bindings between IP Groups and Confluent + resource(s). - Make a request to read an IP group. - parameters: - - name: id - in: path - required: true - schema: + For example, a binding between "CorpNet" and "Management APIs" will + enforce that + + access must come from one of the CIDR blocks associated with CorpNet. + + If there are multiple IP filters bound to a resource, a request matching + any of the CIDR blocks + + for any of the IP Group will allow the request. + + If there are no IP Filters for a resource, then access will be granted + to requests originating + + from any IP Address. + + + + ## The IP Filters Model + + + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IpFilter + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + filter_name: + type: string + minLength: 1 + maxLength: 64 + example: Management API Rules + description: > + A human readable name for an IP Filter. Can contain any unicode + letter or number, the ASCII space character, + + or any of the following special characters: `[`, `]`, `|`, `&`, `+`, + `-`, `_`, `/`, `.`, `,`. + resource_group: + type: string + example: management + description: > + Scope of resources covered by this IP filter. Available resource + groups include "management" and "multiple". + resource_scope: + type: string + example: crn://confluent.cloud/organization=org-123/environment=env-abc + format: uri + pattern: ^crn://.+$ + description: > + A CRN that specifies the scope of the ip filter, specifically the + organization + + or environment. Without specifying this property, the ip filter + + would apply to the whole organization. + operation_groups: + type: array + items: type: string - description: The unique identifier for the IP group. - tags: - - IP Groups (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: IP Group. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.IpGroup' - - type: object - required: - - api_version - - kind - - id - - group_name - - cidr_blocks - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/iam/v2/ip-groups/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/ip-groups/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/ip-groups/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/ip-groups/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/ip-groups/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/ip-groups/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/ip-groups/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - x-request-access-name: IP Groups API - operationId: updateIamV2IpGroup - summary: Update an IP Group - description: |+ - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + example: + - MANAGEMENT + - SCHEMA + - FLINK + description: > + Scope of resources covered by this IP filter. Resource group must be + set to 'multiple' + + in order to use this property.During update operations, note that + the operation + + groups passed in will replace the list of existing operation groups + + (passing in an empty list will remove all operation groups) from the + filter + + (in line with the behavior for ip_groups). + ip_groups: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: A list of IP Groups. + minItems: 1 + maxItems: 25 + iam.v2.IpFilterSummary: + type: object + description: > + The IP Filter Summary endpoint returns an aggregation of the IP Filters + across the system. - Make a request to update an IP group. + This API can be queried in the context of an organization or an + environment. It returns a - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the IP group. - tags: - - IP Groups (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/iam.v2.IpGroup' - responses: - '200': - description: IP Group. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.IpGroup' - - type: object - required: - - api_version - - kind - - id - - group_name - - cidr_blocks - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/iam/v2/ip-groups/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"group_name":"CorpNet","cidr_blocks":["192.168.0.0/24","192.168.7.0/24"]}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"group_name\":\"CorpNet\",\"cidr_blocks\":[\"192.168.0.0/24\",\"192.168.7.0/24\"]}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/ip-groups/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/ip-groups/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"group_name\\\":\\\"CorpNet\\\",\\\"cidr_blocks\\\":[\\\"192.168.0.0/24\\\",\\\"192.168.7.0/24\\\"]}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"group_name\":\"CorpNet\",\"cidr_blocks\":[\"192.168.0.0/24\",\"192.168.7.0/24\"]}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/iam/v2/ip-groups/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/ip-groups/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({group_name: 'CorpNet', cidr_blocks: ['192.168.0.0/24', '192.168.7.0/24']})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/ip-groups/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"group_name\":\"CorpNet\",\"cidr_blocks\":[\"192.168.0.0/24\",\"192.168.7.0/24\"]}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/ip-groups/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"group_name\":\"CorpNet\",\"cidr_blocks\":[\"192.168.0.0/24\",\"192.168.7.0/24\"]}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - x-request-access-name: IP Groups API - operationId: deleteIamV2IpGroup - summary: Delete an IP Group - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + summary of every operation group in the system grouped with a higher + summary by operation - Make a request to delete an IP group. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the IP group. - tags: - - IP Groups (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: An IP Group is being deleted. - headers: - X-Request-Id: - schema: + group category. + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IpFilterSummary + scope: + type: string + description: The scope associated with this object. + categories: + type: array + items: + type: object + properties: + name: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/iam/v2/ip-groups/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/ip-groups/{id}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/ip-groups/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/iam/v2/ip-groups/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/ip-groups/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/ip-groups/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/ip-groups/{id}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /iam/v2/ip-filters: - get: - x-request-access-name: IP Filters API - operationId: listIamV2IpFilters - summary: List of IP Filters - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Retrieve a sorted, filtered, paginated list of all IP filters. - parameters: - - name: page_size - in: query - required: false - schema: - type: integer - default: 25 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - IP Filters (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: IP Filter. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.IpFilterList' - headers: - X-Request-Id: - schema: + description: Name of the category. + status: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-page-first-available: true - x-page-last-available: true - x-page-from-start: true - x-page-from-end: true - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://api.confluent.cloud/iam/v2/ip-filters \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/ip-filters") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/ip-filters\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/ip-filters", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/ip-filters", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/ip-filters"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/ip-filters"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - x-request-access-name: IP Filters API - operationId: createIamV2IpFilter - summary: Create an IP Filter - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + description: Open, limited, or mixed. + operation_groups: + type: array + description: Operation groups part of this category. + items: + type: object + properties: + name: + type: string + description: Name of the operation group. + status: + type: string + description: Open, limited, or no access. + example: + - name: management + status: MIXED + operation_groups: + - name: MANAGEMENT + status: LIMITED + description: > + Summary of the operation groups and IP filters created in those + operation groups. + iam.v2.RoleBindingList: + type: object + description: >- + A role binding grants a Principal a role on resources that match a + pattern. - Make a request to create an IP filter. - tags: - - IP Filters (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.IpFilter' - - type: object - required: - - filter_name - - resource_group - - ip_groups - responses: - '201': - description: An IP Filter was created. - headers: - X-Request-Id: - schema: + + The API allows you to perform create, delete, and list operations on + role bindings. + + + + Related guide: [Role-Based Access Control + (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + + ## The Role Bindings Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - RoleBindingList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + A role binding grants a Principal a role on resources that match a + pattern. + + + The API allows you to perform create, delete, and list operations + on role bindings. + + + + Related guide: [Role-Based Access Control + (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + + ## The Role Bindings Model + + + properties: + api_version: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - RoleBinding + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + principal: + type: string + description: The principal User to bind the role to + pattern: (^User:.+$) + example: User:u-111aaa + role_name: type: string + description: The name of the role to bind to the principal + example: CloudClusterAdmin + crn_pattern: + type: string + description: >- + A CRN that specifies the scope and resource patterns necessary + for the role to bind format: uri - example: 'https://api.confluent.cloud/iam/v2/ip-filters/{id}' - description: IpFilter resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.IpFilter' - - type: object - required: - - filter_name - - resource_group - - ip_groups - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/iam/v2/ip-filters \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"filter_name":"Management API Rules","resource_group":"management","ip_groups":[{"id":"string"}]}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"filter_name\":\"Management API Rules\",\"resource_group\":\"management\",\"ip_groups\":[{\"id\":\"string\"}]}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/ip-filters") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/ip-filters\"\n\n\tpayload := strings.NewReader(\"{\\\"filter_name\\\":\\\"Management API Rules\\\",\\\"resource_group\\\":\\\"management\\\",\\\"ip_groups\\\":[{\\\"id\\\":\\\"string\\\"}]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"filter_name\":\"Management API Rules\",\"resource_group\":\"management\",\"ip_groups\":[{\"id\":\"string\"}]}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/iam/v2/ip-filters", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/ip-filters", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - filter_name: 'Management API Rules', - resource_group: 'management', - ip_groups: [{id: 'string'}] - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/ip-filters"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"filter_name\":\"Management API Rules\",\"resource_group\":\"management\",\"ip_groups\":[{\"id\":\"string\"}]}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/ip-filters"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"filter_name\":\"Management API Rules\",\"resource_group\":\"management\",\"ip_groups\":[{\"id\":\"string\"}]}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/iam/v2/ip-filters/{id}': - get: - x-request-access-name: IP Filters API - operationId: getIamV2IpFilter - summary: Read an IP Filter - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa + required: + - id + - metadata + - principal + - role_name + - crn_pattern + uniqueItems: true + iam.v2.RoleBinding: + type: object + description: >- + A role binding grants a Principal a role on resources that match a + pattern. - Make a request to read an IP filter. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the IP filter. - tags: - - IP Filters (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: IP Filter. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.IpFilter' - - type: object - required: - - api_version - - kind - - id - - filter_name - - resource_group - - ip_groups - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/iam/v2/ip-filters/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/ip-filters/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/ip-filters/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/ip-filters/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/ip-filters/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/ip-filters/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/ip-filters/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - x-request-access-name: IP Filters API - operationId: updateIamV2IpFilter - summary: Update an IP Filter - description: |+ - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - Make a request to update an IP filter. + The API allows you to perform create, delete, and list operations on + role bindings. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the IP filter. - tags: - - IP Filters (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/iam.v2.IpFilter' - responses: - '200': - description: IP Filter. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.IpFilter' - - type: object - required: - - api_version - - kind - - id - - filter_name - - resource_group - - ip_groups - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/iam/v2/ip-filters/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"filter_name":"Management API Rules","resource_group":"management","ip_groups":[{"id":"string"}]}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"filter_name\":\"Management API Rules\",\"resource_group\":\"management\",\"ip_groups\":[{\"id\":\"string\"}]}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/ip-filters/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/ip-filters/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"filter_name\\\":\\\"Management API Rules\\\",\\\"resource_group\\\":\\\"management\\\",\\\"ip_groups\\\":[{\\\"id\\\":\\\"string\\\"}]}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"filter_name\":\"Management API Rules\",\"resource_group\":\"management\",\"ip_groups\":[{\"id\":\"string\"}]}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/iam/v2/ip-filters/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/ip-filters/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - filter_name: 'Management API Rules', - resource_group: 'management', - ip_groups: [{id: 'string'}] - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/ip-filters/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"filter_name\":\"Management API Rules\",\"resource_group\":\"management\",\"ip_groups\":[{\"id\":\"string\"}]}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/ip-filters/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"filter_name\":\"Management API Rules\",\"resource_group\":\"management\",\"ip_groups\":[{\"id\":\"string\"}]}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - x-request-access-name: IP Filters API - operationId: deleteIamV2IpFilter - summary: Delete an IP Filter - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - Make a request to delete an IP filter. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the IP filter. - tags: - - IP Filters (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: An IP Filter is being deleted. - headers: - X-Request-Id: - schema: + + Related guide: [Role-Based Access Control + (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + + ## The Role Bindings Model + + + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - RoleBinding + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + principal: + type: string + description: The principal User to bind the role to + pattern: (^User:.+$) + example: User:u-111aaa + role_name: + type: string + description: The name of the role to bind to the principal + example: CloudClusterAdmin + crn_pattern: + type: string + description: >- + A CRN that specifies the scope and resource patterns necessary for + the role to bind + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa + iam.v2.IdentityProviderList: + type: object + description: >- + `IdentityProvider` objects represent external OAuth-OIDC providers in + Confluent Cloud. + + + The API allows you to list, create, read, update, and delete your + Identity Provider. + + + + Related guide: [OAuth for Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + + ## The Identity Providers Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_providers_per_org` | Number of OAuth identity providers per + organization | + + | `public_keys_per_provider` | Number of public keys saved per identity + provider | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IdentityProviderList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `IdentityProvider` objects represent external OAuth-OIDC providers + in Confluent Cloud. + + + The API allows you to list, create, read, update, and delete your + Identity Provider. + + + + Related guide: [OAuth for Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + + ## The Identity Providers Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_providers_per_org` | Number of OAuth identity + providers per organization | + + | `public_keys_per_provider` | Number of public keys saved per + identity provider | + properties: + api_version: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/iam/v2/ip-filters/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/ip-filters/{id}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/ip-filters/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/iam/v2/ip-filters/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/ip-filters/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/ip-filters/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/ip-filters/{id}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /iam/v2/role-bindings: - get: - operationId: listIamV2RoleBindings - summary: List of Role Bindings - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IdentityProvider + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + display_name: + type: string + description: The human-readable name of the OAuth identity provider. + example: My OIDC Provider + description: + type: string + description: A description of the identity provider. + identity_claim: + type: string + description: >- + The JSON Web Token (JWT) claim to extract the authenticating + identity to Confluent resources from - Retrieve a sorted, filtered, paginated list of all role bindings. - parameters: - - name: principal - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: 'User:u-111aaa' - description: Filter the results by exact match for principal. - - name: role_name - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: CloudClusterAdmin - description: Filter the results by exact match for role_name. - - name: crn_pattern - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: 'crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa' - description: Filter the results by a partial search of crn_pattern. - - name: page_size - in: query - required: false - schema: - type: integer - default: 1000 - maximum: 1000 - x-max-page-items: 1000 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Role Bindings (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Role Binding. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.RoleBindingList' - headers: - X-Request-Id: - schema: + [Registered Claim + Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1). + This appears + + in audit log records. Note: if the client specifies mapping to + one identity pool ID, the identity + + claim configured with that pool will be used instead. + + Note - The attribute is in an [Early Access lifecycle stage] + + (https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + example: claims.sub + state: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/iam/v2/role-bindings?principal=User:u-111aaa&role_name=CloudClusterAdmin&crn_pattern=crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/role-bindings?principal=User:u-111aaa&role_name=CloudClusterAdmin&crn_pattern=crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/role-bindings?principal=User:u-111aaa&role_name=CloudClusterAdmin&crn_pattern=crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/role-bindings?principal=User:u-111aaa&role_name=CloudClusterAdmin&crn_pattern=crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/role-bindings?principal=User:u-111aaa&role_name=CloudClusterAdmin&crn_pattern=crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/role-bindings?principal=User:u-111aaa&role_name=CloudClusterAdmin&crn_pattern=crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/role-bindings?principal=User:u-111aaa&role_name=CloudClusterAdmin&crn_pattern=crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createIamV2RoleBinding - summary: Create a Role Binding - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + x-extensible-enum: + - ENABLED + description: The current state of the identity provider. + example: ENABLED + readOnly: true + issuer: + type: string + format: uri + description: |- + A publicly accessible URL uniquely identifying the OAuth + identity provider authorized to issue access tokens. + example: https://login.microsoftonline.com/{tenantid}/v2.0 + x-immutable: false + jwks_uri: + type: string + format: uri + description: >- + A publicly accessible JSON Web Key Set (JWKS) URI for the + OAuth + + identity provider. JWKS provides a set of crypotgraphic keys + + used to verify the authenticity and integrity of JSON Web + + Tokens (JWTs) issued by the OAuth identity provider. + example: https://login.microsoftonline.com/common/discovery/v2.0/keys + x-immutable: false + keys: + type: array + items: + $ref: '#/components/schemas/iam.v2.JwksObject' + description: >- + The JWKS issued by the OAuth identity provider. Only `kid` + (key ID) + + and `alg` (algorithm) properties for each key set are + included. + readOnly: true + required: + - id + - metadata + - display_name + - description + - state + - issuer + - jwks_uri + uniqueItems: true + iam.v2.IdentityProvider: + type: object + description: >- + `IdentityProvider` objects represent external OAuth-OIDC providers in + Confluent Cloud. + + + The API allows you to list, create, read, update, and delete your + Identity Provider. + + + + Related guide: [OAuth for Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + + ## The Identity Providers Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_providers_per_org` | Number of OAuth identity providers per + organization | + + | `public_keys_per_provider` | Number of public keys saved per identity + provider | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IdentityProvider + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The human-readable name of the OAuth identity provider. + example: My OIDC Provider + description: + type: string + description: A description of the identity provider. + identity_claim: + type: string + description: >- + The JSON Web Token (JWT) claim to extract the authenticating + identity to Confluent resources from + + [Registered Claim + Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1). + This appears + + in audit log records. Note: if the client specifies mapping to one + identity pool ID, the identity + + claim configured with that pool will be used instead. + + Note - The attribute is in an [Early Access lifecycle stage] + + (https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + example: claims.sub + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity provider. + example: ENABLED + readOnly: true + issuer: + type: string + format: uri + description: |- + A publicly accessible URL uniquely identifying the OAuth + identity provider authorized to issue access tokens. + example: https://login.microsoftonline.com/{tenantid}/v2.0 + x-immutable: false + jwks_uri: + type: string + format: uri + description: |- + A publicly accessible JSON Web Key Set (JWKS) URI for the OAuth + identity provider. JWKS provides a set of crypotgraphic keys + used to verify the authenticity and integrity of JSON Web + Tokens (JWTs) issued by the OAuth identity provider. + example: https://login.microsoftonline.com/common/discovery/v2.0/keys + x-immutable: false + keys: + type: array + items: + $ref: '#/components/schemas/iam.v2.JwksObject' + description: |- + The JWKS issued by the OAuth identity provider. Only `kid` (key ID) + and `alg` (algorithm) properties for each key set are included. + readOnly: true + iam.v2.Jwks: + type: object + description: >- + `JWKS` objects represent public key sets for a specific OAuth/OpenID + Connect provider within + + Confluent Cloud. - Make a request to create a role binding. - tags: - - Role Bindings (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.RoleBinding' - - type: object - required: - - principal - - role_name - - crn_pattern - responses: - '201': - description: A Role Binding was created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/iam/v2/role-bindings/{id}' - description: RoleBinding resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.RoleBinding' - - type: object - required: - - principal - - role_name - - crn_pattern - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/iam/v2/role-bindings \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"principal":"User:u-111aaa","role_name":"CloudClusterAdmin","crn_pattern":"crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"principal\":\"User:u-111aaa\",\"role_name\":\"CloudClusterAdmin\",\"crn_pattern\":\"crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa\"}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/role-bindings") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/role-bindings\"\n\n\tpayload := strings.NewReader(\"{\\\"principal\\\":\\\"User:u-111aaa\\\",\\\"role_name\\\":\\\"CloudClusterAdmin\\\",\\\"crn_pattern\\\":\\\"crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"principal\":\"User:u-111aaa\",\"role_name\":\"CloudClusterAdmin\",\"crn_pattern\":\"crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/iam/v2/role-bindings", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/role-bindings", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - principal: 'User:u-111aaa', - role_name: 'CloudClusterAdmin', - crn_pattern: 'crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa' - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/role-bindings"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"principal\":\"User:u-111aaa\",\"role_name\":\"CloudClusterAdmin\",\"crn_pattern\":\"crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/role-bindings"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"principal\":\"User:u-111aaa\",\"role_name\":\"CloudClusterAdmin\",\"crn_pattern\":\"crn://confluent.cloud/organization=1111aaaa-11aa-11aa-11aa-111111aaaaaa/environment=env-aaa1111/cloud-cluster=lkc-1111aaa\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/iam/v2/role-bindings/{id}': - get: - operationId: getIamV2RoleBinding - summary: Read a Role Binding - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Make a request to read a role binding. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the role binding. - tags: - - Role Bindings (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Role Binding. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.RoleBinding' - - type: object - required: - - api_version - - kind - - id - - principal - - role_name - - crn_pattern - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/iam/v2/role-bindings/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/role-bindings/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/role-bindings/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/role-bindings/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/role-bindings/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/role-bindings/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/role-bindings/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteIamV2RoleBinding - summary: Delete a Role Binding - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to refresh JWKS public key data. - Make a request to delete a role binding. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the role binding. - tags: - - Role Bindings (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: A Role Binding is being deleted. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.RoleBinding' - - type: object - required: - - api_version - - kind - - id - - principal - - role_name - - crn_pattern - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/iam/v2/role-bindings/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/role-bindings/{id}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/role-bindings/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/iam/v2/role-bindings/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/role-bindings/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/role-bindings/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/role-bindings/{id}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /iam/v2/identity-providers: - get: - operationId: listIamV2IdentityProviders - summary: List of Identity Providers - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Retrieve a sorted, filtered, paginated list of all identity providers. - parameters: - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 255 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Identity Providers (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Identity Provider. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.IdentityProviderList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://api.confluent.cloud/iam/v2/identity-providers \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/identity-providers") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/identity-providers\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/identity-providers", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/identity-providers", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/identity-providers"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/identity-providers"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createIamV2IdentityProvider - summary: Create an Identity Provider - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Make a request to create an identity provider. - tags: - - Identity Providers (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.IdentityProvider' - - type: object - required: - - display_name - - description - - issuer - - jwks_uri - responses: - '201': - description: An Identity Provider was created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/iam/v2/identity-providers/{id}' - description: IdentityProvider resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.IdentityProvider' - - type: object - required: - - display_name - - description - - issuer - - jwks_uri - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/iam/v2/identity-providers \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"display_name":"My OIDC Provider","description":"string","issuer":"https://login.microsoftonline.com/{tenantid}/v2.0","jwks_uri":"https://login.microsoftonline.com/common/discovery/v2.0/keys"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"My OIDC Provider\",\"description\":\"string\",\"issuer\":\"https://login.microsoftonline.com/{tenantid}/v2.0\",\"jwks_uri\":\"https://login.microsoftonline.com/common/discovery/v2.0/keys\"}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/identity-providers") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/identity-providers\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"My OIDC Provider\\\",\\\"description\\\":\\\"string\\\",\\\"issuer\\\":\\\"https://login.microsoftonline.com/{tenantid}/v2.0\\\",\\\"jwks_uri\\\":\\\"https://login.microsoftonline.com/common/discovery/v2.0/keys\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"display_name\":\"My OIDC Provider\",\"description\":\"string\",\"issuer\":\"https://login.microsoftonline.com/{tenantid}/v2.0\",\"jwks_uri\":\"https://login.microsoftonline.com/common/discovery/v2.0/keys\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/iam/v2/identity-providers", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/identity-providers", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - display_name: 'My OIDC Provider', - description: 'string', - issuer: 'https://login.microsoftonline.com/{tenantid}/v2.0', - jwks_uri: 'https://login.microsoftonline.com/common/discovery/v2.0/keys' - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/identity-providers"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"My OIDC Provider\",\"description\":\"string\",\"issuer\":\"https://login.microsoftonline.com/{tenantid}/v2.0\",\"jwks_uri\":\"https://login.microsoftonline.com/common/discovery/v2.0/keys\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/identity-providers"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"display_name\":\"My OIDC Provider\",\"description\":\"string\",\"issuer\":\"https://login.microsoftonline.com/{tenantid}/v2.0\",\"jwks_uri\":\"https://login.microsoftonline.com/common/discovery/v2.0/keys\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/iam/v2/identity-providers/{id}': - get: - operationId: getIamV2IdentityProvider - summary: Read an Identity Provider - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [OAuth for Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + + + ## The Jwks Model + + + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Jwks + spec: + $ref: '#/components/schemas/iam.v2.JwksSpec' + status: + $ref: '#/components/schemas/iam.v2.JwksStatus' + iam.v2.IdentityPoolList: + type: object + description: >- + `IdentityPool` objects represent groups of identities tied to a given a + `IdentityProvider` + + that authorizes them to Confluent Cloud resources. + + + It provides a mapping functionality of your `Identity Provider` user to + a Confluent identity pool that + + is then used to provide access to Confluent Resources. + + + + Related guide: [Use identity pools with your OAuth + provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + + ## The Identity Pools Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - Make a request to read an identity provider. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the identity provider. - tags: - - Identity Providers (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Identity Provider. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.IdentityProvider' - - type: object - required: - - api_version - - kind - - id - - display_name - - description - - state - - issuer - - jwks_uri - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/iam/v2/identity-providers/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/identity-providers/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/identity-providers/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/identity-providers/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/identity-providers/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/identity-providers/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/identity-providers/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateIamV2IdentityProvider - summary: Update an Identity Provider - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Make a request to update an identity provider. + | Quota | Description | - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the identity provider. - tags: - - Identity Providers (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/iam.v2.IdentityProvider' - responses: - '200': - description: Identity Provider. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.IdentityProvider' - - type: object - required: - - api_version - - kind - - id - - display_name - - description - - state - - issuer - - jwks_uri - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/iam/v2/identity-providers/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"display_name":"My OIDC Provider","description":"string","issuer":"https://login.microsoftonline.com/{tenantid}/v2.0","jwks_uri":"https://login.microsoftonline.com/common/discovery/v2.0/keys"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"My OIDC Provider\",\"description\":\"string\",\"issuer\":\"https://login.microsoftonline.com/{tenantid}/v2.0\",\"jwks_uri\":\"https://login.microsoftonline.com/common/discovery/v2.0/keys\"}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/identity-providers/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/identity-providers/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"My OIDC Provider\\\",\\\"description\\\":\\\"string\\\",\\\"issuer\\\":\\\"https://login.microsoftonline.com/{tenantid}/v2.0\\\",\\\"jwks_uri\\\":\\\"https://login.microsoftonline.com/common/discovery/v2.0/keys\\\"}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"display_name\":\"My OIDC Provider\",\"description\":\"string\",\"issuer\":\"https://login.microsoftonline.com/{tenantid}/v2.0\",\"jwks_uri\":\"https://login.microsoftonline.com/common/discovery/v2.0/keys\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/iam/v2/identity-providers/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/identity-providers/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - display_name: 'My OIDC Provider', - description: 'string', - issuer: 'https://login.microsoftonline.com/{tenantid}/v2.0', - jwks_uri: 'https://login.microsoftonline.com/common/discovery/v2.0/keys' - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/identity-providers/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"My OIDC Provider\",\"description\":\"string\",\"issuer\":\"https://login.microsoftonline.com/{tenantid}/v2.0\",\"jwks_uri\":\"https://login.microsoftonline.com/common/discovery/v2.0/keys\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/identity-providers/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"display_name\":\"My OIDC Provider\",\"description\":\"string\",\"issuer\":\"https://login.microsoftonline.com/{tenantid}/v2.0\",\"jwks_uri\":\"https://login.microsoftonline.com/common/discovery/v2.0/keys\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteIamV2IdentityProvider - summary: Delete an Identity Provider - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | --- | --- | - Make a request to delete an identity provider. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the identity provider. - tags: - - Identity Providers (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: An Identity Provider is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/iam/v2/identity-providers/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/identity-providers/{id}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/identity-providers/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/iam/v2/identity-providers/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/identity-providers/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/identity-providers/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/identity-providers/{id}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/iam/v2/identity-providers/{provider_id}/jwks': - patch: - summary: Refresh a provider's JWKS - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | `identity_pools_per_provider` | Number of Identity Pools per Identity + Provider | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IdentityPoolList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `IdentityPool` objects represent groups of identities tied to a + given a `IdentityProvider` + + that authorizes them to Confluent Cloud resources. + + + It provides a mapping functionality of your `Identity Provider` + user to a Confluent identity pool that + + is then used to provide access to Confluent Resources. + + + + Related guide: [Use identity pools with your OAuth + provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + + ## The Identity Pools Model + + - Make a request to refresh the provider's JWKS - operationId: refreshIamV2JsonWebKeySet - parameters: - - name: provider_id - in: path - required: true - schema: - type: string - description: The Provider - tags: - - Jwks (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/iam.v2.Jwks' - responses: - '200': - description: Jwks. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.Jwks' - - type: object - required: - - api_version - - kind - - spec - properties: - spec: - type: object - required: - - jwks_status - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/jwks' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"jwks_status":"REFRESHED"}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"jwks_status\":\"REFRESHED\"}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/jwks") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/jwks\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"jwks_status\\\":\\\"REFRESHED\\\"}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"jwks_status\":\"REFRESHED\"}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/iam/v2/identity-providers/{provider_id}/jwks", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/identity-providers/{provider_id}/jwks", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({spec: {jwks_status: 'REFRESHED'}})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/jwks"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"jwks_status\":\"REFRESHED\"}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/jwks"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"jwks_status\":\"REFRESHED\"}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/iam/v2/identity-providers/{provider_id}/identity-pools': - get: - operationId: listIamV2IdentityPools - summary: List of Identity Pools - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## Quotas and Limits - Retrieve a sorted, filtered, paginated list of all identity pools. - parameters: - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 255 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - - name: provider_id - in: path - required: true - schema: - type: string - description: The Provider - tags: - - Identity Pools (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Identity Pool. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.IdentityPoolList' - headers: - X-Request-Id: - schema: + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_pools_per_provider` | Number of Identity Pools per + Identity Provider | + properties: + api_version: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/identity-providers/{provider_id}/identity-pools", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/identity-providers/{provider_id}/identity-pools", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createIamV2IdentityPool - summary: Create an Identity Pool - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IdentityPool + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + display_name: + type: string + description: The name of the `IdentityPool`. + example: My Identity Pool + description: + type: string + description: A description of how this `IdentityPool` is used + example: Prod Access to Kafka clusters to Release Engineering + identity_claim: + type: string + description: >- + The JSON Web Token (JWT) claim to extract the authenticating + identity to Confluent resources from - Make a request to create an identity pool. - parameters: - - name: provider_id - in: path - required: true - schema: - type: string - description: The Provider - tags: - - Identity Pools (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.IdentityPool' - - type: object - required: - - display_name - - description - - identity_claim - - filter - responses: - '201': - description: An Identity Pool was created. - headers: - X-Request-Id: - schema: + (see [Registered Claim + Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) + for more details). + + This appears in the audit log records, showing, for example, + that "identity Z used identity pool X to access + + topic A". + example: claims.sub + filter: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: + description: >- + A filter expression in [Supported Common Expression Language + (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) + that specifies which identities can authenticate using your + identity pool (see [Set identity pool + filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) + for more details). + maxLength: 300 + example: claims.aud=="confluent" && claims.group!="invalid_group" + principal: type: string - format: uri - example: 'https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}' - description: IdentityPool resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.IdentityPool' - - type: object - required: - - display_name - - description - - identity_claim - - filter - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url 'https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"display_name":"My Identity Pool","description":"Prod Access to Kafka clusters to Release Engineering","identity_claim":"claims.sub","filter":"claims.aud==\"confluent\" && claims.group!=\"invalid_group\""}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"identity_claim\":\"claims.sub\",\"filter\":\"claims.aud==\\\"confluent\\\" && claims.group!=\\\"invalid_group\\\"\"}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"My Identity Pool\\\",\\\"description\\\":\\\"Prod Access to Kafka clusters to Release Engineering\\\",\\\"identity_claim\\\":\\\"claims.sub\\\",\\\"filter\\\":\\\"claims.aud==\\\\\\\"confluent\\\\\\\" && claims.group!=\\\\\\\"invalid_group\\\\\\\"\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"identity_claim\":\"claims.sub\",\"filter\":\"claims.aud==\\\"confluent\\\" && claims.group!=\\\"invalid_group\\\"\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/iam/v2/identity-providers/{provider_id}/identity-pools", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/identity-providers/{provider_id}/identity-pools", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - display_name: 'My Identity Pool', - description: 'Prod Access to Kafka clusters to Release Engineering', - identity_claim: 'claims.sub', - filter: 'claims.aud=="confluent" && claims.group!="invalid_group"' - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"identity_claim\":\"claims.sub\",\"filter\":\"claims.aud==\\\"confluent\\\" && claims.group!=\\\"invalid_group\\\"\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"identity_claim\":\"claims.sub\",\"filter\":\"claims.aud==\\\"confluent\\\" && claims.group!=\\\"invalid_group\\\"\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/iam/v2/identity-providers/{provider_id}/identity-pools/{id}': - get: - operationId: getIamV2IdentityPool - summary: Read an Identity Pool - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + description: Represents the federated identity associated with this pool. + example: pool-abc + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity pool + example: ENABLED + readOnly: true + required: + - id + - metadata + - display_name + - description + - identity_claim + - filter + - principal + - state + uniqueItems: true + iam.v2.IdentityPool: + type: object + description: >- + `IdentityPool` objects represent groups of identities tied to a given a + `IdentityProvider` + + that authorizes them to Confluent Cloud resources. + + + It provides a mapping functionality of your `Identity Provider` user to + a Confluent identity pool that + + is then used to provide access to Confluent Resources. + + + + Related guide: [Use identity pools with your OAuth + provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + + + ## The Identity Pools Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_pools_per_provider` | Number of Identity Pools per Identity + Provider | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IdentityPool + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The name of the `IdentityPool`. + example: My Identity Pool + description: + type: string + description: A description of how this `IdentityPool` is used + example: Prod Access to Kafka clusters to Release Engineering + identity_claim: + type: string + description: >- + The JSON Web Token (JWT) claim to extract the authenticating + identity to Confluent resources from - Make a request to read an identity pool. - parameters: - - name: provider_id - in: path - required: true - schema: - type: string - description: The Provider - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the identity pool. - tags: - - Identity Pools (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Identity Pool. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.IdentityPool' - - type: object - required: - - api_version - - kind - - id - - display_name - - description - - identity_claim - - filter - - principal - - state - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/identity-providers/{provider_id}/identity-pools/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/identity-providers/{provider_id}/identity-pools/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateIamV2IdentityPool - summary: Update an Identity Pool - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + (see [Registered Claim + Names](https://datatracker.ietf.org/doc/html/rfc7519#section-4.1) + for more details). - Make a request to update an identity pool. + This appears in the audit log records, showing, for example, that + "identity Z used identity pool X to access - parameters: - - name: provider_id - in: path - required: true - schema: - type: string - description: The Provider - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the identity pool. - tags: - - Identity Pools (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/iam.v2.IdentityPool' - responses: - '200': - description: Identity Pool. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.IdentityPool' - - type: object - required: - - api_version - - kind - - id - - display_name - - description - - identity_claim - - filter - - principal - - state - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"display_name":"My Identity Pool","description":"Prod Access to Kafka clusters to Release Engineering","identity_claim":"claims.sub","filter":"claims.aud==\"confluent\" && claims.group!=\"invalid_group\""}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"identity_claim\":\"claims.sub\",\"filter\":\"claims.aud==\\\"confluent\\\" && claims.group!=\\\"invalid_group\\\"\"}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"My Identity Pool\\\",\\\"description\\\":\\\"Prod Access to Kafka clusters to Release Engineering\\\",\\\"identity_claim\\\":\\\"claims.sub\\\",\\\"filter\\\":\\\"claims.aud==\\\\\\\"confluent\\\\\\\" && claims.group!=\\\\\\\"invalid_group\\\\\\\"\\\"}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"identity_claim\":\"claims.sub\",\"filter\":\"claims.aud==\\\"confluent\\\" && claims.group!=\\\"invalid_group\\\"\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/iam/v2/identity-providers/{provider_id}/identity-pools/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/identity-providers/{provider_id}/identity-pools/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - display_name: 'My Identity Pool', - description: 'Prod Access to Kafka clusters to Release Engineering', - identity_claim: 'claims.sub', - filter: 'claims.aud=="confluent" && claims.group!="invalid_group"' - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"identity_claim\":\"claims.sub\",\"filter\":\"claims.aud==\\\"confluent\\\" && claims.group!=\\\"invalid_group\\\"\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"identity_claim\":\"claims.sub\",\"filter\":\"claims.aud==\\\"confluent\\\" && claims.group!=\\\"invalid_group\\\"\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteIamV2IdentityPool - summary: Delete an Identity Pool - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + topic A". + example: claims.sub + filter: + type: string + description: >- + A filter expression in [Supported Common Expression Language + (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#supported-common-expression-language-cel-filters) + that specifies which identities can authenticate using your identity + pool (see [Set identity pool + filters](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html#set-identity-pool-filters) + for more details). + maxLength: 300 + example: claims.aud=="confluent" && claims.group!="invalid_group" + principal: + type: string + description: Represents the federated identity associated with this pool. + example: pool-abc + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity pool + example: ENABLED + readOnly: true + iam.v2.sso.GroupMappingList: + type: object + description: >- + `GroupMapping` objects establish relationships between user groups in + your SSO - Make a request to delete an identity pool. - parameters: - - name: provider_id - in: path - required: true - schema: - type: string - description: The Provider - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the identity pool. - tags: - - Identity Pools (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: An Identity Pool is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/iam/v2/identity-providers/{provider_id}/identity-pools/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/identity-providers/{provider_id}/identity-pools/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/identity-providers/{provider_id}/identity-pools/{id}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /iam/v2/sso/group-mappings: - get: - operationId: listIamV2SsoGroupMappings - summary: List of Group Mappings - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + identity provider and specific RBAC roles in Confluent Cloud. + + + Group mappings enable automated and secure access control to Confluent + Cloud resources, + + reducing administrative workload by streamlining user provisioning and + authorization. + + + + Related guide: [Use group mappings with your SSO identity + provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + + ## The Group Mappings Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `group_mappings_per_org` | Number of group mappings per organization | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam.v2/sso + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - GroupMappingList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `GroupMapping` objects establish relationships between user groups + in your SSO - Retrieve a sorted, filtered, paginated list of all group mappings. - parameters: - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 255 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Group Mappings (iam/v2/sso) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Group Mapping. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.sso.GroupMappingList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://api.confluent.cloud/iam/v2/sso/group-mappings \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/sso/group-mappings") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/sso/group-mappings\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/sso/group-mappings", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/sso/group-mappings", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/sso/group-mappings"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/sso/group-mappings"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createIamV2SsoGroupMapping - summary: Create a Group Mapping - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + identity provider and specific RBAC roles in Confluent Cloud. - Make a request to create a group mapping. - tags: - - Group Mappings (iam/v2/sso) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.sso.GroupMapping' - - type: object - required: - - display_name - - description - - filter - responses: - '201': - description: A Group Mapping was created. - headers: - X-Request-Id: - schema: + + Group mappings enable automated and secure access control to + Confluent Cloud resources, + + reducing administrative workload by streamlining user provisioning + and authorization. + + + + Related guide: [Use group mappings with your SSO identity + provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + + ## The Group Mappings Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `group_mappings_per_org` | Number of group mappings per + organization | + properties: + api_version: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: + enum: + - iam.v2/sso + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: type: string - format: uri - example: 'https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}' - description: GroupMapping resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.sso.GroupMapping' - - type: object - required: - - display_name - - description - - filter - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/iam/v2/sso/group-mappings \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"display_name":"Application Developers","description":"Admin access to production environment for Engineering","filter":"\"kafka\" in groups && \"all\" in groups || \"everyone\" in groups"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"Application Developers\",\"description\":\"Admin access to production environment for Engineering\",\"filter\":\"\\\"kafka\\\" in groups && \\\"all\\\" in groups || \\\"everyone\\\" in groups\"}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/sso/group-mappings") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/sso/group-mappings\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"Application Developers\\\",\\\"description\\\":\\\"Admin access to production environment for Engineering\\\",\\\"filter\\\":\\\"\\\\\\\"kafka\\\\\\\" in groups && \\\\\\\"all\\\\\\\" in groups || \\\\\\\"everyone\\\\\\\" in groups\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"display_name\":\"Application Developers\",\"description\":\"Admin access to production environment for Engineering\",\"filter\":\"\\\"kafka\\\" in groups && \\\"all\\\" in groups || \\\"everyone\\\" in groups\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/iam/v2/sso/group-mappings", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/sso/group-mappings", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - display_name: 'Application Developers', - description: 'Admin access to production environment for Engineering', - filter: '"kafka" in groups && "all" in groups || "everyone" in groups' - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/sso/group-mappings"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"Application Developers\",\"description\":\"Admin access to production environment for Engineering\",\"filter\":\"\\\"kafka\\\" in groups && \\\"all\\\" in groups || \\\"everyone\\\" in groups\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/sso/group-mappings"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"display_name\":\"Application Developers\",\"description\":\"Admin access to production environment for Engineering\",\"filter\":\"\\\"kafka\\\" in groups && \\\"all\\\" in groups || \\\"everyone\\\" in groups\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/iam/v2/sso/group-mappings/{id}': - get: - operationId: getIamV2SsoGroupMapping - summary: Read a Group Mapping - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read a group mapping. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the group mapping. - tags: - - Group Mappings (iam/v2/sso) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Group Mapping. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.sso.GroupMapping' - - type: object - required: - - api_version - - kind - - id - - display_name - - description - - filter - - principal - - state - headers: - X-Request-Id: - schema: + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - GroupMapping + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/sso/group-mappings/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/sso/group-mappings/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateIamV2SsoGroupMapping - summary: Update a Group Mapping - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + display_name: + type: string + description: The name of the group mapping. + example: Application Developers + description: + type: string + description: >- + A description explaining the purpose and use of the group + mapping. + example: Admin access to production environment for Engineering + filter: + type: string + description: >- + A single group identifier or a condition based on [supported + CEL + operators](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html#supported-cel-operators-for-group-mapping) + that defines which groups are included. + maxLength: 300 + example: '"kafka" in groups && "all" in groups || "everyone" in groups' + principal: + type: string + description: >- + The unique federated identity associated with this group + mapping. + example: group-a1b2 + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the group mapping. + example: ENABLED + readOnly: true + required: + - id + - metadata + - display_name + - description + - filter + - principal + - state + uniqueItems: true + iam.v2.sso.GroupMapping: + type: object + description: >- + `GroupMapping` objects establish relationships between user groups in + your SSO + + identity provider and specific RBAC roles in Confluent Cloud. + + + Group mappings enable automated and secure access control to Confluent + Cloud resources, + + reducing administrative workload by streamlining user provisioning and + authorization. + + + + Related guide: [Use group mappings with your SSO identity + provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + + + ## The Group Mappings Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `group_mappings_per_org` | Number of group mappings per organization | + properties: + api_version: + type: string + enum: + - iam.v2/sso + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - GroupMapping + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The name of the group mapping. + example: Application Developers + description: + type: string + description: A description explaining the purpose and use of the group mapping. + example: Admin access to production environment for Engineering + filter: + type: string + description: >- + A single group identifier or a condition based on [supported CEL + operators](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html#supported-cel-operators-for-group-mapping) + that defines which groups are included. + maxLength: 300 + example: '"kafka" in groups && "all" in groups || "everyone" in groups' + principal: + type: string + description: The unique federated identity associated with this group mapping. + example: group-a1b2 + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the group mapping. + example: ENABLED + readOnly: true + iam.v2.CertificateAuthorityList: + type: object + description: > + `CertificateAuthority` objects represent signing certificate authorities + in Confluent Cloud. - Make a request to update a group mapping. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the group mapping. - tags: - - Group Mappings (iam/v2/sso) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/iam.v2.sso.GroupMapping' - responses: - '200': - description: Group Mapping. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.sso.GroupMapping' - - type: object - required: - - api_version - - kind - - id - - display_name - - description - - filter - - principal - - state - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"display_name":"Application Developers","description":"Admin access to production environment for Engineering","filter":"\"kafka\" in groups && \"all\" in groups || \"everyone\" in groups"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"Application Developers\",\"description\":\"Admin access to production environment for Engineering\",\"filter\":\"\\\"kafka\\\" in groups && \\\"all\\\" in groups || \\\"everyone\\\" in groups\"}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"Application Developers\\\",\\\"description\\\":\\\"Admin access to production environment for Engineering\\\",\\\"filter\\\":\\\"\\\\\\\"kafka\\\\\\\" in groups && \\\\\\\"all\\\\\\\" in groups || \\\\\\\"everyone\\\\\\\" in groups\\\"}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"display_name\":\"Application Developers\",\"description\":\"Admin access to production environment for Engineering\",\"filter\":\"\\\"kafka\\\" in groups && \\\"all\\\" in groups || \\\"everyone\\\" in groups\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/iam/v2/sso/group-mappings/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/sso/group-mappings/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - display_name: 'Application Developers', - description: 'Admin access to production environment for Engineering', - filter: '"kafka" in groups && "all" in groups || "everyone" in groups' - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"Application Developers\",\"description\":\"Admin access to production environment for Engineering\",\"filter\":\"\\\"kafka\\\" in groups && \\\"all\\\" in groups || \\\"everyone\\\" in groups\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"display_name\":\"Application Developers\",\"description\":\"Admin access to production environment for Engineering\",\"filter\":\"\\\"kafka\\\" in groups && \\\"all\\\" in groups || \\\"everyone\\\" in groups\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteIamV2SsoGroupMapping - summary: Delete a Group Mapping - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to list, create, read, update, and delete your + Certificate Authority. + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CertificateAuthorityList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: > + `CertificateAuthority` objects represent signing certificate + authorities in Confluent Cloud. - Make a request to delete a group mapping. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the group mapping. - tags: - - Group Mappings (iam/v2/sso) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A Group Mapping is being deleted. - headers: - X-Request-Id: - schema: + + The API allows you to list, create, read, update, and delete your + Certificate Authority. + properties: + api_version: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/iam/v2/sso/group-mappings/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/sso/group-mappings/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/sso/group-mappings/{id}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /iam/v2/certificate-authorities: - get: - operationId: listIamV2CertificateAuthorities - summary: List of Certificate Authorities - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CertificateAuthority + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + display_name: + type: string + description: The human-readable name of the certificate authority. + example: My Certificate Authority + description: + type: string + description: A description of the certificate authority. + example: Sample description text + fingerprints: + type: array + items: + type: string + description: >- + The fingerprints for each certificate in the certificate + chain. These are SHA-1 encoded + + strings that act as unique identifiers for the certificates in + the chain. + example: + - B1BC968BD4f49D622AA89A81F2150152A41D829C + readOnly: true + expiration_dates: + type: array + items: + type: string + format: date-time + description: The expiration dates of certificates in the chain. + example: + - '2017-07-21T17:32:28.000Z' + readOnly: true + serial_numbers: + type: array + items: + type: string + description: >- + The serial numbers for each certificate in the certificate + chain. + example: + - 219C542DE8f6EC7177FA4EE8C3705797 + readOnly: true + certificate_chain_filename: + type: string + description: >- + The file name of the uploaded pem file for this certificate + authority. + example: certificate.pem + readOnly: true + crl_source: + type: string + description: >- + The source specifies whether the Certificate Revocation List + (CRL) is updated from - Retrieve a sorted, filtered, paginated list of all certificate authorities. - parameters: - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 255 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Certificate Authorities (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Certificate Authority. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.CertificateAuthorityList' - headers: - X-Request-Id: - schema: + either local file uploaded (LOCAL) or from url of CRL (URL). + x-extensible-enum: + - LOCAL + - URL + example: LOCAL + readOnly: true + crl_url: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://api.confluent.cloud/iam/v2/certificate-authorities \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/certificate-authorities") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/certificate-authorities\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/certificate-authorities", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/certificate-authorities", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/certificate-authorities"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/certificate-authorities"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/iam.v2.CreateCertRequest' - operationId: createIamV2CertificateAuthority - summary: Create a Certificate Authority - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + format: uri + description: >- + The url from which to fetch the CRL for the certificate + authority if crl_source is URL. + readOnly: true + crl_updated_at: + type: string + format: date-time + description: The timestamp for when CRL was last updated. + example: '2017-07-21T17:32:28.000Z' + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the certificate authority. + example: ENABLED + readOnly: true + required: + - id + - metadata + - display_name + - description + - fingerprints + - expiration_dates + - serial_numbers + - certificate_chain_filename + - state + uniqueItems: true + iam.v2.CreateCertRequest: + type: object + description: This contains the json schema used to create a Certificate Authority + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CreateCertRequest + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The human-readable name of the certificate authority. + example: My Certificate Authority + description: + type: string + description: A description of the certificate authority. + example: Sample description text + certificate_chain: + type: string + description: |- + The PEM encoded string containing the signing certificate chain + used to validate client certs. + example: >- + -----BEGIN CERTIFICATE----- - Make a request to create a certificate authority. - tags: - - Certificate Authorities (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '201': - description: A Certificate Authority was created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/iam/v2/certificate-authorities/{id}' - description: CertificateAuthority resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.CertificateAuthority' - - type: object - required: - - display_name - - description - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/iam/v2/certificate-authorities \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"display_name":"My Certificate Authority","description":"Sample description text","certificate_chain":"-----BEGIN CERTIFICATE----- MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx + GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds + b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV + BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD + VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa + DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc + THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb + Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP + c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX + gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV + HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF + AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj + Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG + j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH + hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC + X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== - -----END CERTIFICATE-----","certificate_chain_filename":"certificate.pem","crl_url":"http://example.com","crl_chain":"-----BEGIN X509 CRL----- + + -----END CERTIFICATE----- + certificate_chain_filename: + type: string + description: The name of the certificate file. + example: certificate.pem + crl_url: + type: string + format: uri + description: >- + The url from which to fetch the CRL for the certificate authority if + crl_source is URL. + crl_chain: + type: string + description: >- + The PEM encoded string containing the CRL for this certificate + authority. + + Defaults to this over `crl_url` if available. + example: |- + -----BEGIN X509 CRL----- MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1 ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0 @@ -13208,154 +20234,324 @@ paths: gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6 cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg= - -----END X509 CRL-----"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"My Certificate Authority\",\"description\":\"Sample description text\",\"certificate_chain\":\"-----BEGIN CERTIFICATE-----\ - MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx\ - GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds\ - b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV\ - BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD\ - VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa\ - DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc\ - THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb\ - Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP\ - c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX\ - gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\ - HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF\ - AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj\ - Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG\ - j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH\ - hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC\ - X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\ - -----END CERTIFICATE-----\",\"certificate_chain_filename\":\"certificate.pem\",\"crl_url\":\"http://example.com\",\"crl_chain\":\"-----BEGIN X509 CRL-----\ - MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD\ - VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1\ - ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0\ - eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt\ - MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl\ - AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U\ - BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX\ - CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4\ - xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl\ - gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE\ - jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6\ - cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg=\ - -----END X509 CRL-----\"}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/certificate-authorities") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/certificate-authorities\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"My Certificate Authority\\\",\\\"description\\\":\\\"Sample description text\\\",\\\"certificate_chain\\\":\\\"-----BEGIN CERTIFICATE-----\\\nMIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx\\\nGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds\\\nb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV\\\nBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD\\\nVQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa\\\nDuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc\\\nTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb\\\nKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP\\\nc1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX\\\ngzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\\\nHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF\\\nAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj\\\nY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG\\\nj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH\\\nhm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC\\\nX4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\\\n-----END CERTIFICATE-----\\\",\\\"certificate_chain_filename\\\":\\\"certificate.pem\\\",\\\"crl_url\\\":\\\"http://example.com\\\",\\\"crl_chain\\\":\\\"-----BEGIN X509 CRL-----\\\nMIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD\\\nVQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1\\\nZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0\\\neS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt\\\nMS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl\\\nAhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U\\\nBAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX\\\nCKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4\\\nxqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl\\\ngIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE\\\njatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6\\\ncGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg=\\\n-----END X509 CRL-----\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"display_name\":\"My Certificate Authority\",\"description\":\"Sample description text\",\"certificate_chain\":\"-----BEGIN CERTIFICATE-----\ - MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx\ - GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds\ - b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV\ - BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD\ - VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa\ - DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc\ - THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb\ - Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP\ - c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX\ - gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\ - HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF\ - AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj\ - Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG\ - j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH\ - hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC\ - X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\ - -----END CERTIFICATE-----\",\"certificate_chain_filename\":\"certificate.pem\",\"crl_url\":\"http://example.com\",\"crl_chain\":\"-----BEGIN X509 CRL-----\ - MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD\ - VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1\ - ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0\ - eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt\ - MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl\ - AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U\ - BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX\ - CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4\ - xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl\ - gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE\ - jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6\ - cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg=\ - -----END X509 CRL-----\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/iam/v2/certificate-authorities", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/certificate-authorities", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - display_name: 'My Certificate Authority', - description: 'Sample description text', - certificate_chain: '-----BEGIN CERTIFICATE----- + -----END X509 CRL----- + iam.v2.CertificateAuthority: + type: object + description: > + `CertificateAuthority` objects represent signing certificate authorities + in Confluent Cloud. + + + The API allows you to list, create, read, update, and delete your + Certificate Authority. + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CertificateAuthority + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The human-readable name of the certificate authority. + example: My Certificate Authority + description: + type: string + description: A description of the certificate authority. + example: Sample description text + fingerprints: + type: array + items: + type: string + description: >- + The fingerprints for each certificate in the certificate chain. + These are SHA-1 encoded + + strings that act as unique identifiers for the certificates in the + chain. + example: + - B1BC968BD4f49D622AA89A81F2150152A41D829C + readOnly: true + expiration_dates: + type: array + items: + type: string + format: date-time + description: The expiration dates of certificates in the chain. + example: + - '2017-07-21T17:32:28.000Z' + readOnly: true + serial_numbers: + type: array + items: + type: string + description: The serial numbers for each certificate in the certificate chain. + example: + - 219C542DE8f6EC7177FA4EE8C3705797 + readOnly: true + certificate_chain_filename: + type: string + description: >- + The file name of the uploaded pem file for this certificate + authority. + example: certificate.pem + readOnly: true + crl_source: + type: string + description: >- + The source specifies whether the Certificate Revocation List (CRL) + is updated from + + either local file uploaded (LOCAL) or from url of CRL (URL). + x-extensible-enum: + - LOCAL + - URL + example: LOCAL + readOnly: true + crl_url: + type: string + format: uri + description: >- + The url from which to fetch the CRL for the certificate authority if + crl_source is URL. + readOnly: true + crl_updated_at: + type: string + format: date-time + description: The timestamp for when CRL was last updated. + example: '2017-07-21T17:32:28.000Z' + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the certificate authority. + example: ENABLED + readOnly: true + iam.v2.UpdateCertRequest: + type: object + description: This contains the form fields used to update a Certificate Authority + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - UpdateCertRequest + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The human-readable name of the certificate authority. + example: My Certificate Authority + description: + type: string + description: A description of the certificate authority. + example: Sample description text + certificate_chain: + type: string + description: |- + The PEM encoded string containing the signing certificate chain + used to validate client certs. + example: >- + -----BEGIN CERTIFICATE----- + MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx + GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds + b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV + BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD + VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa + DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc + THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb + Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP + c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX + gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV + HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF + AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj + Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG + j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH + hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC + X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== - -----END CERTIFICATE-----', - certificate_chain_filename: 'certificate.pem', - crl_url: 'http://example.com', - crl_chain: '-----BEGIN X509 CRL----- + + -----END CERTIFICATE----- + certificate_chain_filename: + type: string + description: >- + The name of the certificate file. Must be set if certificate is + updated. + example: certificate.pem + crl_url: + type: string + format: uri + description: >- + The url from which to fetch the CRL for the certificate authority if + crl_source is URL. + crl_chain: + type: string + description: >- + The PEM encoded string containing the CRL for this certificate + authority. + + Defaults to this over `crl_url` if available. + example: |- + -----BEGIN X509 CRL----- MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1 ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0 @@ -13368,1597 +20564,2127 @@ paths: gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6 cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg= - -----END X509 CRL-----' - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/certificate-authorities"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"My Certificate Authority\",\"description\":\"Sample description text\",\"certificate_chain\":\"-----BEGIN CERTIFICATE-----\ - MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx\ - GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds\ - b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV\ - BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD\ - VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa\ - DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc\ - THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb\ - Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP\ - c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX\ - gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\ - HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF\ - AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj\ - Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG\ - j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH\ - hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC\ - X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\ - -----END CERTIFICATE-----\",\"certificate_chain_filename\":\"certificate.pem\",\"crl_url\":\"http://example.com\",\"crl_chain\":\"-----BEGIN X509 CRL-----\ - MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD\ - VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1\ - ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0\ - eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt\ - MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl\ - AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U\ - BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX\ - CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4\ - xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl\ - gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE\ - jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6\ - cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg=\ - -----END X509 CRL-----\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/certificate-authorities"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"display_name\":\"My Certificate Authority\",\"description\":\"Sample description text\",\"certificate_chain\":\"-----BEGIN CERTIFICATE-----\ - MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx\ - GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds\ - b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV\ - BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD\ - VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa\ - DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc\ - THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb\ - Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP\ - c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX\ - gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\ - HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF\ - AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj\ - Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG\ - j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH\ - hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC\ - X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\ - -----END CERTIFICATE-----\",\"certificate_chain_filename\":\"certificate.pem\",\"crl_url\":\"http://example.com\",\"crl_chain\":\"-----BEGIN X509 CRL-----\ - MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD\ - VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1\ - ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0\ - eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt\ - MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl\ - AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U\ - BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX\ - CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4\ - xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl\ - gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE\ - jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6\ - cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg=\ - -----END X509 CRL-----\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/iam/v2/certificate-authorities/{id}': - get: - operationId: getIamV2CertificateAuthority - summary: Read a Certificate Authority - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + -----END X509 CRL----- + iam.v2.CertificateIdentityPoolList: + type: object + description: >- + `Identitypool` objects represent workload identities in Confluent Cloud. + + + The API allows you to list, create, read, update, and delete your + identity pools associated + + with Certificate Authorities + + + + Related guide: [Manage Certificate Identity Pools for Granular Client + Access + Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + + ## The Certificate Identity Pools Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_pools_per_certificate_authority` | Number of Identity Pools + per Certificate Authority | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CertificateIdentityPoolList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `Identitypool` objects represent workload identities in Confluent + Cloud. + + + The API allows you to list, create, read, update, and delete your + identity pools associated + + with Certificate Authorities + + + + Related guide: [Manage Certificate Identity Pools for Granular + Client Access + Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + + ## The Certificate Identity Pools Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_pools_per_certificate_authority` | Number of Identity + Pools per Certificate Authority | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CertificateIdentityPool + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + display_name: + type: string + description: The name of the `IdentityPool`. + example: My Identity Pool + description: + type: string + description: A description of how this `IdentityPool` is used + example: Prod Access to Kafka clusters to Release Engineering + external_identifier: + type: string + description: |- + The certificate field that will be used to represent the + pool's external identifier for audit logging. + example: UID + filter: + type: string + description: >- + A filter expression in [Supported Common Expression Language + (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/cel-filters.html) + that specifies which identities can authenticate using your + certificate identity pool (see [CEL filter for + mTLS](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/cel-filters.html) + for more details). + maxLength: 300 + example: C=='Canada' && O=='Confluent' + principal: + type: string + description: Represents the federated identity associated with this pool. + example: pool-abc + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity pool + example: ENABLED + readOnly: true + required: + - id + - metadata + - display_name + - description + - external_identifier + - filter + - principal + - state + uniqueItems: true + iam.v2.CertificateIdentityPool: + type: object + description: >- + `Identitypool` objects represent workload identities in Confluent Cloud. + + + The API allows you to list, create, read, update, and delete your + identity pools associated + + with Certificate Authorities + + + + Related guide: [Manage Certificate Identity Pools for Granular Client + Access + Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + + + ## The Certificate Identity Pools Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `identity_pools_per_certificate_authority` | Number of Identity Pools + per Certificate Authority | + properties: + api_version: + type: string + enum: + - iam/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CertificateIdentityPool + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + display_name: + type: string + description: The name of the `IdentityPool`. + example: My Identity Pool + description: + type: string + description: A description of how this `IdentityPool` is used + example: Prod Access to Kafka clusters to Release Engineering + external_identifier: + type: string + description: |- + The certificate field that will be used to represent the + pool's external identifier for audit logging. + example: UID + filter: + type: string + description: >- + A filter expression in [Supported Common Expression Language + (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/cel-filters.html) + that specifies which identities can authenticate using your + certificate identity pool (see [CEL filter for + mTLS](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/cel-filters.html) + for more details). + maxLength: 300 + example: C=='Canada' && O=='Confluent' + principal: + type: string + description: Represents the federated identity associated with this pool. + example: pool-abc + readOnly: true + state: + type: string + x-extensible-enum: + - ENABLED + description: The current state of the identity pool + example: ENABLED + readOnly: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not contain + a first link, then direct navigation to the first page is not + supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not contain a + last link, then direct navigation to the last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not contain a + next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + Failure: + type: object + description: >- + Provides information about problems encountered while performing an + operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + ObjectMeta: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. It + is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + iam.v2.ApiKeySpec: + type: object + description: The desired state of the Api Key + properties: + secret: + type: string + example: R15hoiDIq8Nxu/lY4mPO3DwAVIfU5W7OI+efsB607mLgHTnVW5XJGVqX2ysDx987 + description: >- + The API key secret. Only provided in `create` responses, not in + `get` or `list`. + x-redact: true + x-immutable: true + readOnly: true + display_name: + type: string + example: CI kafka access key + description: A human readable name for the API key + description: + type: string + example: This API key provides kafka access to cluster x + description: A human readable description for the API key + owner: + description: >- + The owner to which this belongs. The owner can be one of + iam.v2.User, iam.v2.ServiceAccount. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + resource: + nullable: true + description: > + The resource associated with this object. The resource can be one of + Kafka Cluster ID (example: lkc-12345), - Make a request to read a certificate authority. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the certificate authority. - tags: - - Certificate Authorities (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Certificate Authority. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.CertificateAuthority' - - type: object - required: - - api_version - - kind - - id - - display_name - - description - - fingerprints - - expiration_dates - - serial_numbers - - certificate_chain_filename - - state - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/iam/v2/certificate-authorities/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/certificate-authorities/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/certificate-authorities/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/certificate-authorities/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/certificate-authorities/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/certificate-authorities/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/certificate-authorities/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - put: - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/iam.v2.UpdateCertRequest' - operationId: updateIamV2CertificateAuthority - summary: Update a Certificate Authority - description: |+ - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Schema Registry Cluster ID (example: lsrc-12345), ksqlDB Cluster ID + (example: lksqlc-12345), or Flink - Make a request to update a certificate authority. + (Environment + Region pair, example: env-abc123.aws.us-east-2). - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the certificate authority. - tags: - - Certificate Authorities (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Certificate Authority. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.CertificateAuthority' - - type: object - required: - - api_version - - kind - - id - - display_name - - description - - fingerprints - - expiration_dates - - serial_numbers - - certificate_chain_filename - - state - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url 'https://api.confluent.cloud/iam/v2/certificate-authorities/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"display_name":"My Certificate Authority","description":"Sample description text","certificate_chain":"-----BEGIN CERTIFICATE----- - MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx - GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds - b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV - BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD - VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa - DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc - THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb - Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP - c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX - gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV - HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF - AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj - Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG - j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH - hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC - X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== - -----END CERTIFICATE-----","certificate_chain_filename":"certificate.pem","crl_url":"http://example.com","crl_chain":"-----BEGIN X509 CRL----- - MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD - VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1 - ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0 - eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt - MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl - AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U - BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX - CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4 - xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl - gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE - jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6 - cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg= - -----END X509 CRL-----"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"My Certificate Authority\",\"description\":\"Sample description text\",\"certificate_chain\":\"-----BEGIN CERTIFICATE-----\ - MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx\ - GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds\ - b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV\ - BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD\ - VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa\ - DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc\ - THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb\ - Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP\ - c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX\ - gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\ - HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF\ - AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj\ - Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG\ - j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH\ - hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC\ - X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\ - -----END CERTIFICATE-----\",\"certificate_chain_filename\":\"certificate.pem\",\"crl_url\":\"http://example.com\",\"crl_chain\":\"-----BEGIN X509 CRL-----\ - MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD\ - VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1\ - ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0\ - eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt\ - MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl\ - AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U\ - BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX\ - CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4\ - xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl\ - gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE\ - jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6\ - cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg=\ - -----END X509 CRL-----\"}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/certificate-authorities/{id}") - .put(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/certificate-authorities/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"My Certificate Authority\\\",\\\"description\\\":\\\"Sample description text\\\",\\\"certificate_chain\\\":\\\"-----BEGIN CERTIFICATE-----\\\nMIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx\\\nGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds\\\nb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV\\\nBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD\\\nVQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa\\\nDuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc\\\nTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb\\\nKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP\\\nc1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX\\\ngzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\\\nHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF\\\nAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj\\\nY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG\\\nj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH\\\nhm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC\\\nX4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\\\n-----END CERTIFICATE-----\\\",\\\"certificate_chain_filename\\\":\\\"certificate.pem\\\",\\\"crl_url\\\":\\\"http://example.com\\\",\\\"crl_chain\\\":\\\"-----BEGIN X509 CRL-----\\\nMIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD\\\nVQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1\\\nZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0\\\neS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt\\\nMS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl\\\nAhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U\\\nBAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX\\\nCKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4\\\nxqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl\\\ngIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE\\\njatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6\\\ncGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg=\\\n-----END X509 CRL-----\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"display_name\":\"My Certificate Authority\",\"description\":\"Sample description text\",\"certificate_chain\":\"-----BEGIN CERTIFICATE-----\ - MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx\ - GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds\ - b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV\ - BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD\ - VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa\ - DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc\ - THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb\ - Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP\ - c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX\ - gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\ - HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF\ - AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj\ - Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG\ - j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH\ - hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC\ - X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\ - -----END CERTIFICATE-----\",\"certificate_chain_filename\":\"certificate.pem\",\"crl_url\":\"http://example.com\",\"crl_chain\":\"-----BEGIN X509 CRL-----\ - MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD\ - VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1\ - ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0\ - eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt\ - MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl\ - AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U\ - BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX\ - CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4\ - xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl\ - gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE\ - jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6\ - cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg=\ - -----END X509 CRL-----\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PUT", "/iam/v2/certificate-authorities/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/certificate-authorities/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - display_name: 'My Certificate Authority', - description: 'Sample description text', - certificate_chain: '-----BEGIN CERTIFICATE----- - MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx - GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds - b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV - BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD - VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa - DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc - THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb - Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP - c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX - gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV - HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF - AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj - Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG - j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH - hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC - X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== - -----END CERTIFICATE-----', - certificate_chain_filename: 'certificate.pem', - crl_url: 'http://example.com', - crl_chain: '-----BEGIN X509 CRL----- - MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD - VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1 - ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0 - eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt - MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl - AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U - BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX - CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4 - xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl - gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE - jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6 - cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg= - -----END X509 CRL-----' - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/certificate-authorities/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"My Certificate Authority\",\"description\":\"Sample description text\",\"certificate_chain\":\"-----BEGIN CERTIFICATE-----\ - MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx\ - GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds\ - b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV\ - BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD\ - VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa\ - DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc\ - THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb\ - Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP\ - c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX\ - gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\ - HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF\ - AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj\ - Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG\ - j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH\ - hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC\ - X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\ - -----END CERTIFICATE-----\",\"certificate_chain_filename\":\"certificate.pem\",\"crl_url\":\"http://example.com\",\"crl_chain\":\"-----BEGIN X509 CRL-----\ - MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD\ - VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1\ - ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0\ - eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt\ - MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl\ - AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U\ - BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX\ - CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4\ - xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl\ - gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE\ - jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6\ - cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg=\ - -----END X509 CRL-----\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/certificate-authorities/{id}"); - var request = new RestRequest(Method.PUT); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"display_name\":\"My Certificate Authority\",\"description\":\"Sample description text\",\"certificate_chain\":\"-----BEGIN CERTIFICATE-----\ - MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx\ - GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds\ - b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV\ - BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD\ - VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa\ - DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc\ - THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb\ - Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP\ - c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX\ - gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\ - HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF\ - AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj\ - Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG\ - j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH\ - hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC\ - X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\ - -----END CERTIFICATE-----\",\"certificate_chain_filename\":\"certificate.pem\",\"crl_url\":\"http://example.com\",\"crl_chain\":\"-----BEGIN X509 CRL-----\ - MIICNTCCAR0CAQEwDQYJKoZIhvcNAQELBQAwgbExCzAJBgNVBAYTAlVTMQswCQYD\ - VQQIDAJDQTEWMBQGA1UEBwwNTW91bnRhaW4gVmlldzESMBAGA1UECgwJQ29uZmx1\ - ZW50MRMwEQYDVQQLDApzZWN1cml0eS0xMSYwJAYDVQQDDB1tdGxzMS5zZWN1cml0\ - eS0xLmNvbmZsdWVudC5pbzEsMCoGCSqGSIb3DQEJARYdbXRsczFAc2VjdXJpdHkt\ - MS5jb25mbHVlbnQuaW8XDTI0MDgyNTE3NTYyNloXDTI0MTEyMzE3NTYyNlowJzAl\ - AhQERu3UxH2q3eUglbdeQY8y0vT7rRcNMjQwODI1MTc1NTE2WqAOMAwwCgYDVR0U\ - BAMCAQEwDQYJKoZIhvcNAQELBQADggEBAGvmflwxVAnqZbRx8njb2t6yXqeIOBaX\ - CKhMq5CUWrWhMX/JrV5NhVfzeB2tgCCfM4J7gbKSArOKqjYpQBFL+r5eCjPBBcG4\ - xqh1J60l5DDsiUcXQM5FtlWTBBZFxvvvWsLP4qA/0meYRY69YQNqgEQgQ65l0Ehl\ - gIUx8WkEo82A8MDY/t91PaFHufnffPKu4CxFtcpGwuvA2n9mpxB2TsSTiV8THsfE\ - jatuFwYgumI6t5wIWb71j/1oqQDYtbgpgUvX9gD+g7HlCC4u6Dynd0q8lsimrbf6\ - cGf5Vs3JfMcr1kYNruT7kg4f4hc3p4CcuWtxYmHOcWNyZbi+W9Fdakg=\ - -----END X509 CRL-----\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteIamV2CertificateAuthority - summary: Delete a Certificate Authority - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + May be null or omitted if not associated with a resource. For + creating Cloud API key, resource should be `CLOUD`, - Make a request to delete a certificate authority. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the certificate authority. - tags: - - Certificate Authorities (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: A Certificate Authority is being deleted. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.CertificateAuthority' - - type: object - required: - - api_version - - kind - - id - - display_name - - description - - fingerprints - - expiration_dates - - serial_numbers - - certificate_chain_filename - - state - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/iam/v2/certificate-authorities/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/certificate-authorities/{id}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/certificate-authorities/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/iam/v2/certificate-authorities/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/certificate-authorities/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/certificate-authorities/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/certificate-authorities/{id}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools': - get: - operationId: listIamV2CertificateIdentityPools - summary: List of Certificate Identity Pools - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + for creating Tableflow API key, resource should be `TABLEFLOW`. The + resource id is case-insensitive. - Retrieve a sorted, filtered, paginated list of all certificate identity pools. - parameters: - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 255 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false + [Learn more in + Authentication](https://docs.confluent.io/cloud/current/api.html#section/Authentication). + + + Note - Flink is in the [Preview lifecycle + stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + GlobalObjectReference: + type: object + description: >- + ObjectReference provides information for you to locate the referred + object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + iam.v2.JwksObject: + type: object + description: '`JWKS` contains the published keys for the given OpenIDProvider' + required: + - kty + - kid + - alg + properties: + kty: + type: string + x-extensible-enum: + - RSA + description: Specifies the cryptographic algorithm family used with the key + example: RSA + kid: + type: string + description: >- + Specifies the key-id issued by the OpenIDProvider for the particular + tenant + example: nOo3ZDrODXEK1jKWhXslHR_KXEg + alg: + type: string + description: Specifies the algorithm to be used to generate the public key + example: RS256 + use: + type: string + description: Specifies the intended usage of the key + example: sig + 'n': + type: string + description: >- + Specifies the modulus of the RSA public key. Represented as a + Base64urlUInt-encoded value + e: + type: string + description: Specifies the exponent of the RSA public key. + example: AQAB + iam.v2.JwksSpec: + type: object + description: The desired state of the Jwks + properties: + jwks_status: + type: string + x-extensible-enum: + - REFRESHED + description: The desired state of the public key data + example: REFRESHED + x-enable-id: false + x-enable-listmeta: true + x-enable-objectmeta: false + iam.v2.JwksStatus: + description: The status of the Jwks + type: object + properties: + jwks_status: + type: string + x-extensible-enum: + - REFRESHED + - OK + - INVALID_JWKS_URI + - ERROR_FETCHING_JWKS + description: The actual state of the public key data + example: REFRESHED + jwks_last_refresh_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + description: The last successful refresh time for the public key data + readOnly: true + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. + type: string + code: + description: An application-specific error code, expressed as a string value. + type: string + title: + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. + type: string + detail: + description: >- + A human-readable explanation specific to this occurrence of the + problem. + type: string + source: + type: object + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. + properties: + pointer: + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + TypedGlobalObjectReference: + type: object + description: >- + ObjectReference provides information for you to locate the referred + object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + TypedEnvScopedObjectReference: + type: object + description: >- + ObjectReference provides information for you to locate the referred + object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: schema: type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - - name: certificate_authority_id - in: path - required: true + description: The unique identifier for the API request. + content: + application/json: schema: - type: string - description: The Certificate Authority - tags: - - Certificate Identity Pools (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Certificate Identity Pool. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.CertificateIdentityPoolList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createIamV2CertificateIdentityPool - summary: Create a Certificate Identity Pool - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to create a certificate identity pool. - parameters: - - name: certificate_authority_id - in: path - required: true + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: schema: type: string - description: The Certificate Authority - tags: - - Certificate Identity Pools (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.CertificateIdentityPool' - - type: object - required: - - display_name - - description - - external_identifier - - filter - responses: - '201': - description: A Certificate Identity Pool was created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}' - description: CertificateIdentityPool resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.CertificateIdentityPool' - - type: object - required: - - display_name - - description - - external_identifier - - filter - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url 'https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"display_name":"My Identity Pool","description":"Prod Access to Kafka clusters to Release Engineering","external_identifier":"UID","filter":"C=='\''Canada'\'' && O=='\''Confluent'\''"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"external_identifier\":\"UID\",\"filter\":\"C=='Canada' && O=='Confluent'\"}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"My Identity Pool\\\",\\\"description\\\":\\\"Prod Access to Kafka clusters to Release Engineering\\\",\\\"external_identifier\\\":\\\"UID\\\",\\\"filter\\\":\\\"C=='Canada' && O=='Confluent'\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"external_identifier\":\"UID\",\"filter\":\"C=='Canada' && O=='Confluent'\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - display_name: 'My Identity Pool', - description: 'Prod Access to Kafka clusters to Release Engineering', - external_identifier: 'UID', - filter: 'C==\'Canada\' && O==\'Confluent\'' - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"external_identifier\":\"UID\",\"filter\":\"C=='Canada' && O=='Confluent'\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"external_identifier\":\"UID\",\"filter\":\"C=='Canada' && O=='Confluent'\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}': - get: - operationId: getIamV2CertificateIdentityPool - summary: Read a Certificate Identity Pool - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read a certificate identity pool. - parameters: - - name: certificate_authority_id - in: path - required: true + description: The unique identifier for the API request. + WWW-Authenticate: schema: type: string - description: The Certificate Authority - - name: id - in: path - required: true + description: The unique identifier for the API request. + example: >- + Basic error="invalid_key", error_description="The API Key is + invalid" + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: schema: type: string - description: The unique identifier for the certificate identity pool. - tags: - - Certificate Identity Pools (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Certificate Identity Pool. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.CertificateIdentityPool' - - type: object - required: - - api_version - - kind - - id - - display_name - - description - - external_identifier - - filter - - principal - - state - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - put: - operationId: updateIamV2CertificateIdentityPool - summary: Update a Certificate Identity Pool - description: |+ - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to update a certificate identity pool. - - parameters: - - name: certificate_authority_id - in: path - required: true + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: >- + The user 'mcfly' is not allowed to access the 'delorean' + resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: schema: type: string - description: The Certificate Authority - - name: id - in: path - required: true + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. + Retry-After: + schema: + type: integer + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. + DefaultSystemError: + description: Oops, something went wrong! + headers: + X-Request-Id: schema: type: string - description: The unique identifier for the certificate identity pool. - tags: - - Certificate Identity Pools (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/iam.v2.CertificateIdentityPool' - responses: - '200': - description: Certificate Identity Pool. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.CertificateIdentityPool' - - type: object - required: - - api_version - - kind - - id - - display_name - - description - - external_identifier - - filter - - principal - - state - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url 'https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"display_name":"My Identity Pool","description":"Prod Access to Kafka clusters to Release Engineering","external_identifier":"UID","filter":"C=='\''Canada'\'' && O=='\''Confluent'\''"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"external_identifier\":\"UID\",\"filter\":\"C=='Canada' && O=='Confluent'\"}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}") - .put(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"My Identity Pool\\\",\\\"description\\\":\\\"Prod Access to Kafka clusters to Release Engineering\\\",\\\"external_identifier\\\":\\\"UID\\\",\\\"filter\\\":\\\"C=='Canada' && O=='Confluent'\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"external_identifier\":\"UID\",\"filter\":\"C=='Canada' && O=='Confluent'\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PUT", "/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - display_name: 'My Identity Pool', - description: 'Prod Access to Kafka clusters to Release Engineering', - external_identifier: 'UID', - filter: 'C==\'Canada\' && O==\'Confluent\'' - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"external_identifier\":\"UID\",\"filter\":\"C=='Canada' && O=='Confluent'\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}"); - var request = new RestRequest(Method.PUT); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"display_name\":\"My Identity Pool\",\"description\":\"Prod Access to Kafka clusters to Release Engineering\",\"external_identifier\":\"UID\",\"filter\":\"C=='Canada' && O=='Confluent'\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteIamV2CertificateIdentityPool - summary: Delete a Certificate Identity Pool - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to delete a certificate identity pool. - parameters: - - name: certificate_authority_id - in: path - required: true + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap + OverQuotaError: + x-summary: Over Quota + description: The request would exceed one or more quotas. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '402' + code: quota_exceeded + title: Kafka Clusters Per Org Quota Exceeded + detail: >- + The request would exceed the quota: + kafka_clusters_per_environment + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/{object}/{id} + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: >- + The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already + exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + NotFoundError: + description: Not Found + headers: + X-Request-Id: schema: type: string - description: The Certificate Authority - - name: id - in: path - required: true + description: The unique identifier for the API request. + content: + application/json: schema: - type: string - description: The unique identifier for the certificate identity pool. - tags: - - Certificate Identity Pools (iam/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: A Certificate Identity Pool is being deleted. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/iam.v2.CertificateIdentityPool' - - type: object - required: - - api_version - - kind - - id - - display_name - - description - - external_identifier - - filter - - principal - - state - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/iam/v2/certificate-authorities/{certificate_authority_id}/identity-pools/{id}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + x-stackQL-resources: + api_keys: + id: confluent.iam.api_keys + name: api_keys + title: Api Keys + methods: + list_iam_v2_api_keys: + operation: + $ref: '#/paths/~1iam~1v2~1api-keys/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_iam_v2_api_key: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1iam~1v2~1api-keys/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_iam_v2_api_key: + operation: + $ref: '#/paths/~1iam~1v2~1api-keys~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_iam_v2_api_key: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1iam~1v2~1api-keys~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2_api_key: + operation: + $ref: '#/paths/~1iam~1v2~1api-keys~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/api_keys/methods/get_iam_v2_api_key + - $ref: >- + #/components/x-stackQL-resources/api_keys/methods/list_iam_v2_api_keys + insert: + - $ref: >- + #/components/x-stackQL-resources/api_keys/methods/create_iam_v2_api_key + update: + - $ref: >- + #/components/x-stackQL-resources/api_keys/methods/update_iam_v2_api_key + delete: + - $ref: >- + #/components/x-stackQL-resources/api_keys/methods/delete_iam_v2_api_key + replace: [] + users: + id: confluent.iam.users + name: users + title: Users + methods: + list_iam_v2_users: + operation: + $ref: '#/paths/~1iam~1v2~1users/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + get_iam_v2_user: + operation: + $ref: '#/paths/~1iam~1v2~1users~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_iam_v2_user: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1iam~1v2~1users~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2_user: + operation: + $ref: '#/paths/~1iam~1v2~1users~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + update_auth_type_iam_v2_user: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1iam~1v2~1users~1{id}~1auth/patch' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/users/methods/get_iam_v2_user' + - $ref: '#/components/x-stackQL-resources/users/methods/list_iam_v2_users' + insert: [] + update: + - $ref: '#/components/x-stackQL-resources/users/methods/update_iam_v2_user' + delete: + - $ref: '#/components/x-stackQL-resources/users/methods/delete_iam_v2_user' + replace: [] + service_accounts: + id: confluent.iam.service_accounts + name: service_accounts + title: Service Accounts + methods: + list_iam_v2_service_accounts: + operation: + $ref: '#/paths/~1iam~1v2~1service-accounts/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_iam_v2_service_account: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1iam~1v2~1service-accounts/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_iam_v2_service_account: + operation: + $ref: '#/paths/~1iam~1v2~1service-accounts~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_iam_v2_service_account: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1iam~1v2~1service-accounts~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2_service_account: + operation: + $ref: '#/paths/~1iam~1v2~1service-accounts~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/service_accounts/methods/get_iam_v2_service_account + - $ref: >- + #/components/x-stackQL-resources/service_accounts/methods/list_iam_v2_service_accounts + insert: + - $ref: >- + #/components/x-stackQL-resources/service_accounts/methods/create_iam_v2_service_account + update: + - $ref: >- + #/components/x-stackQL-resources/service_accounts/methods/update_iam_v2_service_account + delete: + - $ref: >- + #/components/x-stackQL-resources/service_accounts/methods/delete_iam_v2_service_account + replace: [] + invitations: + id: confluent.iam.invitations + name: invitations + title: Invitations + methods: + list_iam_v2_invitations: + operation: + $ref: '#/paths/~1iam~1v2~1invitations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_iam_v2_invitation: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1iam~1v2~1invitations/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_iam_v2_invitation: + operation: + $ref: '#/paths/~1iam~1v2~1invitations~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2_invitation: + operation: + $ref: '#/paths/~1iam~1v2~1invitations~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/invitations/methods/get_iam_v2_invitation + - $ref: >- + #/components/x-stackQL-resources/invitations/methods/list_iam_v2_invitations + insert: + - $ref: >- + #/components/x-stackQL-resources/invitations/methods/create_iam_v2_invitation + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/invitations/methods/delete_iam_v2_invitation + replace: [] + ip_groups: + id: confluent.iam.ip_groups + name: ip_groups + title: Ip Groups + methods: + list_iam_v2_ip_groups: + operation: + $ref: '#/paths/~1iam~1v2~1ip-groups/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_iam_v2_ip_group: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1iam~1v2~1ip-groups/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_iam_v2_ip_group: + operation: + $ref: '#/paths/~1iam~1v2~1ip-groups~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_iam_v2_ip_group: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1iam~1v2~1ip-groups~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2_ip_group: + operation: + $ref: '#/paths/~1iam~1v2~1ip-groups~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/ip_groups/methods/get_iam_v2_ip_group + - $ref: >- + #/components/x-stackQL-resources/ip_groups/methods/list_iam_v2_ip_groups + insert: + - $ref: >- + #/components/x-stackQL-resources/ip_groups/methods/create_iam_v2_ip_group + update: + - $ref: >- + #/components/x-stackQL-resources/ip_groups/methods/update_iam_v2_ip_group + delete: + - $ref: >- + #/components/x-stackQL-resources/ip_groups/methods/delete_iam_v2_ip_group + replace: [] + ip_filters: + id: confluent.iam.ip_filters + name: ip_filters + title: Ip Filters + methods: + list_iam_v2_ip_filters: + operation: + $ref: '#/paths/~1iam~1v2~1ip-filters/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_iam_v2_ip_filter: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1iam~1v2~1ip-filters/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_iam_v2_ip_filter: + operation: + $ref: '#/paths/~1iam~1v2~1ip-filters~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_iam_v2_ip_filter: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1iam~1v2~1ip-filters~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2_ip_filter: + operation: + $ref: '#/paths/~1iam~1v2~1ip-filters~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/ip_filters/methods/get_iam_v2_ip_filter + - $ref: >- + #/components/x-stackQL-resources/ip_filters/methods/list_iam_v2_ip_filters + insert: + - $ref: >- + #/components/x-stackQL-resources/ip_filters/methods/create_iam_v2_ip_filter + update: + - $ref: >- + #/components/x-stackQL-resources/ip_filters/methods/update_iam_v2_ip_filter + delete: + - $ref: >- + #/components/x-stackQL-resources/ip_filters/methods/delete_iam_v2_ip_filter + replace: [] + ip_filter_summaries: + id: confluent.iam.ip_filter_summaries + name: ip_filter_summaries + title: Ip Filter Summaries + methods: + get_iam_v2_ip_filter_summary: + operation: + $ref: '#/paths/~1iam~1v2~1ip-filter-summary/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/ip_filter_summaries/methods/get_iam_v2_ip_filter_summary + insert: [] + update: [] + delete: [] + replace: [] + role_bindings: + id: confluent.iam.role_bindings + name: role_bindings + title: Role Bindings + methods: + list_iam_v2_role_bindings: + operation: + $ref: '#/paths/~1iam~1v2~1role-bindings/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_iam_v2_role_binding: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1iam~1v2~1role-bindings/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_iam_v2_role_binding: + operation: + $ref: '#/paths/~1iam~1v2~1role-bindings~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2_role_binding: + operation: + $ref: '#/paths/~1iam~1v2~1role-bindings~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/role_bindings/methods/get_iam_v2_role_binding + - $ref: >- + #/components/x-stackQL-resources/role_bindings/methods/list_iam_v2_role_bindings + insert: + - $ref: >- + #/components/x-stackQL-resources/role_bindings/methods/create_iam_v2_role_binding + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/role_bindings/methods/delete_iam_v2_role_binding + replace: [] + identity_providers: + id: confluent.iam.identity_providers + name: identity_providers + title: Identity Providers + methods: + list_iam_v2_identity_providers: + operation: + $ref: '#/paths/~1iam~1v2~1identity-providers/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_iam_v2_identity_provider: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1iam~1v2~1identity-providers/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_iam_v2_identity_provider: + operation: + $ref: '#/paths/~1iam~1v2~1identity-providers~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_iam_v2_identity_provider: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1iam~1v2~1identity-providers~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2_identity_provider: + operation: + $ref: '#/paths/~1iam~1v2~1identity-providers~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + refresh_iam_v2_json_web_key_set: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1iam~1v2~1identity-providers~1{provider_id}~1jwks/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/identity_providers/methods/get_iam_v2_identity_provider + - $ref: >- + #/components/x-stackQL-resources/identity_providers/methods/list_iam_v2_identity_providers + insert: + - $ref: >- + #/components/x-stackQL-resources/identity_providers/methods/create_iam_v2_identity_provider + update: + - $ref: >- + #/components/x-stackQL-resources/identity_providers/methods/update_iam_v2_identity_provider + delete: + - $ref: >- + #/components/x-stackQL-resources/identity_providers/methods/delete_iam_v2_identity_provider + replace: [] + identity_pools: + id: confluent.iam.identity_pools + name: identity_pools + title: Identity Pools + methods: + list_iam_v2_identity_pools: + operation: + $ref: >- + #/paths/~1iam~1v2~1identity-providers~1{provider_id}~1identity-pools/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_iam_v2_identity_pool: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1iam~1v2~1identity-providers~1{provider_id}~1identity-pools/post + response: + mediaType: application/json + openAPIDocKey: '201' + get_iam_v2_identity_pool: + operation: + $ref: >- + #/paths/~1iam~1v2~1identity-providers~1{provider_id}~1identity-pools~1{id}/get + response: + mediaType: application/json + openAPIDocKey: '200' + update_iam_v2_identity_pool: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1iam~1v2~1identity-providers~1{provider_id}~1identity-pools~1{id}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2_identity_pool: + operation: + $ref: >- + #/paths/~1iam~1v2~1identity-providers~1{provider_id}~1identity-pools~1{id}/delete + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/identity_pools/methods/get_iam_v2_identity_pool + - $ref: >- + #/components/x-stackQL-resources/identity_pools/methods/list_iam_v2_identity_pools + insert: + - $ref: >- + #/components/x-stackQL-resources/identity_pools/methods/create_iam_v2_identity_pool + update: + - $ref: >- + #/components/x-stackQL-resources/identity_pools/methods/update_iam_v2_identity_pool + delete: + - $ref: >- + #/components/x-stackQL-resources/identity_pools/methods/delete_iam_v2_identity_pool + replace: [] + group_mappings: + id: confluent.iam.group_mappings + name: group_mappings + title: Group Mappings + methods: + list_iam_v2_sso_group_mappings: + operation: + $ref: '#/paths/~1iam~1v2~1sso~1group-mappings/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_iam_v2_sso_group_mapping: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1iam~1v2~1sso~1group-mappings/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_iam_v2_sso_group_mapping: + operation: + $ref: '#/paths/~1iam~1v2~1sso~1group-mappings~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_iam_v2_sso_group_mapping: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1iam~1v2~1sso~1group-mappings~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2_sso_group_mapping: + operation: + $ref: '#/paths/~1iam~1v2~1sso~1group-mappings~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/group_mappings/methods/get_iam_v2_sso_group_mapping + - $ref: >- + #/components/x-stackQL-resources/group_mappings/methods/list_iam_v2_sso_group_mappings + insert: + - $ref: >- + #/components/x-stackQL-resources/group_mappings/methods/create_iam_v2_sso_group_mapping + update: + - $ref: >- + #/components/x-stackQL-resources/group_mappings/methods/update_iam_v2_sso_group_mapping + delete: + - $ref: >- + #/components/x-stackQL-resources/group_mappings/methods/delete_iam_v2_sso_group_mapping + replace: [] + certificate_authorities: + id: confluent.iam.certificate_authorities + name: certificate_authorities + title: Certificate Authorities + methods: + list_iam_v2_certificate_authorities: + operation: + $ref: '#/paths/~1iam~1v2~1certificate-authorities/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_iam_v2_certificate_authority: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1iam~1v2~1certificate-authorities/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_iam_v2_certificate_authority: + operation: + $ref: '#/paths/~1iam~1v2~1certificate-authorities~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_iam_v2_certificate_authority: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1iam~1v2~1certificate-authorities~1{id}/put' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2_certificate_authority: + operation: + $ref: '#/paths/~1iam~1v2~1certificate-authorities~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/certificate_authorities/methods/get_iam_v2_certificate_authority + - $ref: >- + #/components/x-stackQL-resources/certificate_authorities/methods/list_iam_v2_certificate_authorities + insert: + - $ref: >- + #/components/x-stackQL-resources/certificate_authorities/methods/create_iam_v2_certificate_authority + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/certificate_authorities/methods/delete_iam_v2_certificate_authority + replace: + - $ref: >- + #/components/x-stackQL-resources/certificate_authorities/methods/update_iam_v2_certificate_authority + certificate_identity_pools: + id: confluent.iam.certificate_identity_pools + name: certificate_identity_pools + title: Certificate Identity Pools + methods: + list_iam_v2_certificate_identity_pools: + operation: + $ref: >- + #/paths/~1iam~1v2~1certificate-authorities~1{certificate_authority_id}~1identity-pools/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_iam_v2_certificate_identity_pool: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1iam~1v2~1certificate-authorities~1{certificate_authority_id}~1identity-pools/post + response: + mediaType: application/json + openAPIDocKey: '201' + get_iam_v2_certificate_identity_pool: + operation: + $ref: >- + #/paths/~1iam~1v2~1certificate-authorities~1{certificate_authority_id}~1identity-pools~1{id}/get + response: + mediaType: application/json + openAPIDocKey: '200' + update_iam_v2_certificate_identity_pool: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1iam~1v2~1certificate-authorities~1{certificate_authority_id}~1identity-pools~1{id}/put + response: + mediaType: application/json + openAPIDocKey: '200' + delete_iam_v2_certificate_identity_pool: + operation: + $ref: >- + #/paths/~1iam~1v2~1certificate-authorities~1{certificate_authority_id}~1identity-pools~1{id}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/certificate_identity_pools/methods/get_iam_v2_certificate_identity_pool + - $ref: >- + #/components/x-stackQL-resources/certificate_identity_pools/methods/list_iam_v2_certificate_identity_pools + insert: + - $ref: >- + #/components/x-stackQL-resources/certificate_identity_pools/methods/create_iam_v2_certificate_identity_pool + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/certificate_identity_pools/methods/delete_iam_v2_certificate_identity_pool + replace: + - $ref: >- + #/components/x-stackQL-resources/certificate_identity_pools/methods/update_iam_v2_certificate_identity_pool +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/kafka.yaml b/providers/src/confluent/v00.00.00000/services/kafka.yaml index 7d986f0e..2057a1bb 100644 --- a/providers/src/confluent/v00.00.00000/services/kafka.yaml +++ b/providers/src/confluent/v00.00.00000/services/kafka.yaml @@ -1,1187 +1,2143 @@ openapi: 3.0.0 -servers: - - url: 'https://api.confluent.cloud' - description: Confluent Cloud API info: - version: '' - contact: - name: Confluent Cloud - url: 'https://www.confluent.io/cloud-contact-us/' - email: support@confluent.io - x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b - x-audience: external-public - x-logo: - url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' - title: Confluent Cloud APIs - kafka - description: kafka -tags: - - name: API Keys (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. + title: kafka API + description: confluent kafka API + version: 1.0.0 +paths: + /kafka/v3/clusters/{cluster_id}: + get: + summary: Get Cluster + operationId: getKafkaCluster + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to list, create, update and delete your API Keys. + Return the Kafka cluster with the specified ``cluster_id``. + tags: + - Cluster (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetClusterResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + /kafka/v3/clusters/{cluster_id}/acls:batch: + post: + summary: Batch Create ACLs + operationId: batchCreateKafkaAcls + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - ## The API Keys Model - + Create ACLs. + tags: + - ACL (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/BatchCreateAclRequest' + responses: + '201': + description: Created + '400': + $ref: '#/components/responses/BadRequestErrorResponse_CreateAcls' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + /kafka/v3/clusters/{cluster_id}/acls: + get: + summary: List ACLs + operationId: getKafkaAcls + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + - When calling `/acls` without the `principal` parameter, service + accounts are returned in numeric ID format (e.g., `User:12345`). + - To retrieve service accounts in the `sa-xxx` format, use + `/acls?principal=UserV2:*`. + - The `principal` parameter supports both legacy `User:` format and + new `UserV2:` format for service accounts. + Return a list of ACLs that match the search criteria. + tags: + - ACL (v3) + security: + - resource-api-key: [] + - external-access-token: [] + parameters: + - $ref: '#/components/parameters/AclResourceType' + - $ref: '#/components/parameters/AclResourceName' + - $ref: '#/components/parameters/AclPatternType' + - $ref: '#/components/parameters/AclPrincipal' + - $ref: '#/components/parameters/AclHost' + - $ref: '#/components/parameters/AclOperation' + - $ref: '#/components/parameters/AclPermission' + responses: + '200': + $ref: '#/components/responses/SearchAclsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + post: + summary: Create an ACL + operationId: createKafkaAcls + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - - name: Environments (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Create an ACL. + tags: + - ACL (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/CreateAclRequest' + responses: + '201': + description: Created + '400': + $ref: '#/components/responses/BadRequestErrorResponse_CreateAcls' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + delete: + summary: Delete ACLs + operationId: deleteKafkaAcls + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. + Delete the ACLs that match the search criteria. + tags: + - ACL (v3) + security: + - resource-api-key: [] + - external-access-token: [] + parameters: + - $ref: '#/components/parameters/AclResourceTypeRequired' + - $ref: '#/components/parameters/AclResourceName' + - $ref: '#/components/parameters/AclPatternTypeRequired' + - $ref: '#/components/parameters/AclPrincipal' + - $ref: '#/components/parameters/AclHost' + - $ref: '#/components/parameters/AclOperationRequired' + - $ref: '#/components/parameters/AclPermissionRequired' + responses: + '200': + $ref: '#/components/responses/DeleteAclsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse_DeleteAcls' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + /kafka/v3/clusters/{cluster_id}/broker-configs: + get: + summary: List Dynamic Broker Configs + operationId: listKafkaClusterConfigs + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). + Return a list of dynamic cluster-wide broker configuration parameters + for the specified Kafka - ## The Environments Model - + cluster. Returns an empty list if there are no dynamic cluster-wide + broker configuration parameters. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListClusterConfigsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + /kafka/v3/clusters/{cluster_id}/broker-configs:alter: + post: + summary: Batch Alter Dynamic Broker Configs + operationId: updateKafkaClusterConfigs + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - - name: Organizations (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Update or delete a set of dynamic cluster-wide broker configuration + parameters. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/AlterClusterConfigBatchRequest' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + /kafka/v3/clusters/{cluster_id}/broker-configs/{name}: + get: + summary: Get Dynamic Broker Config + operationId: getKafkaClusterConfig + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). - The API allows you to list, view, and update your organizations. + Return the dynamic cluster-wide broker configuration parameter specified + by ``name``. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetClusterConfigResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + put: + summary: Update Dynamic Broker Config + operationId: updateKafkaClusterConfig + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + Update the dynamic cluster-wide broker configuration parameter specified + by ``name``. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/UpdateClusterConfigRequest' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + delete: + summary: Reset Dynamic Broker Config + operationId: deleteKafkaClusterConfig + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Organizations Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + Reset the configuration parameter specified by ``name`` to its - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - - name: Users (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + default value by deleting a dynamic cluster-wide configuration. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/ConfigName' + /kafka/v3/clusters/{cluster_id}/consumer-groups: + get: + summary: List Consumer Groups + operationId: listKafkaConsumerGroups + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `User` objects represent individuals who may access your Confluent resources. - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. + Return the list of consumer groups that belong to the specified + Kafka cluster. + tags: + - Consumer Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListConsumerGroupsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + /kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}: + get: + summary: Get Consumer Group + operationId: getKafkaConsumerGroup + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). - ## The Users Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - - name: Service Accounts (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. - - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. - - - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). - - ## The Service Accounts Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - - name: Invitations (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. - - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. - - - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). - - ## The Invitations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - - name: IP Groups (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) - - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. - - - ## The IP Groups Model - - - name: IP Filters (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. - - - ## The IP Filters Model - - - name: Role Bindings (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A role binding grants a Principal a role on resources that match a pattern. + Return the consumer group specified by the ``consumer_group_id``. + tags: + - Consumer Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetConsumerGroupResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/ConsumerGroupId' + /kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/consumers: + get: + summary: List Consumers + operationId: listKafkaConsumers + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to perform create, delete, and list operations on role bindings. + Return a list of consumers that belong to the specified consumer - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + group. + tags: + - Consumer Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListConsumersResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/ConsumerGroupId' + /kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/lag-summary: + get: + summary: Get Consumer Group Lag Summary + operationId: getKafkaConsumerGroupLagSummary + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [![Available in dedicated clusters + only](https://img.shields.io/badge/-Available%20in%20dedicated%20clusters%20only-%23bc8540)](https://docs.confluent.io/cloud/current/clusters/cluster-types.html#dedicated-cluster) - ## The Role Bindings Model - - - name: Subscriptions (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. + Return the maximum and total lag of the consumers belonging to the - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + specified consumer group. + tags: + - Consumer Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetConsumerGroupLagSummaryResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/ConsumerGroupId' + /kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/lags: + get: + summary: List Consumer Lags + operationId: listKafkaConsumerLags + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [![Available in dedicated clusters + only](https://img.shields.io/badge/-Available%20in%20dedicated%20clusters%20only-%23bc8540)](https://docs.confluent.io/cloud/current/clusters/cluster-types.html#dedicated-cluster) - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + Return a list of consumer lags of the consumers belonging to the - ## The Subscriptions Model - - - name: Integrations (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + specified consumer group. + tags: + - Consumer Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListConsumerLagsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/ConsumerGroupId' + /kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/lags/{topic_name}/partitions/{partition_id}: + get: + summary: Get Consumer Lag + operationId: getKafkaConsumerLag + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [![Available in dedicated clusters + only](https://img.shields.io/badge/-Available%20in%20dedicated%20clusters%20only-%23bc8540)](https://docs.confluent.io/cloud/current/clusters/cluster-types.html#dedicated-cluster) - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. + Return the consumer lag on a partition with the given `partition_id`. + tags: + - Consumer Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetConsumerLagResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/ConsumerGroupId' + - $ref: '#/components/parameters/TopicName' + - $ref: '#/components/parameters/PartitionId' + /kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/consumers/{consumer_id}: + get: + summary: Get Consumer + operationId: getKafkaConsumer + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - ## The Integrations Model - + Return the consumer specified by the ``consumer_id``. + tags: + - Consumer Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetConsumerResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/ConsumerGroupId' + - $ref: '#/components/parameters/ConsumerId' + /kafka/v3/clusters/{cluster_id}/topics: + get: + summary: List Topics + operationId: listKafkaTopics + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - - name: Notification Types (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Return the list of topics that belong to the specified Kafka cluster. + tags: + - Topic (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListTopicsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + post: + summary: Create Topic + operationId: createKafkaTopic + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The type of notifications (and their corresponding metadata) supported by Confluent. + Create a topic. - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + Also supports a dry-run mode that only validates whether the topic + creation would succeed - ## The Notification Types Model - - - name: Clusters (cmk/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + if the ``validate_only`` request property is explicitly specified and + set to true. Note that - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. + when dry-run mode is being used the response status would be 200 OK + instead of 201 Created. + tags: + - Topic (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/CreateTopicRequest' + responses: + '200': + $ref: '#/components/responses/CreateTopicResponse' + '201': + $ref: '#/components/responses/CreateTopicResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse_CreateTopic' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + /kafka/v3/clusters/{cluster_id}/topics/{topic_name}: + get: + summary: Get Topic + operationId: getKafkaTopic + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to list, create, read, update, and delete your Kafka clusters. + Return the topic with the given `topic_name`. + tags: + - Topic (v3) + security: + - resource-api-key: [] + - external-access-token: [] + parameters: + - $ref: '#/components/parameters/IncludeAuthorizedOperations' + responses: + '200': + $ref: '#/components/responses/GetTopicResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + patch: + summary: Update Partition Count + operationId: updatePartitionCountKafkaTopic + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - ## The Clusters Model - + Increase the number of partitions for a topic. To update other topic - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + configurations, see + https://docs.confluent.io/cloud/current/api.html#tag/Configs-(v3)/operation/updateKafkaTopicConfig. + tags: + - Topic (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdatePartitionCountRequestData' + responses: + '200': + $ref: '#/components/responses/GetTopicResponse' + '400': + $ref: >- + #/components/responses/BadRequestErrorResponse_UpdatePartitionCountTopic + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + delete: + summary: Delete Topic + operationId: deleteKafkaTopic + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - - name: Clusters (ksqldbcm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. - - - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the following quotas: - - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - - name: Connectors (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for Managed Connectors or Custom Connectors in Confluent Cloud. - - The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. - - Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). - - Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - name: Lifecycle (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. - - name: Status (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. - - name: Managed Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for Managed connectors in Confluent Cloud. - - name: Offsets (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the offsets for a Managed Connector. - - Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) - - name: Custom Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Custom Connector Plugins Model - - - name: Presigned Urls (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Presigned Urls Model - - - name: Cluster (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Configs (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: ACL (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Consumer Group (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Partition (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Topic (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Records (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Cluster Linking (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Applied Quotas (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. - - - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - - ## The Applied Quotas Model - - - name: Scopes (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Gets a list of all available scopes for applied quotas. - - - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). - - ## The Scopes Model - - - name: Entitlements (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + Delete the topic with the given `topic_name`. + tags: + - Topic (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/TopicName' + /kafka/v3/clusters/{cluster_id}/topics/{topic_name}/configs: + get: + summary: List Topic Configs + operationId: listKafkaTopicConfigs + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Entitlement` objects represent metadata about a marketplace entitlement. - An entitlement includes metadata about a marketplace purchase - (start date, end date, billing information, partner IDs, etc). - The API allows partners to create, read, and list entitlements. (Unless you - need entitlement creation and customer registration to be separate, - we recommend using the Signup API to create an organization and entitlement - at the same time) + Return the list of configuration parameters that belong to the specified + topic. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListTopicConfigsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/TopicName' + /kafka/v3/clusters/{cluster_id}/topics/{topic_name}/configs:alter: + post: + summary: Batch Alter Topic Configs + operationId: updateKafkaTopicConfigBatch + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API only allows authorized partners to interact with the Entitlements API. - - name: Regions (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. + Update or delete a set of topic configuration parameters. + Also supports a dry-run mode that only validates whether the operation + would succeed if the - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + ``validate_only`` request property is explicitly specified and set to + true. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/AlterTopicConfigBatchRequest' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/TopicName' + /kafka/v3/clusters/{cluster_id}/topics/{topic_name}/configs/{name}: + get: + summary: Get Topic Config + operationId: getKafkaTopicConfig + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Regions Model - - - name: Clusters (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + Return the configuration parameter with the given `name`. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetTopicConfigResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + put: + summary: Update Topic Config + operationId: updateKafkaTopicConfig + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - The API allows you to list, create, read, and delete your Schema Registry clusters. + Update the configuration parameter with given `name`. To update the + number of partitions, see - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + https://docs.confluent.io/cloud/current/api.html#tag/Topic-(v3)/operation/updatePartitionCountKafkaTopic. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/UpdateTopicConfigRequest' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + delete: + summary: Reset Topic Config + operationId: deleteKafkaTopicConfig + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Clusters Model - - - name: Clusters (srcm/v3) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Reset the configuration parameter with given `name` to its default + value. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/TopicName' + - $ref: '#/components/parameters/ConfigName' + /kafka/v3/clusters/{cluster_id}/topics/{topic_name}/partitions: + get: + summary: List Partitions + operationId: listKafkaPartitions + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - The API allows you to list and read your Schema Registry clusters. + Return the list of partitions that belong to the specified topic. + tags: + - Partition (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListPartitionsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/TopicName' + /kafka/v3/clusters/{cluster_id}/topics/{topic_name}/partitions/{partition_id}: + get: + summary: Get Partition + operationId: getKafkaPartition + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + Return the partition with the given `partition_id`. + tags: + - Partition (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetPartitionResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/TopicName' + - $ref: '#/components/parameters/PartitionId' + /kafka/v3/clusters/{cluster_id}/topics/-/configs: + get: + summary: List All Topic Configs + operationId: listKafkaAllTopicConfigs + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Clusters Model - - - name: Compatibility (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to test schema compatibility. + Return the list of configuration parameters for all topics hosted by the + specified - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Config (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + cluster. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListTopicConfigsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + /kafka/v3/clusters/{cluster_id}/topics/{topic_name}/records: + post: + summary: Produce Records + operationId: produceRecord + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to manage and query schema compatibility settings and cluster configurations. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Contexts (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Produce records to the given topic, returning delivery reports for each - The API allows you to retrieve information about schema contexts. + record produced. This API can be used in streaming mode by setting - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Exporters (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + "Transfer-Encoding: chunked" header. For as long as the connection is - The API allows you to create, retrieve, update, and delete exporters. + kept open, the server will keep accepting records. Records are streamed - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Modes (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + to and from the server as Concatenated JSON. For each record sent to the - The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + server, the server will asynchronously send back a delivery report, in - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Schemas (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + the same order, each with its own error_code. An error_code of 200 - The API allows you to create, retrieve, update, and delete schemas. + indicates success. The HTTP status code will be HTTP 200 OK as long as - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Subjects (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + the connection is successfully established. To identify records that - The API allows you to create, retrieve, update, and delete schema subjects and versions. + have encountered an error, check the error_code of each delivery report. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Key Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete key encryption keys. + Note that the cluster_id is validated only when running in Confluent + Cloud. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Data Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete data encryption keys. + This API currently does not support Schema Registry integration. Sending - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Entity (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + schemas is not supported. Only BINARY, JSON, and STRING formats are - The API allows you to create, retrieve, update, and delete catalog entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Search (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to search for entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Types (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Provider Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. - - - ## The Provider Shared Resources Model - - - name: Provider Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderShare` object respresents the share that you have created through Stream Sharing. - - - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). - - ## The Provider Shares Model - - - name: Consumer Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. - - - ## The Consumer Shared Resources Model - - - name: Consumer Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + supported. + tags: + - Records (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/ProduceRequest' + responses: + '200': + $ref: '#/components/responses/ProduceResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse_ProduceRecords' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '413': + $ref: '#/components/responses/RequestEntityTooLargeErrorResponse' + '415': + $ref: '#/components/responses/UnsupportedMediaTypeErrorResponse' + '422': + $ref: '#/components/responses/UnprocessableEntity_ProduceRecord' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/TopicName' + /kafka/v3/clusters/{cluster_id}/links: + get: + summary: List all cluster links in the dest cluster + operationId: listKafkaLinks + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `ConsumerShare` object respresents the share that you received through Stream Sharing. + ``link_id`` in ``ListLinksResponseData`` is deprecated and may be + removed in a future release. Use the new ``cluster_link_id`` instead. + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListLinksResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + post: + summary: Create a cluster link + operationId: createKafkaLink + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). - ## The Consumer Shares Model - - - name: Shared Tokens (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Cluster link creation requires source cluster security configurations in - Encrypted Token shared with consumer + the configs JSON section of the data request payload. + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + parameters: + - $ref: '#/components/parameters/QueryParamLinkName' + - $ref: '#/components/parameters/ValidateOnly' + - $ref: '#/components/parameters/ValidateLink' + requestBody: + $ref: '#/components/requestBodies/CreateLinkRequest' + responses: + '204': + $ref: '#/components/responses/NoContentResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + /kafka/v3/clusters/{cluster_id}/links/{link_name}: + get: + summary: Describe the cluster link + operationId: getKafkaLink + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Shared Tokens Model - - - name: Opt Ins (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ``link_id`` in ``ListLinksResponseData`` is deprecated and may be + removed in a future release. Use the new ``cluster_link_id`` instead. + tags: + - Cluster Linking (v3) + parameters: + - $ref: '#/components/parameters/IncludeTasks' + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetLinkResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + delete: + summary: Delete the cluster link + operationId: deleteKafkaLink + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + parameters: + - $ref: '#/components/parameters/Force' + - $ref: '#/components/parameters/ValidateOnly' + responses: + '200': + $ref: '#/components/responses/NoContentResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + /kafka/v3/clusters/{cluster_id}/topics/{topic_name}/default-configs: + get: + summary: List New Topic Default Configs + operationId: listKafkaDefaultTopicConfigs + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Stream sharing opt in options - ## The Opt Ins Model - - - name: Organizations (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + List the default configuration parameters used if the topic were to be + newly created. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListTopicConfigsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/TopicName' + /kafka/v3/clusters/{cluster_id}/links/{link_name}/configs: + get: + summary: List all configs of the cluster link + operationId: listKafkaLinkConfigs + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListLinkConfigsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + /kafka/v3/clusters/{cluster_id}/links/{link_name}/configs/{config_name}: + get: + summary: Describe the config under the cluster link + operationId: getKafkaLinkConfigs + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetLinkConfigsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + put: + summary: Alter the config under the cluster link + operationId: updateKafkaLinkConfig + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/UpdateLinkConfigRequest' + responses: + '204': + $ref: '#/components/responses/NoContentResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + delete: + summary: Reset the given config to default value + operationId: deleteKafkaLinkConfig + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '204': + $ref: '#/components/responses/NoContentResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + - $ref: '#/components/parameters/LinkConfigName' + /kafka/v3/clusters/{cluster_id}/links/{link_name}/configs:alter: + put: + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Organizations` objects represent an entire Confluent Cloud organization. - Partners are allowed to get an organization they have signed up or - list all organizations they have signed up. - - name: Signup (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - `Signup` APIs can only be performed by partners. - - name: Networks (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Batch Alter Cluster Link Configs + operationId: updateKafkaLinkConfigBatch + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + parameters: + - $ref: '#/components/parameters/ValidateOnly' + requestBody: + $ref: '#/components/requestBodies/AlterLinkConfigBatchRequest' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + summary: Batch Alter Cluster Link Configs + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + /kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors: + post: + summary: Create a mirror topic + operationId: createKafkaMirrorTopic + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. - The API allows you to list, create, read, update, and delete your networks. + Create a topic in the destination cluster mirroring a topic in + the source cluster + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/CreateMirrorTopicRequest' + responses: + '204': + $ref: '#/components/responses/NoContentResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + get: + summary: List mirror topics + operationId: listKafkaMirrorTopicsUnderLink + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - - ## The Networks Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - - name: Peerings (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - - - ## The Peerings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - - name: Transit Gateway Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AWS Transit Gateway Attachments - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + List all mirror topics under the link + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + parameters: + - $ref: '#/components/parameters/MirrorTopicStatus' + responses: + '200': + $ref: '#/components/responses/ListMirrorTopicsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + /kafka/v3/clusters/{cluster_id}/links/-/mirrors: + get: + summary: List mirror topics + operationId: listKafkaMirrorTopics + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Transit Gateway Attachments Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + List all mirror topics in the cluster + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + parameters: + - $ref: '#/components/parameters/MirrorTopicStatus' + responses: + '200': + $ref: '#/components/responses/ListMirrorTopicsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + /kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors/{mirror_topic_name}: + get: + summary: Describe the mirror topic + operationId: readKafkaMirrorTopic + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + tags: + - Cluster Linking (v3) + parameters: + - $ref: '#/components/parameters/IncludeStateTransitionErrors' + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/DescribeMirrorTopicResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + - $ref: '#/components/parameters/MirrorTopicName' + /kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:promote: + post: + summary: Promote the mirror topics + operationId: updateKafkaMirrorTopicsPromote + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/AlterMirrorsRequest' + responses: + '200': + $ref: '#/components/responses/AlterMirrorStatusResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + - $ref: '#/components/parameters/ValidateOnly' + /kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:failover: + post: + summary: Failover the mirror topics + operationId: updateKafkaMirrorTopicsFailover + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/AlterMirrorsRequest' + responses: + '200': + $ref: '#/components/responses/AlterMirrorStatusResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + - $ref: '#/components/parameters/ValidateOnly' + /kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:pause: + post: + summary: Pause the mirror topics + operationId: updateKafkaMirrorTopicsPause + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/AlterMirrorsRequest' + responses: + '200': + $ref: '#/components/responses/AlterMirrorStatusResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + - $ref: '#/components/parameters/ValidateOnly' + /kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:resume: + post: + summary: Resume the mirror topics + operationId: updateKafkaMirrorTopicsResume + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/AlterMirrorsRequest' + responses: + '200': + $ref: '#/components/responses/AlterMirrorStatusResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + - $ref: '#/components/parameters/ValidateOnly' + /kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:reverse-and-start-mirror: + post: + summary: Reverse the local mirror topic and start the remote mirror topic + operationId: updateKafkaMirrorTopicsReverseAndStartMirror + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/AlterMirrorsRequest' + responses: + '200': + $ref: '#/components/responses/AlterMirrorStatusResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + - $ref: '#/components/parameters/ValidateOnly' + /kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:reverse-and-pause-mirror: + post: + summary: Reverse the local mirror topic and Pause the remote mirror topic + operationId: updateKafkaMirrorTopicsReverseAndPauseMirror + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/AlterMirrorsRequest' + responses: + '200': + $ref: '#/components/responses/AlterMirrorStatusResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + - $ref: '#/components/parameters/ValidateOnly' + /kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:truncate-and-restore: + post: + summary: >- + Truncates the local topic to the remote stopped mirror log end offsets + and restores mirroring to the local topic to mirror from the remote + topic + operationId: updateKafkaMirrorTopicsTruncateAndRestoreMirror + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + tags: + - Cluster Linking (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/AlterMirrorsRequest' + responses: + '200': + $ref: '#/components/responses/AlterMirrorStatusResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/LinkName' + - $ref: '#/components/parameters/IncludePartitionLevelTruncationData' + - $ref: '#/components/parameters/ValidateOnly' + /kafka/v3/clusters/{cluster_id}/groups/{group_id}/configs: + get: + summary: List all configs of the group + operationId: listKafkaGroupConfigs + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - - name: Private Link Accesses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + List all configurations for the specified group. This API supports + consumer groups, share groups, and streams groups. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListGroupConfigsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/GroupId' + /kafka/v3/clusters/{cluster_id}/groups/{group_id}/configs/{name}: + get: + summary: Get group config + operationId: getKafkaGroupConfig + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + Get the configuration with the specified name for the specified group. + This API supports consumer groups, share groups, and streams groups. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetGroupConfigResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + put: + summary: Update group config + operationId: updateKafkaGroupConfig + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Private Link Accesses Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - - name: Network Link Services (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Services Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - - name: Network Link Endpoints (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Endpoints Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - - name: Network Link Service Associations (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - List of incoming Network Link Enpoints associated with the Network Link Service. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Service Associations Model - - - name: Gateways (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A gateway is a resource that defines network access to Confluent cloud resources. - - - ## The Gateways Model - - - name: IP Addresses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - IP Addresses - - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) - - ## The IP Addresses Model - - - name: Private Link Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. - - - ## The Private Link Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - - name: Private Link Attachment Connections (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. - - - ## The Private Link Attachment Connections Model - - - name: Identity Providers (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Identity Provider. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Identity Providers Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - - name: Jwks (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. - - The API allows you to refresh JWKS public key data. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Jwks Model - - - name: Identity Pools (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. - - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. - - - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). - - ## The Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - - name: OAuth Tokens (sts/v1) - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of - external identities to access Confluent Cloud APIs - - name: Client Quotas (kafka-quotas/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ClientQuota` objects represent Client Quotas you can set at the service account level. - - The API allows you to list, create, read, update, and delete your client quotas. - - - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - - ## The Client Quotas Model - - - name: Pipelines (sd/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. - - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. - - - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). - - ## The Pipelines Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - - name: Keys (byok/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. - - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. - - - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). - - ## The Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - - name: Costs (billing/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cost` objects represent the aggregated billing costs for an organization - - - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). - - ## The Costs Model - - - name: Group Mappings (iam/v2/sso) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. - - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. - - - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). - - ## The Group Mappings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - - name: Compute Pools (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. - - - ## The Compute Pools Model - - - name: Regions (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. - - - ## The Regions Model - - - name: Statements (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - - name: Statement Results (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementResult` represents a result of a `Statement` resource. - The API allows you to read your statement's results. - ## The Statement Results Model - - - name: Statement Exceptions (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementException` represents an exception of a `Statement` resource. - The API allows you to read your statement's exceptions. - ## The Statement Exceptions Model - - - name: Connections (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Connection` represents a core resource used to model SQL connections for execution. - A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - - name: DNS Forwarders (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add, remove, and update DNS forwarder for your gateway. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - - - ## The DNS Forwarders Model - - - name: Access Points (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. - - - ## The Access Points Model - - - name: DNS Records (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - - ## The DNS Records Model - - - name: Certificate Authorities (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Certificate Authority. - - - Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). - - ## The Certificate Authorities Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `certificate_authorities_per_org` | Number of certificate authorities per organization | - - name: Certificate Identity Pools (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Identitypool` objects represent workload identities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities - - - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). - - ## The Certificate Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - - name: Integrations (pim/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). - - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. - - - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). - - ## The Integrations Model - - - name: Flink Artifacts (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. - - - ## The Flink Artifacts Model - - - name: Presigned Urls (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. + Update the configuration with the specified name for the specified + group. This API supports consumer groups, share groups, and streams + groups. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + $ref: '#/components/requestBodies/UpdateGroupConfigRequest' + responses: + '204': + $ref: '#/components/responses/NoContentResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + delete: + summary: Delete group config + operationId: deleteKafkaGroupConfig + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Presigned Urls Model - - - name: Flink Artifact Versions (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + Delete the dynamic configuration override with the specified name for + the specified group. After deletion, the default group configuration + will be applied. This API supports consumer groups, share groups, and + streams groups. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '204': + $ref: '#/components/responses/NoContentResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/GroupId' + - $ref: '#/components/parameters/ConfigName' + /kafka/v3/clusters/{cluster_id}/groups/{group_id}/configs:alter: + post: + summary: Batch Alter Group Configs + operationId: updateKafkaGroupConfigBatch + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Flink Artifact Versions Model - + Batch alter configurations for the specified group. This API supports + consumer groups, share groups, and streams groups. + tags: + - Configs (v3) + security: + - resource-api-key: [] + - external-access-token: [] + parameters: + - $ref: '#/components/parameters/ValidateOnly' + requestBody: + $ref: '#/components/requestBodies/AlterGroupConfigBatchRequest' + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/GroupId' components: schemas: - AclOperation: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - AclPatternType: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - MATCH - - LITERAL - - PREFIXED - AclPermission: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - DENY - - ALLOW - AclResourceType: - type: string - enum: - - UNKNOWN - - ANY - - TOPIC - - GROUP - - CLUSTER - - TRANSACTIONAL_ID - - DELEGATION_TOKEN - BrokerTaskType: - type: string - enum: - - add-broker - - remove-broker - MirrorTopicStatus: - enum: - - ACTIVE - - FAILED - - LINK_FAILED - - LINK_PAUSED - - PAUSED - - PENDING_STOPPED - - SOURCE_UNAVAILABLE - - STOPPED - - PENDING_MIRROR - - PENDING_SYNCHRONIZE - - PENDING_SETUP_FOR_RESTORE - - PENDING_RESTORE - type: string + UpdatePartitionCountRequestData: + type: object + required: + - partitions_count + properties: + partitions_count: + type: integer + format: int32 ClusterData: - allOf: - - $ref: '#/components/schemas/Resource' - - type: object - required: - - cluster_id - - acls - - brokers - - broker_configs - - consumer_groups - - topics - - partition_reassignments - properties: - cluster_id: - type: string - controller: - $ref: '#/components/schemas/Relationship' - acls: - $ref: '#/components/schemas/Relationship' - brokers: - $ref: '#/components/schemas/Relationship' - broker_configs: - $ref: '#/components/schemas/Relationship' - consumer_groups: - $ref: '#/components/schemas/Relationship' - topics: - $ref: '#/components/schemas/Relationship' - partition_reassignments: - $ref: '#/components/schemas/Relationship' + type: object + required: + - kind + - metadata + - cluster_id + - acls + - brokers + - broker_configs + - consumer_groups + - topics + - partition_reassignments + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceMetadata' + cluster_id: + type: string + controller: + $ref: '#/components/schemas/Relationship' + acls: + $ref: '#/components/schemas/Relationship' + brokers: + $ref: '#/components/schemas/Relationship' + broker_configs: + $ref: '#/components/schemas/Relationship' + consumer_groups: + $ref: '#/components/schemas/Relationship' + topics: + $ref: '#/components/schemas/Relationship' + partition_reassignments: + $ref: '#/components/schemas/Relationship' Error: type: object description: Describes a particular error encountered while performing an operation. @@ -1191,23 +2147,36 @@ components: type: string maxLength: 255 status: - description: 'The HTTP status code applicable to this problem, expressed as a string value.' + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. type: string code: - description: 'An application-specific error code, expressed as a string value.' + description: An application-specific error code, expressed as a string value. type: string title: - description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. type: string detail: - description: A human-readable explanation specific to this occurrence of the problem. + description: >- + A human-readable explanation specific to this occurrence of the + problem. type: string source: type: object - description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. properties: pointer: - description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. type: string parameter: description: A string indicating which query parameter caused the error. @@ -1219,7 +2188,7 @@ components: type: string nullable: true additionalProperties: false - AlterConfigBatchRequestData: + CreateAclRequestDataList: type: object required: - data @@ -1227,23 +2196,63 @@ components: data: type: array items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - operation: - type: string - x-extensible-enum: - - SET - - DELETE - nullable: true - validate_only: - type: boolean + $ref: '#/components/schemas/CreateAclRequestData' + AclResourceType: + type: string + enum: + - UNKNOWN + - ANY + - TOPIC + - GROUP + - CLUSTER + - TRANSACTIONAL_ID + - DELEGATION_TOKEN + AclPatternType: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - MATCH + - LITERAL + - PREFIXED + AclOperation: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + AclPermission: + type: string + x-extensible-enum: + - UNKNOWN + - ANY + - DENY + - ALLOW + AclDataList: + type: object + required: + - kind + - metadata + - data + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + data: + type: array + items: + $ref: '#/components/schemas/AclData' CreateAclRequestData: type: object required: @@ -1269,28 +2278,61 @@ components: $ref: '#/components/schemas/AclOperation' permission: $ref: '#/components/schemas/AclPermission' - CreateAclRequestDataList: - allOf: - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/CreateAclRequestData' - CreateTopicRequestData: + AclData: type: object required: - - topic_name + - kind + - metadata + - cluster_id + - resource_type + - resource_name + - pattern_type + - principal + - host + - operation + - permission properties: - topic_name: + kind: type: string - partitions_count: - type: integer - replication_factor: - type: integer - configs: + metadata: + $ref: '#/components/schemas/ResourceMetadata' + cluster_id: + type: string + resource_type: + $ref: '#/components/schemas/AclResourceType' + resource_name: + type: string + pattern_type: + $ref: '#/components/schemas/AclPatternType' + principal: + type: string + host: + type: string + operation: + $ref: '#/components/schemas/AclOperation' + permission: + $ref: '#/components/schemas/AclPermission' + ClusterConfigDataList: + type: object + required: + - kind + - metadata + - data + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + data: + type: array + items: + $ref: '#/components/schemas/ClusterConfigData' + AlterConfigBatchRequestData: + type: object + required: + - data + properties: + data: type: array items: type: object @@ -1302,615 +2344,451 @@ components: value: type: string nullable: true + operation: + type: string + x-extensible-enum: + - SET + - DELETE + nullable: true validate_only: type: boolean - ProduceRequest: + ClusterConfigData: type: object + required: + - kind + - metadata + - cluster_id + - name + - is_default + - is_read_only + - is_sensitive + - source + - synonyms + - config_type properties: - partition_id: - type: integer - nullable: true - format: int32 - headers: - type: array - items: - $ref: '#/components/schemas/ProduceRequestHeader' - key: - $ref: '#/components/schemas/ProduceRequestData' + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceMetadata' + cluster_id: + type: string + name: + type: string value: - $ref: '#/components/schemas/ProduceRequestData' - timestamp: type: string - format: date-time nullable: true + is_default: + type: boolean + is_read_only: + type: boolean + is_sensitive: + type: boolean + source: + $ref: '#/components/schemas/ConfigSource' + synonyms: + type: array + items: + $ref: '#/components/schemas/ConfigSynonymData' + config_type: + $ref: '#/components/schemas/ClusterConfigType' UpdateConfigRequestData: type: object properties: value: type: string nullable: true - CreateLinkRequestData: - properties: - source_cluster_id: - type: string - destination_cluster_id: - type: string - remote_cluster_id: - description: The expected remote cluster ID. - type: string - cluster_link_id: - description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' - type: string - configs: - items: - $ref: '#/components/schemas/ConfigData' - type: array + ConsumerGroupDataList: type: object - UpdateLinkConfigRequestData: - properties: - value: - type: string required: - - value - type: object - CreateMirrorTopicRequestData: + - kind + - metadata + - data properties: - source_topic_name: - type: string - mirror_topic_name: + kind: type: string - replication_factor: - type: integer - configs: + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + data: type: array items: - $ref: '#/components/schemas/ConfigData' - required: - - source_topic_name + $ref: '#/components/schemas/ConsumerGroupData' + ConsumerGroupData: type: object - AlterMirrorsRequestData: + required: + - kind + - metadata + - cluster_id + - consumer_group_id + - is_simple + - partition_assignor + - state + - type + - is_mixed_consumer_group + - coordinator + - consumers + - lag_summary properties: - mirror_topic_names: - description: The mirror topics specified as a list of topic names. - type: array - items: - type: string - mirror_topic_name_pattern: - description: The mirror topics specified as a pattern. + kind: type: string - type: object - RemoveBrokersRequestData: - properties: - broker_ids: - type: array - items: - type: integer - required: - - broker_ids - type: object - BrokerReplicaExclusionBatchRequestData: + metadata: + $ref: '#/components/schemas/ResourceMetadata' + cluster_id: + type: string + consumer_group_id: + type: string + is_simple: + type: boolean + partition_assignor: + type: string + state: + $ref: '#/components/schemas/ConsumerGroupState' + type: + $ref: '#/components/schemas/ConsumerGroupType' + is_mixed_consumer_group: + type: boolean + coordinator: + $ref: '#/components/schemas/Relationship' + consumers: + $ref: '#/components/schemas/Relationship' + lag_summary: + $ref: '#/components/schemas/Relationship' + ConsumerDataList: type: object required: + - kind + - metadata - data properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' data: type: array items: - $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' - Resource: + $ref: '#/components/schemas/ConsumerData' + ConsumerGroupLagSummaryData: type: object required: - kind - metadata + - cluster_id + - consumer_group_id + - max_lag_consumer_id + - max_lag_client_id + - max_lag_topic_name + - max_lag_partition_id + - max_lag + - total_lag + - max_lag_consumer + - max_lag_partition properties: kind: type: string metadata: $ref: '#/components/schemas/ResourceMetadata' - Relationship: + cluster_id: + type: string + consumer_group_id: + type: string + max_lag_consumer_id: + type: string + max_lag_instance_id: + type: string + nullable: true + max_lag_client_id: + type: string + max_lag_topic_name: + type: string + max_lag_partition_id: + type: integer + max_lag: + type: integer + format: int64 + total_lag: + type: integer + format: int64 + max_lag_consumer: + $ref: '#/components/schemas/Relationship' + max_lag_partition: + $ref: '#/components/schemas/Relationship' + ConsumerLagDataList: type: object required: - - related + - kind + - metadata + - data properties: - related: + kind: type: string - ProduceRequestHeader: + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + data: + type: array + items: + $ref: '#/components/schemas/ConsumerLagData' + ConsumerLagData: type: object required: - - name + - kind + - metadata + - cluster_id + - consumer_group_id + - topic_name + - partition_id + - current_offset + - log_end_offset + - lag + - consumer_id + - client_id properties: - name: + kind: type: string - value: + metadata: + $ref: '#/components/schemas/ResourceMetadata' + cluster_id: + type: string + consumer_group_id: + type: string + topic_name: + type: string + partition_id: + type: integer + current_offset: + type: integer + format: int64 + log_end_offset: + type: integer + format: int64 + lag: + type: integer + format: int64 + consumer_id: + type: string + instance_id: type: string - format: byte nullable: true - ProduceRequestData: + client_id: + type: string + ConsumerData: type: object + required: + - kind + - metadata + - cluster_id + - consumer_group_id + - consumer_id + - client_id + - assignments properties: - type: + kind: type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - data: - $ref: '#/components/schemas/AnyValue' - nullable: true - ConfigData: - example: - name: name - value: value - properties: - name: + metadata: + $ref: '#/components/schemas/ResourceMetadata' + cluster_id: + type: string + consumer_group_id: + type: string + consumer_id: + type: string + instance_id: type: string - value: nullable: true + client_id: type: string - required: - - name - - value - BrokerReplicaExclusionRequestData: + assignments: + $ref: '#/components/schemas/Relationship' + TopicDataList: type: object required: - - broker_id - - reason + - kind + - metadata + - data properties: - broker_id: - type: integer - reason: + kind: type: string - ResourceMetadata: + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + data: + type: array + items: + $ref: '#/components/schemas/TopicData' + CreateTopicRequestData: type: object required: - - self + - topic_name properties: - self: - type: string - resource_name: + topic_name: type: string - nullable: true - AnyValue: - nullable: true - AclDataList: - allOf: - - $ref: '#/components/schemas/ResourceCollection' - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/AclData' - ResourceCollection: + partitions_count: + type: integer + replication_factor: + type: integer + configs: + type: array + items: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + nullable: true + validate_only: + type: boolean + TopicData: type: object required: - kind - metadata + - cluster_id + - topic_name + - is_internal + - replication_factor + - partitions_count + - partitions + - configs + - partition_reassignments properties: kind: type: string metadata: - $ref: '#/components/schemas/ResourceCollectionMetadata' - AclData: - allOf: - - $ref: '#/components/schemas/Resource' - - type: object - required: - - cluster_id - - resource_type - - resource_name - - pattern_type - - principal - - host - - operation - - permission - properties: - cluster_id: - type: string - resource_type: - $ref: '#/components/schemas/AclResourceType' - resource_name: - type: string - pattern_type: - $ref: '#/components/schemas/AclPatternType' - principal: - type: string - host: - type: string - operation: - $ref: '#/components/schemas/AclOperation' - permission: - $ref: '#/components/schemas/AclPermission' - ResourceCollectionMetadata: + $ref: '#/components/schemas/ResourceMetadata' + cluster_id: + type: string + topic_name: + type: string + is_internal: + type: boolean + replication_factor: + type: integer + partitions_count: + type: integer + partitions: + $ref: '#/components/schemas/Relationship' + configs: + $ref: '#/components/schemas/Relationship' + partition_reassignments: + $ref: '#/components/schemas/Relationship' + authorized_operations: + $ref: '#/components/schemas/AuthorizedOperations' + TopicConfigDataList: type: object required: - - self + - kind + - metadata + - data properties: - self: - type: string - next: + kind: type: string - nullable: true - ClusterConfigDataList: - allOf: - - $ref: '#/components/schemas/ResourceCollection' - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/ClusterConfigData' - ClusterConfigData: - allOf: - - $ref: '#/components/schemas/AbstractConfigData' - - type: object - required: - - config_type - properties: - config_type: - $ref: '#/components/schemas/ClusterConfigType' - AbstractConfigData: - allOf: - - $ref: '#/components/schemas/Resource' - - type: object - required: - - cluster_id - - name - - is_default - - is_read_only - - is_sensitive - - source - - synonyms - properties: - cluster_id: - type: string - name: - type: string - value: - type: string - nullable: true - is_default: - type: boolean - is_read_only: - type: boolean - is_sensitive: - type: boolean - source: - $ref: '#/components/schemas/ConfigSource' - synonyms: - type: array - items: - $ref: '#/components/schemas/ConfigSynonymData' - ClusterConfigType: - type: string - x-extensible-enum: - - BROKER - ConfigSource: - type: string - x-extensible-enum: - - DYNAMIC_CLUSTER_LINK_CONFIG - - DYNAMIC_TOPIC_CONFIG - - DYNAMIC_BROKER_LOGGER_CONFIG - - DYNAMIC_BROKER_CONFIG - - DYNAMIC_DEFAULT_BROKER_CONFIG - - STATIC_BROKER_CONFIG - - DEFAULT_CONFIG - - UNKNOWN - ConfigSynonymData: + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + data: + type: array + items: + $ref: '#/components/schemas/TopicConfigData' + TopicConfigData: type: object required: + - kind + - metadata + - cluster_id - name + - is_default + - is_read_only + - is_sensitive - source + - synonyms + - topic_name properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceMetadata' + cluster_id: + type: string name: type: string value: type: string nullable: true + is_default: + type: boolean + is_read_only: + type: boolean + is_sensitive: + type: boolean source: $ref: '#/components/schemas/ConfigSource' - ConsumerGroupDataList: - allOf: - - $ref: '#/components/schemas/ResourceCollection' - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/ConsumerGroupData' - ConsumerGroupData: - allOf: - - $ref: '#/components/schemas/Resource' - - type: object - required: - - cluster_id - - consumer_group_id - - is_simple - - partition_assignor - - state - - coordinator - - consumers - - lag_summary - properties: - cluster_id: - type: string - consumer_group_id: - type: string - is_simple: - type: boolean - partition_assignor: - type: string - state: - $ref: '#/components/schemas/ConsumerGroupState' - coordinator: - $ref: '#/components/schemas/Relationship' - consumer: - $ref: '#/components/schemas/Relationship' - lag_summary: - $ref: '#/components/schemas/Relationship' - ConsumerGroupState: - type: string - x-extensible-enum: - - UNKNOWN - - PREPARING_REBALANCE - - COMPLETING_REBALANCE - - STABLE - - DEAD - - EMPTY - ConsumerDataList: - allOf: - - $ref: '#/components/schemas/ResourceCollection' - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/ConsumerData' - ConsumerData: - allOf: - - $ref: '#/components/schemas/Resource' - - type: object - required: - - cluster_id - - consumer_group_id - - consumer_id - - client_id - - assignments - properties: - cluster_id: - type: string - consumer_group_id: - type: string - consumer_id: - type: string - instance_id: - type: string - nullable: true - client_id: - type: string - assignments: - $ref: '#/components/schemas/Relationship' - ConsumerGroupLagSummaryData: - allOf: - - $ref: '#/components/schemas/Resource' - - type: object - required: - - cluster_id - - consumer_group_id - - max_lag_consumer_id - - max_lag_client_id - - max_lag_topic_name - - max_lag_partition_id - - max_lag - - total_lag - - max_lag_consumer - - max_lag_partition - properties: - cluster_id: - type: string - consumer_group_id: - type: string - max_lag_consumer_id: - type: string - max_lag_instance_id: - type: string - nullable: true - max_lag_client_id: - type: string - max_lag_topic_name: - type: string - max_lag_partition_id: - type: integer - max_lag: - type: integer - format: int64 - total_lag: - type: integer - format: int64 - max_lag_consumer: - $ref: '#/components/schemas/Relationship' - max_lag_partition: - $ref: '#/components/schemas/Relationship' - ConsumerLagDataList: - allOf: - - $ref: '#/components/schemas/ResourceCollection' - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/ConsumerLagData' - ConsumerLagData: - allOf: - - $ref: '#/components/schemas/Resource' - - type: object - required: - - cluster_id - - consumer_group_id - - topic_name - - partition_id - - current_offset - - log_end_offset - - lag - - consumer_id - - client_id - properties: - cluster_id: - type: string - consumer_group_id: - type: string - topic_name: - type: string - partition_id: - type: integer - current_offset: - type: integer - format: int64 - log_end_offset: - type: integer - format: int64 - lag: - type: integer - format: int64 - consumer_id: - type: string - instance_id: - type: string - nullable: true - client_id: - type: string - TopicDataList: - allOf: - - $ref: '#/components/schemas/ResourceCollection' - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/TopicData' - TopicData: - allOf: - - $ref: '#/components/schemas/Resource' - - type: object - required: - - cluster_id - - topic_name - - is_internal - - replication_factor - - partitions_count - - partitions - - configs - - partition_reassignments - properties: - cluster_id: - type: string - topic_name: - type: string - is_internal: - type: boolean - replication_factor: - type: integer - partitions_count: - type: integer - partitions: - $ref: '#/components/schemas/Relationship' - configs: - $ref: '#/components/schemas/Relationship' - partition_reassignments: - $ref: '#/components/schemas/Relationship' - authorized_operations: - $ref: '#/components/schemas/AuthorizedOperations' - AuthorizedOperations: - type: array - items: - type: string - x-extensible-enum: - - UNKNOWN - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - UpdatePartitionCountRequestData: + synonyms: + type: array + items: + $ref: '#/components/schemas/ConfigSynonymData' + topic_name: + type: string + PartitionDataList: type: object required: - - partitions_count + - kind + - metadata + - data properties: - partitions_count: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + data: + type: array + items: + $ref: '#/components/schemas/PartitionData' + PartitionData: + type: object + required: + - kind + - metadata + - cluster_id + - topic_name + - partition_id + - replicas + - reassignment + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceMetadata' + cluster_id: + type: string + topic_name: + type: string + partition_id: + type: integer + leader: + $ref: '#/components/schemas/Relationship' + replicas: + $ref: '#/components/schemas/Relationship' + reassignment: + $ref: '#/components/schemas/Relationship' + ProduceRequest: + type: object + properties: + partition_id: type: integer + nullable: true format: int32 - TopicConfigDataList: - allOf: - - $ref: '#/components/schemas/ResourceCollection' - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/TopicConfigData' - TopicConfigData: - allOf: - - $ref: '#/components/schemas/AbstractConfigData' - - type: object - required: - - topic_name - properties: - topic_name: - type: string - PartitionDataList: - allOf: - - $ref: '#/components/schemas/ResourceCollection' - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/PartitionData' - PartitionData: - allOf: - - $ref: '#/components/schemas/Resource' - - type: object - required: - - cluster_id - - topic_name - - partition_id - - replicas - - reassignment - properties: - cluster_id: - type: string - topic_name: - type: string - partition_id: - type: integer - leader: - $ref: '#/components/schemas/Relationship' - replicas: - $ref: '#/components/schemas/Relationship' - reassignment: - $ref: '#/components/schemas/Relationship' + headers: + type: array + items: + $ref: '#/components/schemas/ProduceRequestHeader' + key: + $ref: '#/components/schemas/ProduceRequestData' + value: + $ref: '#/components/schemas/ProduceRequestData' + timestamp: + type: string + format: date-time + nullable: true ProduceResponse: type: object required: @@ -1939,540 +2817,686 @@ components: $ref: '#/components/schemas/ProduceResponseData' value: $ref: '#/components/schemas/ProduceResponseData' - ProduceResponseData: + ListLinksResponseDataList: type: object required: - - size - - type + - kind + - metadata + - data properties: - size: - type: integer - type: + kind: type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - nullable: true - ListLinksResponseDataList: - allOf: - - $ref: '#/components/schemas/ResourceCollection' - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/ListLinksResponseData' + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + data: + type: array + items: + $ref: '#/components/schemas/ListLinksResponseData' + CreateLinkRequestData: + properties: + source_cluster_id: + type: string + destination_cluster_id: + type: string + remote_cluster_id: + description: The expected remote cluster ID. + type: string + cluster_link_id: + description: >- + The expected cluster link ID. Can be provided when creating the + second side of a bidirectional link for validating the link ID is as + expected. If it's not provided, it's inferred from the remote + cluster. + type: string + configs: + items: + $ref: '#/components/schemas/ConfigData' + type: array + type: object ListLinksResponseData: - allOf: - - $ref: '#/components/schemas/Resource' - - type: object - required: - - link_name - - cluster_link_id - - topic_names - properties: - source_cluster_id: - type: string - nullable: true - destination_cluster_id: - type: string - nullable: true - remote_cluster_id: - type: string - nullable: true - link_name: - type: string - link_id: - type: string - deprecated: true - cluster_link_id: - type: string - topic_names: - type: array - items: - type: string - link_error: - $ref: '#/components/schemas/LinkError' - nullable: true - link_error_message: - type: string - nullable: true - link_state: - $ref: '#/components/schemas/LinkState' - nullable: true - tasks: - nullable: true - type: array - items: - $ref: '#/components/schemas/LinkTask' - LinkError: - type: string - x-extensible-enum: - - UNKNOWN - - NO_ERROR - - AUTHENTICATION_ERROR - - UNRESOLVABLE_BOOTSTRAP_ERROR - - INVALID_BOOTSTRAP_INTERNAL_ENDPOINT_ERROR - - BOOTSTRAP_TCP_CONNECTION_FAILED_ERROR - - TIMEOUT_ERROR - LinkState: - type: string - x-extensible-enum: - - ACTIVE - - FAILED - - UNAVAILABLE - - PAUSED - - UNKNOWN - LinkTask: type: object required: - - task_name - - state - - errors + - kind + - metadata + - link_name + - cluster_link_id + - topic_names properties: - task_name: + kind: type: string - state: - $ref: '#/components/schemas/LinkTaskState' - errors: + metadata: + $ref: '#/components/schemas/ResourceMetadata' + source_cluster_id: + type: string + nullable: true + destination_cluster_id: + type: string + nullable: true + remote_cluster_id: + type: string + nullable: true + link_name: + type: string + link_id: + type: string + deprecated: true + cluster_link_id: + type: string + topic_names: type: array items: - $ref: '#/components/schemas/LinkTaskError' - LinkTaskState: - type: string - x-extensible-enum: - - UNKNOWN - - ACTIVE - - IN_ERROR - - NOT_CONFIGURED - - LINK_FAILED - - LINK_UNAVAILABLE - - LINK_PAUSED - LinkTaskError: + type: string + link_error: + $ref: '#/components/schemas/LinkError' + nullable: true + link_error_message: + type: string + nullable: true + link_state: + $ref: '#/components/schemas/LinkState' + nullable: true + tasks: + nullable: true + type: array + items: + $ref: '#/components/schemas/LinkTask' + category_counts: + nullable: true + type: array + items: + $ref: '#/components/schemas/LinkCategory' + ListLinkConfigsResponseDataList: type: object required: - - error_code - - error_message + - kind + - metadata + - data properties: - error_code: - type: string - error_message: + kind: type: string - ListLinkConfigsResponseDataList: - allOf: - - $ref: '#/components/schemas/ResourceCollection' - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/ListLinkConfigsResponseData' + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + data: + type: array + items: + $ref: '#/components/schemas/ListLinkConfigsResponseData' ListLinkConfigsResponseData: - allOf: - - $ref: '#/components/schemas/Resource' - - type: object - required: - - cluster_id - - name - - value - - default - - read_only - - sensitive - - source - - synonyms - - link_name - properties: - cluster_id: - type: string - name: - type: string - value: - type: string - read_only: - type: boolean - sensitive: - type: boolean - source: - type: string - x-extensible-enum: - - DYNAMIC_CLUSTER_LINK_CONFIG - synonyms: - type: array - items: - type: string - link_name: - type: string + type: object + required: + - kind + - metadata + - cluster_id + - name + - value + - is_default + - is_read_only + - is_sensitive + - source + - synonyms + - link_name + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceMetadata' + cluster_id: + type: string + name: + type: string + value: + type: string + is_default: + type: boolean + is_read_only: + type: boolean + is_sensitive: + type: boolean + source: + type: string + x-extensible-enum: + - DYNAMIC_CLUSTER_LINK_CONFIG + synonyms: + type: array + items: + type: string + link_name: + type: string + UpdateLinkConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + CreateMirrorTopicRequestData: + properties: + source_topic_name: + type: string + mirror_topic_name: + type: string + replication_factor: + type: integer + configs: + type: array + items: + $ref: '#/components/schemas/ConfigData' + required: + - source_topic_name + type: object + MirrorTopicStatus: + enum: + - ACTIVE + - FAILED + - LINK_FAILED + - LINK_PAUSED + - PAUSED + - PENDING_STOPPED + - SOURCE_UNAVAILABLE + - STOPPED + - PENDING_MIRROR + - PENDING_SYNCHRONIZE + - PENDING_SETUP_FOR_RESTORE + - PENDING_RESTORE + type: string ListMirrorTopicsResponseDataList: - allOf: - - $ref: '#/components/schemas/ResourceCollection' - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/ListMirrorTopicsResponseData' + type: object + required: + - kind + - metadata + - data + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + data: + type: array + items: + $ref: '#/components/schemas/ListMirrorTopicsResponseData' ListMirrorTopicsResponseData: - allOf: - - $ref: '#/components/schemas/Resource' - - type: object - required: - - link_name - - mirror_topic_name - - source_topic_name - - num_partitions - - mirror_lags - - mirror_status - - state_time_ms - properties: - link_name: - type: string - mirror_topic_name: - type: string - source_topic_name: - type: string - num_partitions: - type: integer - mirror_lags: - $ref: '#/components/schemas/MirrorLags' - mirror_status: - $ref: '#/components/schemas/MirrorTopicStatus' - state_time_ms: - type: integer - format: int64 - mirror_state_transition_errors: - type: array - items: - $ref: '#/components/schemas/LinkTaskError' - MirrorLags: - type: array - items: - $ref: '#/components/schemas/MirrorLag' - MirrorLag: type: object required: - - partition - - lag - - last_source_fetch_offset + - kind + - metadata + - link_name + - mirror_topic_name + - source_topic_name + - num_partitions + - mirror_lags + - mirror_status + - state_time_ms properties: - partition: - type: integer - lag: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceMetadata' + link_name: + type: string + mirror_topic_name: + type: string + source_topic_name: + type: string + num_partitions: type: integer - format: int64 - last_source_fetch_offset: + mirror_lags: + $ref: '#/components/schemas/MirrorLags' + mirror_status: + $ref: '#/components/schemas/MirrorTopicStatus' + mirror_topic_error: + $ref: '#/components/schemas/MirrorTopicError' + state_time_ms: type: integer format: int64 + mirror_state_transition_errors: + type: array + items: + $ref: '#/components/schemas/LinkTaskError' + AlterMirrorsRequestData: + properties: + mirror_topic_names: + description: The mirror topics specified as a list of topic names. + type: array + items: + type: string + mirror_topic_name_pattern: + description: The mirror topics specified as a pattern. + type: string + type: object AlterMirrorStatusResponseDataList: - allOf: - - $ref: '#/components/schemas/ResourceCollection' - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/AlterMirrorStatusResponseData' - AlterMirrorStatusResponseData: - allOf: - - $ref: '#/components/schemas/Resource' - - type: object - required: - - mirror_topic_name - - error_message - - error_code - - mirror_lags - - messages_truncated - - partition_level_truncation_data - properties: - mirror_topic_name: - type: string - error_message: - type: string - nullable: true - error_code: - type: integer - nullable: true - mirror_lags: - $ref: '#/components/schemas/MirrorLags' - messages_truncated: - type: integer - format: int64 - nullable: true - partition_level_truncation_data: - $ref: '#/components/schemas/PartitionLevelTruncationDataList' - nullable: true - PartitionLevelTruncationDataList: - type: array - items: - $ref: '#/components/schemas/PartitionLevelTruncationData' - PartitionLevelTruncationData: type: object required: - - partition_id - - offset_truncated_to - - messages_truncated + - kind + - metadata + - data properties: - partition_id: - type: integer - offset_truncated_to: - type: integer - format: int64 - messages_truncated: - type: integer - format: int64 - parameters: - AclHost: - name: host - description: The ACL host. - in: query - required: false - schema: - type: string - AclOperation: - name: operation - description: The ACL operation. - in: query - required: false - schema: - $ref: '#/components/schemas/AclOperation' - AclOperationRequired: - name: operation - description: The ACL operation. - in: query - required: true - schema: - $ref: '#/components/schemas/AclOperation' - AclPatternType: - name: pattern_type - description: The ACL pattern type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPatternType' - AclPatternTypeRequired: - name: pattern_type - description: The ACL pattern type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPatternType' - AclPermission: - name: permission - description: The ACL permission. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPermission' - AclPermissionRequired: - name: permission - description: The ACL permission. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPermission' - AclPrincipal: - name: principal - description: The ACL principal. This is the Service Account name or user name. - in: query - required: false - schema: - type: string - AclResourceName: - name: resource_name - description: The ACL resource name. - in: query - required: false - schema: - type: string - AclResourceType: - name: resource_type - description: The ACL resource type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclResourceType' - AclResourceTypeRequired: - name: resource_type - description: The ACL resource type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclResourceType' - BrokerId: - name: broker_id - description: The Kafka broker ID. - in: path - required: true - schema: - type: integer - example: 1 - ClusterId: - name: cluster_id - description: The Kafka cluster ID. - in: path - required: true - schema: - type: string - example: cluster-1 - ConfigName: - name: name - description: The configuration parameter name. - in: path - required: true - schema: - type: string - example: compression.type - ConsumerGroupId: - name: consumer_group_id - description: The consumer group ID. - in: path - required: true - schema: - type: string - example: consumer-group-1 - ConsumerId: - name: consumer_id - description: The consumer ID. - in: path - required: true - schema: - type: string - example: consumer-1 - IncludeAuthorizedOperations: - name: include_authorized_operations - description: Specify if authorized operations should be included in the response. - in: query - required: false - schema: - type: boolean - PartitionId: - name: partition_id - description: The partition ID. - in: path - required: true - schema: - type: integer - example: 0 - TopicName: - name: topic_name - description: The topic name. - in: path - required: true - schema: - type: string - example: topic-1 - BrokerTaskType: - name: task_type - description: The Kafka broker task type. - in: path - required: true - schema: - $ref: '#/components/schemas/BrokerTaskType' - example: remove-broker - ShouldShutdown: - name: should_shutdown - description: 'To shutdown the broker or not, Default: true' - in: query - required: false - schema: - type: boolean - example: true - ValidateOnly: - name: validate_only - description: 'To validate the action can be performed successfully or not. Default: false' - in: query - required: false - schema: - type: boolean - example: false - ValidateLink: - name: validate_link - description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' - in: query - required: false - schema: - type: boolean - example: false - IncludeTasks: - name: include_tasks - description: 'Whether to include cluster linking tasks in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludeStateTransitionErrors: - name: include_state_transition_errors - description: 'Whether to include mirror state transition errors in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - Force: - name: force - description: 'Force the action. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludePartitionLevelTruncationData: - name: include_partition_level_truncation_data - description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - LinkName: - name: link_name - description: The link name - in: path - required: true - schema: - type: string - example: link-sb1 - LinkConfigName: - name: config_name - description: The link config name - in: path - required: true - schema: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + data: + type: array + items: + $ref: '#/components/schemas/AlterMirrorStatusResponseData' + GroupConfigDataList: + type: object + required: + - kind + - metadata + - data + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + data: + type: array + items: + $ref: '#/components/schemas/GroupConfigData' + GroupConfigData: + type: object + required: + - kind + - metadata + - cluster_id + - group_id + - name + - is_default + - is_read_only + - is_sensitive + - source + - synonyms + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceMetadata' + cluster_id: + type: string + group_id: + type: string + name: + type: string + value: + type: string + nullable: true + is_default: + type: boolean + is_read_only: + type: boolean + is_sensitive: + type: boolean + source: + $ref: '#/components/schemas/ConfigSource' + synonyms: + type: array + items: + $ref: '#/components/schemas/ConfigSynonymData' + UpdateGroupConfigRequestData: + properties: + value: + type: string + required: + - value + type: object + Resource: + type: object + required: + - kind + - metadata + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceMetadata' + Relationship: + type: object + required: + - related + properties: + related: + type: string + ResourceCollection: + type: object + required: + - kind + - metadata + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + AbstractConfigData: + type: object + required: + - kind + - metadata + - cluster_id + - name + - is_default + - is_read_only + - is_sensitive + - source + - synonyms + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceMetadata' + cluster_id: + type: string + name: + type: string + value: + type: string + nullable: true + is_default: + type: boolean + is_read_only: + type: boolean + is_sensitive: + type: boolean + source: + $ref: '#/components/schemas/ConfigSource' + synonyms: + type: array + items: + $ref: '#/components/schemas/ConfigSynonymData' + ClusterConfigType: + type: string + x-extensible-enum: + - BROKER + ConsumerGroupState: + type: string + x-extensible-enum: + - UNKNOWN + - PREPARING_REBALANCE + - COMPLETING_REBALANCE + - ASSIGNING + - RECONCILING + - STABLE + - DEAD + - EMPTY + ConsumerGroupType: + type: string + x-extensible-enum: + - UNKNOWN + - CLASSIC + - CONSUMER + - SHARE + AuthorizedOperations: + type: array + items: type: string - example: consumer.offset.sync.enable - MirrorTopicStatus: - name: mirror_status - description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' - in: query - required: false - schema: - $ref: '#/components/schemas/MirrorTopicStatus' - example: ACTIVE - MirrorTopicName: - name: mirror_topic_name - description: Cluster Linking mirror topic name - in: path - required: true - schema: - type: string - example: topic-1 - QueryParamLinkName: - name: link_name - description: The link name - in: query - required: true - schema: - type: string - example: link-sb1 + x-extensible-enum: + - UNKNOWN + - ALL + - READ + - WRITE + - CREATE + - DELETE + - ALTER + - DESCRIBE + - CLUSTER_ACTION + - DESCRIBE_CONFIGS + - ALTER_CONFIGS + - IDEMPOTENT_WRITE + ProduceRequestHeader: + type: object + required: + - name + properties: + name: + type: string + value: + type: string + format: byte + nullable: true + ProduceRequestData: + type: object + properties: + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + data: + $ref: '#/components/schemas/AnyValue' + nullable: true + ProduceResponseData: + type: object + required: + - size + - type + properties: + size: + type: integer + type: + type: string + x-extensible-enum: + - BINARY + - JSON + - STRING + nullable: true + ConfigData: + example: + name: name + value: value + properties: + name: + type: string + value: + nullable: true + type: string + required: + - name + - value + type: object + LinkError: + type: string + x-extensible-enum: + - UNKNOWN + - NO_ERROR + - AUTHENTICATION_ERROR + - UNRESOLVABLE_BOOTSTRAP_ERROR + - INVALID_BOOTSTRAP_INTERNAL_ENDPOINT_ERROR + - BOOTSTRAP_TCP_CONNECTION_FAILED_ERROR + - TIMEOUT_ERROR + LinkState: + type: string + x-extensible-enum: + - ACTIVE + - FAILED + - UNAVAILABLE + - PAUSED + - UNKNOWN + LinkTask: + type: object + required: + - task_name + - state + - errors + properties: + task_name: + type: string + state: + $ref: '#/components/schemas/LinkTaskState' + errors: + type: array + items: + $ref: '#/components/schemas/LinkTaskError' + LinkCategory: + type: object + required: + - state_category + - count + properties: + state_category: + $ref: '#/components/schemas/StateCategory' + count: + type: integer + format: int32 + example: 123 + MirrorLags: + type: array + items: + $ref: '#/components/schemas/MirrorLag' + MirrorTopicError: + type: string + x-extensible-enum: + - UNKNOWN + - NOT_SET + - NO_ERROR + - SOURCE_TOPIC_MAY_BE_DELETED + - SOURCE_TOPIC_ID_CHANGED + - SOURCE_PARTITIONS_DECREASED + - NON_MONOTONIC_LOG_APPEND_EPOCH + - UNEXPECTED_TRUNCATION + - UNSUPPORTED_MESSAGE_FORMAT + - NON_MONOTONIC_SOURCE_EPOCH + - ILLEGAL_STATE + - UNSUPPORTED_MIRROR_STATE + LinkTaskError: + type: object + required: + - error_code + - error_message + properties: + error_code: + type: string + error_message: + type: string + AlterMirrorStatusResponseData: + type: object + required: + - kind + - metadata + - mirror_topic_name + - error_message + - error_code + - mirror_lags + - messages_truncated + - partition_level_truncation_data + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceMetadata' + mirror_topic_name: + type: string + error_message: + type: string + nullable: true + error_code: + type: integer + nullable: true + mirror_lags: + $ref: '#/components/schemas/MirrorLags' + messages_truncated: + type: integer + format: int64 + nullable: true + partition_level_truncation_data: + $ref: '#/components/schemas/PartitionLevelTruncationDataList' + nullable: true + ConfigSource: + type: string + x-extensible-enum: + - DYNAMIC_CLUSTER_LINK_CONFIG + - DYNAMIC_TOPIC_CONFIG + - DYNAMIC_BROKER_LOGGER_CONFIG + - DYNAMIC_BROKER_CONFIG + - DYNAMIC_DEFAULT_BROKER_CONFIG + - STATIC_BROKER_CONFIG + - DEFAULT_CONFIG + - UNKNOWN + ConfigSynonymData: + type: object + required: + - name + - source + properties: + name: + type: string + value: + type: string + nullable: true + source: + $ref: '#/components/schemas/ConfigSource' + ResourceMetadata: + type: object + required: + - self + properties: + self: + type: string + resource_name: + type: string + nullable: true + ResourceCollectionMetadata: + type: object + required: + - self + properties: + self: + type: string + next: + type: string + nullable: true + AnyValue: + nullable: true + LinkTaskState: + type: string + x-extensible-enum: + - UNKNOWN + - ACTIVE + - IN_ERROR + - NOT_CONFIGURED + - LINK_FAILED + - LINK_UNAVAILABLE + - LINK_PAUSED + StateCategory: + type: string + x-extensible-enum: + - PAUSED + - IN_ERROR + - PENDING + - ACTIVE + - NOT_APPLICABLE + MirrorLag: + type: object + required: + - partition + - lag + - last_source_fetch_offset + properties: + partition: + type: integer + lag: + type: integer + format: int64 + last_source_fetch_offset: + type: integer + format: int64 + PartitionLevelTruncationDataList: + type: array + items: + $ref: '#/components/schemas/PartitionLevelTruncationData' + PartitionLevelTruncationData: + type: object + required: + - partition_id + - offset_truncated_to + - messages_truncated + properties: + partition_id: + type: integer + offset_truncated_to: + type: integer + format: int64 + messages_truncated: + type: integer + format: int64 responses: GetClusterResponse: description: The Kafka cluster. @@ -2483,75 +3507,114 @@ components: example: kind: KafkaCluster metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1' - resource_name: 'crn:///kafka=cluster-1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1 + resource_name: crn:///kafka=cluster-1 cluster_id: cluster-1 controller: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1 acls: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls brokers: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers broker_configs: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs consumer_groups: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups topics: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics partition_reassignments: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/-/partitions/-/reassignment' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/-/partitions/-/reassignment BadRequestErrorResponse: - description: Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure. + description: >- + Indicates a bad request error. It could be caused by an unexpected + request body format or other forms of request validation failure. content: application/json: schema: $ref: '#/components/schemas/Error' examples: bad_request_cannot_deserialize: - description: Thrown when trying to deserialize an integer from non-integer data. + description: >- + Thrown when trying to deserialize an integer from non-integer + data. value: error_code: 400 - message: 'Cannot deserialize value of type `java.lang.Integer` from String "A": not a valid `java.lang.Integer` value' + message: >- + Cannot deserialize value of type `java.lang.Integer` from + String "A": not a valid `java.lang.Integer` value unsupported_version_exception: - description: Thrown when the version of this API is not supported in the underlying Kafka cluster. + description: >- + Thrown when the version of this API is not supported in the + underlying Kafka cluster. value: error_code: 40035 - message: The version of this API is not supported in the underlying Kafka cluster. + message: >- + The version of this API is not supported in the underlying + Kafka cluster. UnauthorizedErrorResponse: - description: Indicates a client authentication error. Kafka authentication failures will contain error code 40101 in the response body. + description: >- + Indicates a client authentication error. Kafka authentication failures + will contain error code 40101 in the response body. content: application/json: schema: $ref: '#/components/schemas/Error' examples: kafka_authentication_failed: - description: Thrown when using Basic authentication with wrong Kafka credentials. + description: >- + Thrown when using Basic authentication with wrong Kafka + credentials. value: error_code: 40101 message: Authentication failed ForbiddenErrorResponse: - description: Indicates a client authorization error. Kafka authorization failures will contain error code 40301 in the response body. + description: >- + Indicates a client authorization error. Kafka authorization failures + will contain error code 40301 in the response body. content: application/json: schema: $ref: '#/components/schemas/Error' examples: kafka_authorization_failed: - description: Thrown when the caller is not authorized to perform the underlying operation. + description: >- + Thrown when the caller is not authorized to perform the + underlying operation. value: error_code: 40301 message: Request is not authorized TooManyRequestsErrorResponse: - description: 'Indicates that a rate limit threshold has been reached, and the client should retry again later.' + description: >- + Indicates that a rate limit threshold has been reached, and the client + should retry again later. content: text/html: schema: type: string example: description: A sample response from Jetty's DoSFilter. - value: ' Error 429 Too Many Requests

HTTP ERROR 429 Too Many Requests

URI: /v3/clusters/my-cluster
STATUS: 429
MESSAGE: Too Many Requests
SERVLET: default
' + value: >- + Error 429 Too Many + Requests

HTTP ERROR 429 Too Many + Requests

+ + +
URI:/v3/clusters/my-cluster
STATUS:429
MESSAGE: Too Many + Requests
SERVLET: default
ServerErrorResponse: - description: A server-side problem that might not be addressable from the client side. Retriable Kafka errors will contain error code 50003 in the response body. + description: >- + A server-side problem that might not be addressable from the client + side. Retriable Kafka errors will contain error code 50003 in the + response body. content: application/json: schema: @@ -2563,14 +3626,18 @@ components: error_code: 500 message: Internal Server Error BadRequestErrorResponse_CreateAcls: - description: Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure. + description: >- + Indicates a bad request error. It could be caused by an unexpected + request body format or other forms of request validation failure. content: application/json: schema: $ref: '#/components/schemas/Error' examples: create_acls_cluster_name_invalid: - description: Thrown when creating an ACL for a CLUSTER resource specifying the wrong resource name. + description: >- + Thrown when creating an ACL for a CLUSTER resource specifying + the wrong resource name. value: error_code: 40002 message: The only valid name for the CLUSTER resource is kafka-cluster" @@ -2583,27 +3650,30 @@ components: example: kind: KafkaAclList metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?principal=User%3Aalice' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?principal=User%3Aalice data: - kind: KafkaAcl metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=TOPIC&resource_name=topic-&pattern_type=PREFIXED&principal=User%3Aalice&host=*&operation=ALL&permission=ALLOW' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=TOPIC&resource_name=topic-&pattern_type=PREFIXED&principal=User%3Aalice&host=*&operation=ALL&permission=ALLOW cluster_id: cluster-1 resource_type: TOPIC resource_name: topic- pattern_type: PREFIXED - principal: 'User:alice' + principal: User:alice host: '*' operation: ALL permission: ALLOW - kind: KafkaAcl metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=CLUSTER&resource_name=kafka-cluster&pattern_type=LITERAL&principal=User%3Aalice&host=*&operation=DESCRIBE&permission=DENY' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=CLUSTER&resource_name=kafka-cluster&pattern_type=LITERAL&principal=User%3Aalice&host=*&operation=DESCRIBE&permission=DENY cluster_id: cluster-1 resource_type: CLUSTER resource_name: kafka-cluster pattern_type: LITERAL - principal: 'User:alice' + principal: User:alice host: '*' operation: DESCRIBE permission: DENY @@ -2624,35 +3694,41 @@ components: data: - kind: KafkaAcl metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=TOPIC&resource_name=topic-&pattern_type=PREFIXED&principal=User%3Aalice&host=*&operation=ALL&permission=ALLOW' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=TOPIC&resource_name=topic-&pattern_type=PREFIXED&principal=User%3Aalice&host=*&operation=ALL&permission=ALLOW cluster_id: cluster-1 resource_type: TOPIC resource_name: topic- pattern_type: PREFIXED - principal: 'User:alice' + principal: User:alice host: '*' operation: ALL permission: ALLOW - kind: KafkaAcl metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=CLUSTER&resource_name=kafka-cluster&pattern_type=LITERAL&principal=User%3Aalice&host=*&operation=DESCRIBE&permission=DENY' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=CLUSTER&resource_name=kafka-cluster&pattern_type=LITERAL&principal=User%3Aalice&host=*&operation=DESCRIBE&permission=DENY cluster_id: cluster-1 resource_type: CLUSTER resource_name: kafka-cluster pattern_type: LITERAL - principal: 'User:alice' + principal: User:alice host: '*' operation: DESCRIBE permission: DENY BadRequestErrorResponse_DeleteAcls: - description: Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure. + description: >- + Indicates a bad request error. It could be caused by an unexpected + request body format or other forms of request validation failure. content: application/json: schema: $ref: '#/components/schemas/Error' examples: delete_acls_unspecified_resource_type: - description: Thrown when trying to delete ACLs without specifying a valid resource type. + description: >- + Thrown when trying to delete ACLs without specifying a valid + resource type. value: error_code: 400 message: resource_type cannot be unspecified or UNKNOWN @@ -2665,13 +3741,15 @@ components: example: kind: KafkaClusterConfigList metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs next: null data: - kind: KafkaClusterConfig metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/max.connections' - resource_name: 'crn:///kafka=cluster-1/broker-config=max.connections' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/max.connections + resource_name: crn:///kafka=cluster-1/broker-config=max.connections cluster_id: cluster-1 config_type: BROKER name: max.connections @@ -2689,8 +3767,9 @@ components: source: DEFAULT_CONFIG - kind: KafkaClusterConfig metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type' - resource_name: 'crn:///kafka=cluster-1/broker-config=compression.type' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type + resource_name: crn:///kafka=cluster-1/broker-config=compression.type cluster_id: cluster-1 config_type: BROKER name: compression.type @@ -2715,8 +3794,9 @@ components: example: kind: KafkaClusterConfig metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type' - resource_name: 'crn:///kafka=cluster-1/broker-config=compression.type' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type + resource_name: crn:///kafka=cluster-1/broker-config=compression.type cluster_id: cluster-1 config_type: BROKER name: compression.type @@ -2741,54 +3821,73 @@ components: example: kind: KafkaConsumerGroupList metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups next: null data: - kind: KafkaConsumerGroup metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1' - resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1 + resource_name: crn:///kafka=cluster-1/consumer-group=consumer-group-1 cluster_id: cluster-1 consumer_group_id: consumer-group-1 is_simple: false partition_assignor: org.apache.kafka.clients.consumer.RoundRobinAssignor state: STABLE + type: CLASSIC + is_mixed_consumer_group: false coordinator: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1 consumers: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers lag_summary: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary - kind: KafkaConsumerGroup metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-2' - resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-2' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-2 + resource_name: crn:///kafka=cluster-1/consumer-group=consumer-group-2 cluster_id: cluster-1 consumer_group_id: consumer-group-2 is_simple: false partition_assignor: org.apache.kafka.clients.consumer.StickyAssignor state: PREPARING_REBALANCE + type: CLASSIC + is_mixed_consumer_group: false coordinator: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2 consumers: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-2/consumers' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-2/consumers lag_summary: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-2/lag-summary' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-2/lag-summary - kind: KafkaConsumerGroup metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-3' - resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-3' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-3 + resource_name: crn:///kafka=cluster-1/consumer-group=consumer-group-3 cluster_id: cluster-1 consumer_group_id: consumer-group-3 is_simple: false partition_assignor: org.apache.kafka.clients.consumer.RangeAssignor state: DEAD + type: CLASSIC + is_mixed_consumer_group: false coordinator: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/3' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/3 consumers: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-3/consumers' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-3/consumers lag_summary: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-3/lag-summary' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-3/lag-summary GetConsumerGroupResponse: description: The consumer group. content: @@ -2798,19 +3897,25 @@ components: example: kind: KafkaConsumerGroup metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1' - resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1 + resource_name: crn:///kafka=cluster-1/consumer-group=consumer-group-1 cluster_id: cluster-1 consumer_group_id: consumer-group-1 is_simple: false partition_assignor: org.apache.kafka.clients.consumer.RoundRobinAssignor state: STABLE + type: CLASSIC + is_mixed_consumer_group: false coordinator: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1 consumers: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers lag_summary: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary ListConsumersResponse: description: The list of consumers. content: @@ -2820,42 +3925,52 @@ components: example: kind: KafkaConsumerList metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers next: null data: - kind: KafkaConsumer metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1' - resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1 + resource_name: >- + crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-1 cluster_id: cluster-1 consumer_group_id: consumer-group-1 consumer_id: consumer-1 instance_id: consumer-instance-1 client_id: client-1 assignments: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1/assignments' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1/assignments - kind: KafkaConsumer metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-2' - resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-2' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-2 + resource_name: >- + crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-2 cluster_id: cluster-1 consumer_group_id: consumer-group-1 consumer_id: consumer-2 instance_id: consumer-instance-2 client_id: client-2 assignments: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-2/assignments' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-2/assignments - kind: KafkaConsumer metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-2' - resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-2' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-2 + resource_name: >- + crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-2 cluster_id: cluster-1 consumer_group_id: consumer-group-1 consumer_id: consumer-2 instance_id: consumer-instance-2 client_id: client-2 assignments: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-2/assignments' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-2/assignments GetConsumerGroupLagSummaryResponse: description: The max and total consumer lag in a consumer group. content: @@ -2865,8 +3980,10 @@ components: example: kind: KafkaConsumerGroupLagSummary metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary' - resource_name: 'crn:///kafka=cluster-1/consumer-groups=consumer-group-1/lag-summary' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary + resource_name: >- + crn:///kafka=cluster-1/consumer-groups=consumer-group-1/lag-summary cluster_id: cluster-1 consumer_group_id: consumer-group-1 max_lag_consumer_id: consumer-1 @@ -2877,9 +3994,11 @@ components: max_lag: 100 total_lag: 110 max_lag_consumer: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1 max_lag_partition: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1 ListConsumerLagsResponse: description: The list of consumer lags. content: @@ -2889,13 +4008,16 @@ components: example: kind: KafkaConsumerLagList metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags next: null data: - kind: KafkaConsumerLag metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/1' - resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1/lag=topic-1/partition=1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/1 + resource_name: >- + crn:///kafka=cluster-1/consumer-group=consumer-group-1/lag=topic-1/partition=1 cluster_id: cluster-1 consumer_group_id: consumer-group-1 topic_name: topic-1 @@ -2908,8 +4030,10 @@ components: lag: 100 - kind: KafkaConsumerLag metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/2' - resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1/lag=topic-1/partition=2' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/2 + resource_name: >- + crn:///kafka=cluster-1/consumer-group=consumer-group-1/lag=topic-1/partition=2 cluster_id: cluster-1 consumer_group_id: consumer-group-1 topic_name: topic-1 @@ -2922,8 +4046,10 @@ components: lag: 10 - kind: KafkaConsumerLag metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/3' - resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1/lag=topic-1/partition=3' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/3 + resource_name: >- + crn:///kafka=cluster-1/consumer-group=consumer-group-1/lag=topic-1/partition=3 cluster_id: cluster-1 consumer_group_id: consumer-group-1 topic_name: topic-1 @@ -2943,8 +4069,10 @@ components: example: kind: KafkaConsumerLag metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/1' - resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1/lag=topic-1/partition=1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/1 + resource_name: >- + crn:///kafka=cluster-1/consumer-group=consumer-group-1/lag=topic-1/partition=1 cluster_id: cluster-1 consumer_group_id: consumer-group-1 topic_name: topic-1 @@ -2964,15 +4092,18 @@ components: example: kind: KafkaConsumer metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1' - resource_name: 'crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1 + resource_name: >- + crn:///kafka=cluster-1/consumer-group=consumer-group-1/consumer=consumer-1 cluster_id: cluster-1 consumer_group_id: consumer-group-1 consumer_id: consumer-1 instance_id: consumer-instance-1 client_id: client-1 assignments: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1/assignments' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1/assignments ListTopicsResponse: description: The list of topics. content: @@ -2982,54 +4113,67 @@ components: example: kind: KafkaTopicList metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics next: null data: - kind: KafkaTopic metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1' - resource_name: 'crn:///kafka=cluster-1/topic=topic-1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1 + resource_name: crn:///kafka=cluster-1/topic=topic-1 cluster_id: cluster-1 topic_name: topic-1 is_internal: false replication_factor: 3 partitions_count: 1 partitions: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions configs: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs partition_reassignments: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/-/reassignments' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/-/reassignments - kind: KafkaTopic metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2' - resource_name: 'crn:///kafka=cluster-1/topic=topic-2' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2 + resource_name: crn:///kafka=cluster-1/topic=topic-2 cluster_id: cluster-1 topic_name: topic-2 is_internal: true replication_factor: 4 partitions_count: 1 partitions: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2/partitions' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2/partitions configs: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2/configs' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2/configs partition_reassignments: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2/partitions/-/reassignments' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2/partitions/-/reassignments - kind: KafkaTopic metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3' - resource_name: 'crn:///kafka=cluster-1/topic=topic-3' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3 + resource_name: crn:///kafka=cluster-1/topic=topic-3 cluster_id: cluster-1 topic_name: topic-3 is_internal: false replication_factor: 5 partitions_count: 1 partitions: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3/partitions' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3/partitions configs: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3/configs' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3/configs partition_reassignments: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3/partitions/-/reassignments' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3/partitions/-/reassignments CreateTopicResponse: description: The created topic. content: @@ -3039,33 +4183,43 @@ components: example: kind: KafkaTopic metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-X' - resource_name: 'crn:///kafka=cluster-1/topic=topic-X' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-X + resource_name: crn:///kafka=cluster-1/topic=topic-X cluster_id: cluster-1 topic_name: topic-X is_internal: false replication_factor: 3 partitions_count: 1 partitions: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-X/partitions' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-X/partitions configs: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-X/configs' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-X/configs partition_reassignments: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-X/partitions/-/reassignments' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-X/partitions/-/reassignments BadRequestErrorResponse_CreateTopic: - description: Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure. + description: >- + Indicates a bad request error. It could be caused by an unexpected + request body format or other forms of request validation failure. content: application/json: schema: $ref: '#/components/schemas/Error' examples: create_topic_already_exists: - description: Thrown when trying to create a topic with a name already used by an existing topic. + description: >- + Thrown when trying to create a topic with a name already used by + an existing topic. value: error_code: 40002 message: Topic 'my-topic' already exists. create_topic_replication_factor_too_large: - description: Thrown when trying to create a topic with a replication factor larger than the number of brokers. + description: >- + Thrown when trying to create a topic with a replication factor + larger than the number of brokers. value: error_code: 40002 message: 'Replication factor: 2 larger than available brokers: 1.' @@ -3078,21 +4232,28 @@ components: example: kind: KafkaTopic metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1' - resource_name: 'crn:///kafka=cluster-1/topic=topic-1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1 + resource_name: crn:///kafka=cluster-1/topic=topic-1 cluster_id: cluster-1 topic_name: topic-1 is_internal: false replication_factor: 3 partitions_count: 1 partitions: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions configs: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs partition_reassignments: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/-/reassignments' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/-/reassignments NotFoundErrorResponse: - description: Indicates attempted access to an unreachable or non-existing resource like e.g. an unknown topic or partition. GET requests to endpoints not allowed in the accesslists will also result in this response. + description: >- + Indicates attempted access to an unreachable or non-existing resource + like e.g. an unknown topic or partition. GET requests to endpoints not + allowed in the accesslists will also result in this response. content: application/json: schema: @@ -3114,14 +4275,18 @@ components: error_code: 40403 message: This server does not host this topic-partition. BadRequestErrorResponse_UpdatePartitionCountTopic: - description: Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure. + description: >- + Indicates a bad request error. It could be caused by an unexpected + request body format or other forms of request validation failure. content: application/json: schema: $ref: '#/components/schemas/Error' examples: topic_update_partitions_invalid: - description: Thrown when trying to update the number of partitions incorrectly. + description: >- + Thrown when trying to update the number of partitions + incorrectly. value: error_code: 40002 message: Topic already has 1 partitions. @@ -3134,13 +4299,15 @@ components: example: kind: KafkaTopicConfigList metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs next: null data: - kind: KafkaTopicConfig metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/cleanup.policy' - resource_name: 'crn:///kafka=cluster-1/topic=topic-1/config=cleanup.policy' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/cleanup.policy + resource_name: crn:///kafka=cluster-1/topic=topic-1/config=cleanup.policy cluster_id: cluster-1 topic_name: topic-1 name: cleanup.policy @@ -3158,8 +4325,9 @@ components: source: DEFAULT_CONFIG - kind: KafkaTopicConfig metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type' - resource_name: 'crn:///kafka=cluster-1/topic=topic-1/config=compression.type' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type + resource_name: crn:///kafka=cluster-1/topic=topic-1/config=compression.type cluster_id: cluster-1 topic_name: topic-1 name: compression.type @@ -3184,8 +4352,9 @@ components: example: kind: KafkaTopicConfig metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/compression.type' - resource_name: 'crn:///kafka=cluster-1/topic=topic-1/config=compression.type' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/compression.type + resource_name: crn:///kafka=cluster-1/topic=topic-1/config=compression.type cluster_id: cluster-1 topic_name: topic-1 name: compression.type @@ -3210,48 +4379,61 @@ components: example: kind: KafkaPartitionList metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions next: null data: - kind: KafkaPartition metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1' - resource_name: 'crn:///kafka=cluster-1/topic=topic-1/partition=1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1 + resource_name: crn:///kafka=cluster-1/topic=topic-1/partition=1 cluster_id: cluster-1 topic_name: topic-1 partition_id: 1 leader: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas/1' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas/1 replicas: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas reassignment: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/reassignment' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/reassignment - kind: KafkaPartition metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/2' - resource_name: 'crn:///kafka=cluster-1/topic=topic-1/partition=2' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/2 + resource_name: crn:///kafka=cluster-1/topic=topic-1/partition=2 cluster_id: cluster-1 topic_name: topic-1 partition_id: 2 leader: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/2/replicas/2' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/2/replicas/2 replicas: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/2/replicas' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/2/replicas reassignment: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/2/reassignment' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/2/reassignment - kind: KafkaPartition metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/3' - resource_name: 'crn:///kafka=cluster-1/topic=topic-1/partition=3' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/3 + resource_name: crn:///kafka=cluster-1/topic=topic-1/partition=3 cluster_id: cluster-1 topic_name: topic-1 partition_id: 3 leader: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/3/replicas/3' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/3/replicas/3 replicas: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/3/replicas' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/3/replicas reassignment: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/3/reassignment' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/3/reassignment GetPartitionResponse: description: The partition content: @@ -3261,22 +4443,30 @@ components: example: kind: KafkaPartition metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1' - resource_name: 'crn:///kafka=cluster-1/topic=topic-1/partition=1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1 + resource_name: crn:///kafka=cluster-1/topic=topic-1/partition=1 cluster_id: cluster-1 topic_name: topic-1 partition_id: 1 leader: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas/1' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas/1 replicas: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/replicas reassignment: - related: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/reassignment' + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1/reassignment ProduceResponse: - description: |- - The response containing a delivery report for a record produced to a topic. In streaming mode, - for each record sent, a separate delivery report will be returned, in the same order, - each with its own error_code. + description: >- + The response containing a delivery report for a record produced to a + topic. In streaming mode, + + for each record sent, a separate delivery report will be returned, in + the same order, + + each with its own error_code. content: application/json: schema: @@ -3298,48 +4488,71 @@ components: type: JSON size: 15 produce_record_bad_binary_data: - description: Thrown when sending a BINARY value which is not a base64-encoded string. + description: >- + Thrown when sending a BINARY value which is not a base64-encoded + string. value: error_code: 400 message: 'Bad Request: data=1 is not a base64 string.' BadRequestErrorResponse_ProduceRecords: - description: Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure. + description: >- + Indicates a bad request error. It could be caused by an unexpected + request body format or other forms of request validation failure. content: application/json: schema: $ref: '#/components/schemas/Error' examples: header_not_base64_encoded: - description: Thrown when headers in the produce-record are not base64 encoded. + description: >- + Thrown when headers in the produce-record are not base64 + encoded. value: error_code: 400 - message: 'Cannot deserialize value of type `byte[]` from String "": Unexpected end of base64-encoded String: base64 variant ''MIME-NO-LINEFEEDS'' expects padding (one or more ''='' characters) at the end. This Base64Variant might have been incorrectly configured' + message: >- + Cannot deserialize value of type `byte[]` from String "": + Unexpected end of base64-encoded String: base64 variant + 'MIME-NO-LINEFEEDS' expects padding (one or more '=' + characters) at the end. This Base64Variant might have been + incorrectly configured RequestEntityTooLargeErrorResponse: - description: This implies the client is sending a request payload that is larger than the maximum message size the server can accept. + description: >- + This implies the client is sending a request payload that is larger than + the maximum message size the server can accept. content: application/json: schema: $ref: '#/components/schemas/Error' examples: produce_records_expects_json: - description: Thrown by /records API if payload size exceeds the message max size + description: >- + Thrown by /records API if payload size exceeds the message max + size value: error_code: 413 - message: The request included a message larger than the maximum message size the server can accept. + message: >- + The request included a message larger than the maximum message + size the server can accept. UnsupportedMediaTypeErrorResponse: - description: This implies the client is sending the request payload format in an unsupported format. + description: >- + This implies the client is sending the request payload format in an + unsupported format. content: application/json: schema: $ref: '#/components/schemas/Error' examples: produce_records_expects_json: - description: Thrown by /records API if payload format content-type doesn't match expected application/json + description: >- + Thrown by /records API if payload format content-type doesn't + match expected application/json value: error_code: 415 message: HTTP 415 Unsupported Media Type UnprocessableEntity_ProduceRecord: - description: Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure. + description: >- + Indicates a bad request error. It could be caused by an unexpected + request body format or other forms of request validation failure. content: application/json: schema: @@ -3359,12 +4572,14 @@ components: example: kind: KafkaLinkDataList metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/Fds7TcT9TTqEXsoRLEKMcQ/links' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/Fds7TcT9TTqEXsoRLEKMcQ/links next: null data: - kind: KafkaLinkData metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/CIL-69l7S1CwoVNAhoQLug/links/my-new-link-1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/CIL-69l7S1CwoVNAhoQLug/links/my-new-link-1 resource_name: null source_cluster_id: src-cluster-id link_name: my-new-link-1 @@ -3376,7 +4591,8 @@ components: link_state: ACTIVE - kind: KafkaLinkData metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/CIL-69l7S1CwoVNAhoQLug/links/my-new-link-2' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/CIL-69l7S1CwoVNAhoQLug/links/my-new-link-2 resource_name: null remote_cluster_id: src-cluster-id link_name: my-new-link-2 @@ -3390,7 +4606,8 @@ components: link_error_message: Please check your api key and secret - kind: KafkaLinkData metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/CIL-69l7S1CwoVNAhoQLug/links/my-new-link-3' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/CIL-69l7S1CwoVNAhoQLug/links/my-new-link-3 resource_name: null destination_cluster_id: dest-cluster-id link_name: my-new-link-3 @@ -3399,7 +4616,7 @@ components: topic_names: [] link_state: ACTIVE NoContentResponse: - description: 'Operation succeeded, no content in the response' + description: Operation succeeded, no content in the response GetLinkResponse: description: Single link name and properties content: @@ -3412,7 +4629,8 @@ components: value: kind: KafkaLinkData metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/Fds7TcT9TTqEXsoRLEKMcQ/links/my-new-link-1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/Fds7TcT9TTqEXsoRLEKMcQ/links/my-new-link-1 resource_name: null source_cluster_id: src-cluster-id link_name: my-new-link-1 @@ -3426,7 +4644,8 @@ components: value: kind: KafkaLinkData metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/Fds7TcT9TTqEXsoRLEKMcQ/links/my-new-link-1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/Fds7TcT9TTqEXsoRLEKMcQ/links/my-new-link-1 resource_name: null destination_cluster_id: dst-cluster-id link_name: my-new-link-1 @@ -3442,39 +4661,40 @@ components: example: kind: KafkaLinkConfigDataList metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/v-0Ce-CkTyKQol9v46LaCQ/links/link-nb-1/configs' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/v-0Ce-CkTyKQol9v46LaCQ/links/link-nb-1/configs next: null data: - kind: KafkaLinkConfigData metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/1Rh_4htxSuen7RYGvGmgNw/links/my-new-link-1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/1Rh_4htxSuen7RYGvGmgNw/links/my-new-link-1 resource_name: null cluster_id: 1Rh_4htxSuen7RYGvGmgNw name: consumer.offset.sync.ms value: '3825940' - default: false - read_only: false - sensitive: false + is_default: false + is_read_only: false + is_sensitive: false source: DYNAMIC_CLUSTER_LINK_CONFIG synonyms: - cosm link_name: link-db-1 - link_id: 7840644d-f7d8-4844-a577-a10ef3df31df - kind: KafkaLinkConfigData metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/1Rh_4htxSuen7RYGvGmgNw/links/my-new-link-1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/1Rh_4htxSuen7RYGvGmgNw/links/my-new-link-1 resource_name: null cluster_id: 1Rh_4htxSuen7RYGvGmgNw name: acl.sync.ms value: '5000' - default: false - read_only: false - sensitive: false + is_default: false + is_read_only: false + is_sensitive: false source: DYNAMIC_CLUSTER_LINK_CONFIG synonyms: - asm link_name: link-db-1 - link_id: 7840644d-f7d8-4844-a577-a10ef3df31df GetLinkConfigsResponse: description: Config name and value content: @@ -3484,22 +4704,19 @@ components: example: kind: KafkaLinkConfigData metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/1Rh_4htxSuen7RYGvGmgNw/links/my-new-link-1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/1Rh_4htxSuen7RYGvGmgNw/links/my-new-link-1 resource_name: null cluster_id: 1Rh_4htxSuen7RYGvGmgNw name: consumer.offset.sync.ms value: '3825940' - default: false - read_only: false - sensitive: false + is_default: false + is_read_only: false + is_sensitive: false source: DYNAMIC_CLUSTER_LINK_CONFIG synonyms: - cosm link_name: link-db-1 - link_id: 7840644d-f7d8-4844-a577-a10ef3df31df - topics: - - topic-db-1 - - topic-db-2 ListMirrorTopicsResponse: description: Metadata of mirror topics content: @@ -3509,16 +4726,18 @@ components: example: kind: KafkaMirrorDataList metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/link/link-1/mirrors' - resource_name: 'crn:///kafka=cluster-1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/link/link-1/mirrors + resource_name: crn:///kafka=cluster-1 next: null data: - kind: KafkaMirrorData metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/Fds7TcT9TTqEXsoRLEKMcQ/links/link-1/mirrors/topic-1' - resource_name: 'crn:///kafka=cluster-1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/Fds7TcT9TTqEXsoRLEKMcQ/links/link-1/mirrors/topic-1 + resource_name: crn:///kafka=cluster-1 link_name: link-sb-1 - resource_name: 'crn:///kafka=cluster-1' + resource_name: crn:///kafka=cluster-1 mirror_topic_name: topic-1 source_topic_name: topic-1 num_partitions: 3 @@ -3536,10 +4755,11 @@ components: state_time_ms: 1612550939300 - kind: KafkaMirrorData metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/Fds7TcT9TTqEXsoRLEKMcQ/links/link-1/mirrors/topic-2' - resource_name: 'crn:///kafka=cluster-1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/Fds7TcT9TTqEXsoRLEKMcQ/links/link-1/mirrors/topic-2 + resource_name: crn:///kafka=cluster-1 link_name: link-sb-2 - resource_name: 'crn:///kafka=cluster-1' + resource_name: crn:///kafka=cluster-1 mirror_topic_name: topic-2 source_topic_name: topic-2 num_partitions: 3 @@ -3564,8 +4784,9 @@ components: example: kind: KafkaMirrorData metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/link/link-1/mirrors/topic-1' - resource_name: 'crn:///kafka=cluster-1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/link/link-1/mirrors/topic-1 + resource_name: crn:///kafka=cluster-1 link_name: link-sb-1 mirror_topic_name: topic-1 source_topic_name: topic-1 @@ -3591,13 +4812,15 @@ components: example: kind: KafkaPromoteMirror metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-1/mirrors' - resource_name: 'crn:///kafka=cluster-1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-1/mirrors + resource_name: crn:///kafka=cluster-1 data: - kind: AlterMirrorsData metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/my-new-link-1/mirrors/topic-1' - resource: 'crn:///kafka=cluster-1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/my-new-link-1/mirrors/topic-1 + resource: crn:///kafka=cluster-1 mirror_topic_name: topic-sb error_code: null error_message: null @@ -3624,11 +4847,14 @@ components: messages_truncated: 20000 - kind: AlterMirrorsData metadata: - self: 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/my-new-link-1/mirrors/topic-2' - resource: 'crn:///kafka=cluster-1' + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/my-new-link-1/mirrors/topic-2 + resource: crn:///kafka=cluster-1 mirror_topic_name: topic-2 error_code: 400 - error_message: Topic 'topic-2' has already stopped its mirror from 'my-new-link-1' + error_message: >- + Topic 'topic-2' has already stopped its mirror from + 'my-new-link-1' mirror_lags: - partition: 0 lag: 0 @@ -3650,331 +4876,621 @@ components: - partition_id: 2 offset_truncated_to: 20000 messages_truncated: 20000 - securitySchemes: - cloud-api-key: - type: http - scheme: basic - description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. - confluent-sts-access-token: - type: oauth2 - description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' - scopes: {} - api-key: - type: http - scheme: basic - description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. - resource-api-key: - type: http - scheme: basic - description: | - Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID - as the username and resource-specific API Key Secret as the password. - external-access-token: - type: oauth2 - description: Authenticate with OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https:///token' - scopes: {} - oauth: - type: oauth2 - description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. - flows: - clientCredentials: - tokenUrl: /oauth2/token - scopes: - 'partner:alter': enables partners to alter entitlements - 'partner:create': enables partners to create entitlements and signup on behalf of customers - 'partner:delete': enables partners to delete entitlements and organizations - 'partner:describe': enables partners to read and list entitlements and organizations - requestBodies: - AlterBrokerConfigBatchRequest: - description: The alter broker configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterClusterConfigBatchRequest: - description: The alter cluster configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterTopicConfigBatchRequest: - description: The alter topic configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - examples: - batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only_batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only: true - CreateAclRequest: - description: The ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestData' - example: - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - BatchCreateAclRequest: - description: The batch ACL creation request. + ListGroupConfigsResponse: + description: Config name and value for group configurations. content: application/json: schema: - $ref: '#/components/schemas/CreateAclRequestDataList' + $ref: '#/components/schemas/GroupConfigDataList' example: + kind: KafkaGroupConfigDataList + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/groups/group-1/configs + next: null data: - - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - - resource_type: TOPIC - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: READ - permission: ALLOW - CreateTopicRequest: - description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTopicRequestData' - examples: - uniform_replication: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - configs: - - name: cleanup.policy - value: compact - - name: compression.type - value: gzip - dry_run_create_topic: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - validate_only: true - ProduceRequest: - description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' - content: - application/json: - schema: - $ref: '#/components/schemas/ProduceRequest' - examples: - binary_and_json: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - partition_id: 1 - headers: - - name: Header-1 - value: SGVhZGVyLTE= - - name: Header-2 - value: SGVhZGVyLTI= - key: - type: BINARY - data: Zm9vYmFy - value: - type: JSON - data: - foo: bar - timestamp: '2021-02-05T19:14:42Z' - string: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - value: - type: STRING - data: My message - empty_value: - description: key or value can be omitted entirely. - value: - key: - data: 1000 - UpdateBrokerConfigRequest: - description: The broker configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateClusterConfigRequest: - description: The cluster configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateTopicConfigRequest: - description: The topic configuration parameter update request. + - kind: KafkaGroupConfigData + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/groups/group-1/configs/share.session.timeout.ms + resource_name: >- + crn:///kafka=cluster-1/group=group-1/config=share.session.timeout.ms + cluster_id: cluster-1 + group_id: group-1 + name: share.session.timeout.ms + value: '45000' + is_default: false + is_read_only: false + is_sensitive: false + source: DYNAMIC_GROUP_CONFIG + synonyms: + - name: share.session.timeout.ms + value: '45000' + source: DYNAMIC_GROUP_CONFIG + - name: share.session.timeout.ms + value: '30000' + source: DEFAULT_CONFIG + - kind: KafkaGroupConfigData + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/groups/group-1/configs/share.heartbeat.interval.ms + resource_name: >- + crn:///kafka=cluster-1/group=group-1/config=share.heartbeat.interval.ms + cluster_id: cluster-1 + group_id: group-1 + name: share.heartbeat.interval.ms + value: null + is_default: true + is_read_only: false + is_sensitive: false + source: DEFAULT_CONFIG + synonyms: + - name: share.heartbeat.interval.ms + value: '3000' + source: DEFAULT_CONFIG + GetGroupConfigResponse: + description: Config name and value for group configuration. content: application/json: schema: - $ref: '#/components/schemas/UpdateConfigRequestData' + $ref: '#/components/schemas/GroupConfigData' example: - value: gzip - CreateLinkRequest: - description: Create a cluster link - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLinkRequestData' - examples: - destination_initiated_link: - description: Create a destination initiated cluster link - value: - source_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: acl.sync.enable - value: 'false' - - name: consumer.offset.sync.ms - value: '30000' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_source_cluster: - description: Create a source initiated cluster link at source cluster - value: - destination_cluster_id: cluster-2 - configs: - - name: bootstrap.servers - value: cluster-2-bootstrap-server - - name: link.mode - value: SOURCE - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_destination_cluster: - description: Create a source initiated cluster link at destination cluster - value: - destination_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: link.mode - value: DESTINATION - - name: connection.mode - value: INBOUND - - name: acl.sync.enable - value: 'false' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_east: - description: Create a bidirectional cluster link in east - value: - remote_cluster_id: cluster-west - configs: - - name: bootstrap.servers - value: cluster-west-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: west. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_west: - description: Create a bidirectional cluster link in west - value: - remote_cluster_id: cluster-east - cluster_link_id: eEBkTffYSESld6EO898x3w - configs: - - name: bootstrap.servers - value: cluster-east-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: east. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - UpdateLinkConfigRequest: + kind: KafkaGroupConfigData + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/groups/group-1/configs/share.session.timeout.ms + resource_name: >- + crn:///kafka=cluster-1/group=group-1/config=share.session.timeout.ms + cluster_id: cluster-1 + group_id: group-1 + name: share.session.timeout.ms + value: '45000' + is_default: false + is_read_only: false + is_sensitive: false + source: DYNAMIC_GROUP_CONFIG + synonyms: + - name: share.session.timeout.ms + value: '45000' + source: DYNAMIC_GROUP_CONFIG + - name: share.session.timeout.ms + value: '30000' + source: DEFAULT_CONFIG + parameters: + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + AclResourceType: + name: resource_type + description: The ACL resource type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclResourceType' + AclResourceName: + name: resource_name + description: The ACL resource name. + in: query + required: false + schema: + type: string + AclPatternType: + name: pattern_type + description: The ACL pattern type. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPatternType' + AclPrincipal: + name: principal + description: |- + The ACL principal. This is the Service Account name or user name. + Supports both legacy `User:` format (numeric IDs) and new `UserV2:` + format (sa-xxx format) for service accounts. Use `UserV2:*` to + retrieve service accounts in the new format. + in: query + required: false + schema: + type: string + AclHost: + name: host + description: The ACL host. + in: query + required: false + schema: + type: string + AclOperation: + name: operation + description: The ACL operation. + in: query + required: false + schema: + $ref: '#/components/schemas/AclOperation' + AclPermission: + name: permission + description: The ACL permission. + in: query + required: false + schema: + $ref: '#/components/schemas/AclPermission' + AclResourceTypeRequired: + name: resource_type + description: The ACL resource type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclResourceType' + AclPatternTypeRequired: + name: pattern_type + description: The ACL pattern type. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPatternType' + AclOperationRequired: + name: operation + description: The ACL operation. + in: query + required: true + schema: + $ref: '#/components/schemas/AclOperation' + AclPermissionRequired: + name: permission + description: The ACL permission. + in: query + required: true + schema: + $ref: '#/components/schemas/AclPermission' + ConfigName: + name: name + description: The configuration parameter name. + in: path + required: true + schema: + type: string + example: compression.type + ConsumerGroupId: + name: consumer_group_id + description: The consumer group ID. + in: path + required: true + schema: + type: string + example: consumer-group-1 + TopicName: + name: topic_name + description: The topic name. + in: path + required: true + schema: + type: string + example: topic-1 + PartitionId: + name: partition_id + description: The partition ID. + in: path + required: true + schema: + type: integer + example: 0 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + IncludeAuthorizedOperations: + name: include_authorized_operations + description: Specify if authorized operations should be included in the response. + in: query + required: false + schema: + type: boolean + QueryParamLinkName: + name: link_name + description: The link name + in: query + required: true + schema: + type: string + example: link-sb1 + ValidateOnly: + name: validate_only + description: >- + To validate the action can be performed successfully or not. Default: + false + in: query + required: false + schema: + type: boolean + example: false + ValidateLink: + name: validate_link + description: >- + To synchronously validate that the source cluster ID is expected and the + dest cluster has the permission to read topics in the source cluster. + Default: true + in: query + required: false + schema: + type: boolean + example: false + LinkName: + name: link_name + description: The link name + in: path + required: true + schema: + type: string + example: link-sb1 + IncludeTasks: + name: include_tasks + description: 'Whether to include cluster linking tasks in the response. Default: false' + in: query + required: false + schema: + type: boolean + example: false + Force: + name: force + description: 'Force the action. Default: false' + in: query + required: false + schema: + type: boolean + example: false + LinkConfigName: + name: config_name + description: The link config name + in: path + required: true + schema: + type: string + example: consumer.offset.sync.enable + MirrorTopicStatus: + name: mirror_status + description: >- + The status of the mirror topic. If not specified, all mirror topics will + be returned. + in: query + required: false + schema: + $ref: '#/components/schemas/MirrorTopicStatus' + example: ACTIVE + MirrorTopicName: + name: mirror_topic_name + description: Cluster Linking mirror topic name + in: path + required: true + schema: + type: string + example: topic-1 + IncludeStateTransitionErrors: + name: include_state_transition_errors + description: >- + Whether to include mirror state transition errors in the response. + Default: false + in: query + required: false + schema: + type: boolean + example: false + IncludePartitionLevelTruncationData: + name: include_partition_level_truncation_data + description: >- + Whether to include partition level truncation information when + truncating and restoring a topic in the response. Default: false + in: query + required: false + schema: + type: boolean + example: false + GroupId: + name: group_id + description: The group ID. + in: path + required: true + schema: + type: string + example: group-1 + requestBodies: + BatchCreateAclRequest: + description: The batch ACL creation request. content: application/json: - example: - value: '300000' schema: - $ref: '#/components/schemas/UpdateLinkConfigRequestData' - description: Link config value to update - AlterLinkConfigBatchRequest: - content: - application/json: + $ref: '#/components/schemas/CreateAclRequestDataList' example: data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - CreateMirrorTopicRequest: - description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateMirrorTopicRequestData' - examples: - generic_example: + - resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: principalType:principalName + host: '*' + operation: DESCRIBE + permission: DENY + - resource_type: TOPIC + resource_name: kafka-cluster + pattern_type: LITERAL + principal: principalType:principalName + host: '*' + operation: READ + permission: ALLOW + CreateAclRequest: + description: The ACL creation request. + content: + application/json: + schema: + $ref: '#/components/schemas/CreateAclRequestData' + example: + resource_type: CLUSTER + resource_name: kafka-cluster + pattern_type: LITERAL + principal: principalType:principalName + host: '*' + operation: DESCRIBE + permission: DENY + AlterClusterConfigBatchRequest: + description: The alter cluster configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + example: + data: + - name: max.connections + operation: DELETE + - name: compression.type + value: gzip + UpdateClusterConfigRequest: + description: The cluster configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + CreateTopicRequest: + description: >- + The topic creation request. Note that Confluent Cloud allows only + specific replication factor values. Because of that the replication + factor field should either be omitted or it should use one of the + allowed values (see + https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html). + content: + application/json: + schema: + $ref: '#/components/schemas/CreateTopicRequestData' + examples: + uniform_replication: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + configs: + - name: cleanup.policy + value: compact + - name: compression.type + value: gzip + dry_run_create_topic: + value: + topic_name: topic-X + partitions_count: 64 + replication_factor: 3 + validate_only: true + AlterTopicConfigBatchRequest: + description: The alter topic configuration parameter batch request. + content: + application/json: + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + examples: + batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only_batch_alter_topic_configs: + value: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + validate_only: true + UpdateTopicConfigRequest: + description: The topic configuration parameter update request. + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateConfigRequestData' + example: + value: gzip + ProduceRequest: + description: >- + A single record to be produced to Kafka. To produce multiple records in + the same request, simply concatenate the records. The delivery reports + are concatenated in the same order as the records are sent. + content: + application/json: + schema: + $ref: '#/components/schemas/ProduceRequest' + examples: + binary_and_json: + description: If using type, one of "BINARY", "JSON" or "STRING" is required. + value: + partition_id: 1 + headers: + - name: Header-1 + value: SGVhZGVyLTE= + - name: Header-2 + value: SGVhZGVyLTI= + key: + type: BINARY + data: Zm9vYmFy + value: + type: JSON + data: + foo: bar + timestamp: '2021-02-05T19:14:42Z' + string: + description: If using type, one of "BINARY", "JSON" or "STRING" is required. + value: + value: + type: STRING + data: My message + empty_value: + description: key or value can be omitted entirely. + value: + key: + data: 1000 + CreateLinkRequest: + description: Create a cluster link + content: + application/json: + schema: + $ref: '#/components/schemas/CreateLinkRequestData' + examples: + destination_initiated_link: + description: Create a destination initiated cluster link + value: + source_cluster_id: cluster-1 + configs: + - name: bootstrap.servers + value: cluster-1-bootstrap-server + - name: acl.sync.enable + value: 'false' + - name: consumer.offset.sync.ms + value: '30000' + - name: sasl.mechanism + value: PLAIN + - name: security.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: >- + sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule + required username='' password=''; + source_initiated_link_at_source_cluster: + description: Create a source initiated cluster link at source cluster + value: + destination_cluster_id: cluster-2 + configs: + - name: bootstrap.servers + value: cluster-2-bootstrap-server + - name: link.mode + value: SOURCE + - name: sasl.mechanism + value: PLAIN + - name: security.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: >- + sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule + required username='' + password=''; + - name: local.sasl.mechanism + value: PLAIN + - name: local.security.protocol + value: SASL_SSL + - name: local.sasl.jaas.config + value: >- + sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule + required username='' password=''; + source_initiated_link_at_destination_cluster: + description: Create a source initiated cluster link at destination cluster + value: + destination_cluster_id: cluster-1 + configs: + - name: link.mode + value: DESTINATION + - name: connection.mode + value: INBOUND + - name: acl.sync.enable + value: 'false' + bidirectional_link_east: + description: Create a bidirectional cluster link in east + value: + remote_cluster_id: cluster-west + configs: + - name: bootstrap.servers + value: cluster-west-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: west. + - name: sasl.mechanism + value: PLAIN + - name: security.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: >- + sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule + required username='' password=''; + bidirectional_link_west: + description: Create a bidirectional cluster link in west + value: + remote_cluster_id: cluster-east + cluster_link_id: eEBkTffYSESld6EO898x3w + configs: + - name: bootstrap.servers + value: cluster-east-bootstrap-server + - name: link.mode + value: BIDIRECTIONAL + - name: cluster.link.prefix + value: east. + - name: sasl.mechanism + value: PLAIN + - name: security.protocol + value: SASL_SSL + - name: sasl.jaas.config + value: >- + sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule + required username='' password=''; + UpdateLinkConfigRequest: + content: + application/json: + example: + value: '300000' + schema: + $ref: '#/components/schemas/UpdateLinkConfigRequestData' + description: Link config value to update + AlterLinkConfigBatchRequest: + content: + application/json: + example: + data: + - name: cleanup.policy + operation: DELETE + - name: compression.type + value: gzip + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' + CreateMirrorTopicRequest: + description: >- + Name and configs of the topics mirroring from and mirroring to. Note + that Confluent Cloud allows only specific replication factor values. + Because of that the replication factor field should either be omitted or + it should use one of the allowed values (see + https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html). + content: + application/json: + schema: + $ref: '#/components/schemas/CreateMirrorTopicRequestData' + examples: + generic_example: description: Generic example of creating a mirror topic value: source_topic_name: topic-1 @@ -4008,29 +5524,25 @@ components: description: Example using mirror topic name pattern value: mirror_topic_name_pattern: .* - RemoveBrokersRequest: + UpdateGroupConfigRequest: content: application/json: example: - broker_ids: - - 1 - - 2 - - 3 + value: '45000' schema: - $ref: '#/components/schemas/RemoveBrokersRequestData' - description: Broker ids to remove - BrokerReplicaExclusionBatchRequest: - description: Alter Broker Replica Exclusions. + $ref: '#/components/schemas/UpdateGroupConfigRequestData' + description: Group config value to update + AlterGroupConfigBatchRequest: content: application/json: - schema: - $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' example: data: - - broker_id: 1 - reason: The broker is to be removed. - - broker_id: 2 - reason: The broker is to be removed. + - name: share.session.timeout.ms + operation: DELETE + - name: share.heartbeat.interval.ms + value: '5000' + schema: + $ref: '#/components/schemas/AlterConfigBatchRequestData' x-stackQL-resources: clusters: id: confluent.kafka.clusters @@ -4043,20 +5555,23 @@ components: response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/GetClusterResponse' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/clusters/methods/get_kafka_cluster' + - $ref: >- + #/components/x-stackQL-resources/clusters/methods/get_kafka_cluster insert: [] update: [] - replace: [] delete: [] + replace: [] acls: id: confluent.kafka.acls name: acls title: Acls methods: batch_create_kafka_acls: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1acls:batch/post' response: @@ -4068,9 +5583,10 @@ components: response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/SearchAclsResponse' - objectKey: $.data create_kafka_acls: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1acls/post' response: @@ -4082,16 +5598,15 @@ components: response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/DeleteAclsResponse' sqlVerbs: select: - $ref: '#/components/x-stackQL-resources/acls/methods/get_kafka_acls' insert: - $ref: '#/components/x-stackQL-resources/acls/methods/create_kafka_acls' update: [] - replace: [] delete: - $ref: '#/components/x-stackQL-resources/acls/methods/delete_kafka_acls' + replace: [] cluster_configs: id: confluent.kafka.cluster_configs name: cluster_configs @@ -4103,42 +5618,57 @@ components: response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/ListClusterConfigsResponse' + objectKey: $.data update_kafka_cluster_configs: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1broker-configs:alter/post' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1broker-configs:alter/post response: mediaType: application/json openAPIDocKey: '204' get_kafka_cluster_config: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1broker-configs~1{name}/get' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1broker-configs~1{name}/get response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/GetClusterConfigResponse' update_kafka_cluster_config: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1broker-configs~1{name}/put' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1broker-configs~1{name}/put response: mediaType: application/json openAPIDocKey: '204' delete_kafka_cluster_config: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1broker-configs~1{name}/delete' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1broker-configs~1{name}/delete response: mediaType: application/json openAPIDocKey: '204' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/cluster_configs/methods/get_kafka_cluster_config' - - $ref: '#/components/x-stackQL-resources/cluster_configs/methods/list_kafka_cluster_configs' + - $ref: >- + #/components/x-stackQL-resources/cluster_configs/methods/get_kafka_cluster_config + - $ref: >- + #/components/x-stackQL-resources/cluster_configs/methods/list_kafka_cluster_configs insert: [] - update: - - $ref: '#/components/x-stackQL-resources/cluster_configs/methods/update_kafka_cluster_configs' - replace: [] + update: [] delete: - - $ref: '#/components/x-stackQL-resources/cluster_configs/methods/delete_kafka_cluster_config' + - $ref: >- + #/components/x-stackQL-resources/cluster_configs/methods/delete_kafka_cluster_config + replace: + - $ref: >- + #/components/x-stackQL-resources/cluster_configs/methods/update_kafka_cluster_config + - $ref: >- + #/components/x-stackQL-resources/cluster_configs/methods/update_kafka_cluster_configs consumer_groups: id: confluent.kafka.consumer_groups name: consumer_groups @@ -4150,22 +5680,24 @@ components: response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/ListConsumerGroupsResponse' + objectKey: $.data get_kafka_consumer_group: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1consumer-groups~1{consumer_group_id}/get' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1consumer-groups~1{consumer_group_id}/get response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/GetConsumerGroupResponse' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/consumer_groups/methods/get_kafka_consumer_group' - - $ref: '#/components/x-stackQL-resources/consumer_groups/methods/list_kafka_consumer_groups' + - $ref: >- + #/components/x-stackQL-resources/consumer_groups/methods/get_kafka_consumer_group + - $ref: >- + #/components/x-stackQL-resources/consumer_groups/methods/list_kafka_consumer_groups insert: [] update: [] - replace: [] delete: [] + replace: [] consumers: id: confluent.kafka.consumers name: consumers @@ -4173,26 +5705,29 @@ components: methods: list_kafka_consumers: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1consumer-groups~1{consumer_group_id}~1consumers/get' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1consumer-groups~1{consumer_group_id}~1consumers/get response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/ListConsumersResponse' + objectKey: $.data get_kafka_consumer: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1consumer-groups~1{consumer_group_id}~1consumers~1{consumer_id}/get' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1consumer-groups~1{consumer_group_id}~1consumers~1{consumer_id}/get response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/GetConsumerResponse' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/consumers/methods/get_kafka_consumer' - - $ref: '#/components/x-stackQL-resources/consumers/methods/list_kafka_consumers' + - $ref: >- + #/components/x-stackQL-resources/consumers/methods/get_kafka_consumer + - $ref: >- + #/components/x-stackQL-resources/consumers/methods/list_kafka_consumers insert: [] update: [] - replace: [] delete: [] + replace: [] consumers_lag_summary: id: confluent.kafka.consumers_lag_summary name: consumers_lag_summary @@ -4200,18 +5735,19 @@ components: methods: get_kafka_consumer_group_lag_summary: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1consumer-groups~1{consumer_group_id}~1lag-summary/get' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1consumer-groups~1{consumer_group_id}~1lag-summary/get response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/GetConsumerGroupLagSummaryResponse' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/consumers_lag_summary/methods/get_kafka_consumer_group_lag_summary' + - $ref: >- + #/components/x-stackQL-resources/consumers_lag_summary/methods/get_kafka_consumer_group_lag_summary insert: [] update: [] - replace: [] delete: [] + replace: [] consumers_lags: id: confluent.kafka.consumers_lags name: consumers_lags @@ -4219,26 +5755,29 @@ components: methods: list_kafka_consumer_lags: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1consumer-groups~1{consumer_group_id}~1lags/get' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1consumer-groups~1{consumer_group_id}~1lags/get response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/ListConsumerLagsResponse' + objectKey: $.data get_kafka_consumer_lag: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1consumer-groups~1{consumer_group_id}~1lags~1{topic_name}~1partitions~1{partition_id}/get' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1consumer-groups~1{consumer_group_id}~1lags~1{topic_name}~1partitions~1{partition_id}/get response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/GetConsumerLagResponse' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/consumers_lags/methods/get_kafka_consumer_lag' - - $ref: '#/components/x-stackQL-resources/consumers_lags/methods/list_kafka_consumer_lags' + - $ref: >- + #/components/x-stackQL-resources/consumers_lags/methods/get_kafka_consumer_lag + - $ref: >- + #/components/x-stackQL-resources/consumers_lags/methods/list_kafka_consumer_lags insert: [] update: [] - replace: [] delete: [] + replace: [] topics: id: confluent.kafka.topics name: topics @@ -4250,31 +5789,37 @@ components: response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/ListTopicsResponse' + objectKey: $.data create_kafka_topic: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics/post' response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/CreateTopicResponse' get_kafka_topic: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}/get' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}/get response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/GetTopicResponse' update_partition_count_kafka_topic: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}/patch' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}/patch response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/GetTopicResponse' delete_kafka_topic: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}/delete' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}/delete response: mediaType: application/json openAPIDocKey: '204' @@ -4285,10 +5830,11 @@ components: insert: - $ref: '#/components/x-stackQL-resources/topics/methods/create_kafka_topic' update: - - $ref: '#/components/x-stackQL-resources/topics/methods/update_partition_count_kafka_topic' - replace: [] + - $ref: >- + #/components/x-stackQL-resources/topics/methods/update_partition_count_kafka_topic delete: - $ref: '#/components/x-stackQL-resources/topics/methods/delete_kafka_topic' + replace: [] topic_configs: id: confluent.kafka.topic_configs name: topic_configs @@ -4296,54 +5842,72 @@ components: methods: list_kafka_topic_configs: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1configs/get' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1configs/get response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/ListTopicConfigsResponse' + objectKey: $.data update_kafka_topic_config_batch: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1configs:alter/post' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1configs:alter/post response: mediaType: application/json openAPIDocKey: '204' get_kafka_topic_config: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1configs~1{name}/get' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1configs~1{name}/get response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/GetTopicConfigResponse' update_kafka_topic_config: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1configs~1{name}/put' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1configs~1{name}/put response: mediaType: application/json openAPIDocKey: '204' delete_kafka_topic_config: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1configs~1{name}/delete' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1configs~1{name}/delete response: mediaType: application/json openAPIDocKey: '204' list_kafka_all_topic_configs: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1-~1configs/get' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1-~1configs/get response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/ListTopicConfigsResponse' + objectKey: $.data sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/topic_configs/methods/get_kafka_topic_config' - - $ref: '#/components/x-stackQL-resources/topic_configs/methods/list_kafka_topic_configs' - - $ref: '#/components/x-stackQL-resources/topic_configs/methods/list_kafka_all_topic_configs' + - $ref: >- + #/components/x-stackQL-resources/topic_configs/methods/get_kafka_topic_config + - $ref: >- + #/components/x-stackQL-resources/topic_configs/methods/list_kafka_topic_configs + - $ref: >- + #/components/x-stackQL-resources/topic_configs/methods/list_kafka_all_topic_configs insert: [] - update: - - $ref: '#/components/x-stackQL-resources/topic_configs/methods/update_kafka_topic_config_batch' - replace: [] + update: [] delete: - - $ref: '#/components/x-stackQL-resources/topic_configs/methods/delete_kafka_topic_config' + - $ref: >- + #/components/x-stackQL-resources/topic_configs/methods/delete_kafka_topic_config + replace: + - $ref: >- + #/components/x-stackQL-resources/topic_configs/methods/update_kafka_topic_config + - $ref: >- + #/components/x-stackQL-resources/topic_configs/methods/update_kafka_topic_config_batch topic_partitions: id: confluent.kafka.topic_partitions name: topic_partitions @@ -4351,44 +5915,51 @@ components: methods: list_kafka_partitions: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1partitions/get' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1partitions/get response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/ListPartitionsResponse' + objectKey: $.data get_kafka_partition: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1partitions~1{partition_id}/get' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1partitions~1{partition_id}/get response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/GetPartitionResponse' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/topic_partitions/methods/get_kafka_partition' - - $ref: '#/components/x-stackQL-resources/topic_partitions/methods/list_kafka_partitions' + - $ref: >- + #/components/x-stackQL-resources/topic_partitions/methods/get_kafka_partition + - $ref: >- + #/components/x-stackQL-resources/topic_partitions/methods/list_kafka_partitions insert: [] update: [] - replace: [] delete: [] + replace: [] records: id: confluent.kafka.records name: records title: Records methods: produce_record: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1records/post' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1records/post response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/ProduceResponse' sqlVerbs: select: [] - insert: [] + insert: + - $ref: '#/components/x-stackQL-resources/records/methods/produce_record' update: [] - replace: [] delete: [] + replace: [] cluster_links: id: confluent.kafka.cluster_links name: cluster_links @@ -4400,38 +5971,44 @@ components: response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/ListLinksResponse' + objectKey: $.data create_kafka_link: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links/post' response: mediaType: application/json openAPIDocKey: '204' - schemaRef: '#/components/responses/NoContentResponse' get_kafka_link: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}/get' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}/get response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/GetLinkResponse' delete_kafka_link: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}/delete' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}/delete response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/NoContentResponse' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/cluster_links/methods/get_kafka_link' - - $ref: '#/components/x-stackQL-resources/cluster_links/methods/list_kafka_links' + - $ref: >- + #/components/x-stackQL-resources/cluster_links/methods/get_kafka_link + - $ref: >- + #/components/x-stackQL-resources/cluster_links/methods/list_kafka_links insert: - - $ref: '#/components/x-stackQL-resources/cluster_links/methods/create_kafka_link' + - $ref: >- + #/components/x-stackQL-resources/cluster_links/methods/create_kafka_link update: [] - replace: [] delete: - - $ref: '#/components/x-stackQL-resources/cluster_links/methods/delete_kafka_link' + - $ref: >- + #/components/x-stackQL-resources/cluster_links/methods/delete_kafka_link + replace: [] default_topic_configs: id: confluent.kafka.default_topic_configs name: default_topic_configs @@ -4439,18 +6016,20 @@ components: methods: list_kafka_default_topic_configs: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1default-configs/get' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1topics~1{topic_name}~1default-configs/get response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/ListTopicConfigsResponse' + objectKey: $.data sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/default_topic_configs/methods/list_kafka_default_topic_configs' + - $ref: >- + #/components/x-stackQL-resources/default_topic_configs/methods/list_kafka_default_topic_configs insert: [] update: [] - replace: [] delete: [] + replace: [] cluster_link_configs: id: confluent.kafka.cluster_link_configs name: cluster_link_configs @@ -4458,6005 +6037,243 @@ components: methods: list_kafka_link_configs: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1configs/get' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1configs/get response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/ListLinkConfigsResponse' + objectKey: $.data get_kafka_link_configs: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1configs~1{config_name}/get' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1configs~1{config_name}/get response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/GetLinkConfigsResponse' update_kafka_link_config: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1configs~1{config_name}/put' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1configs~1{config_name}/put response: mediaType: application/json openAPIDocKey: '204' - schemaRef: '#/components/responses/NoContentResponse' delete_kafka_link_config: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1configs~1{config_name}/delete' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1configs~1{config_name}/delete response: mediaType: application/json openAPIDocKey: '204' - schemaRef: '#/components/responses/NoContentResponse' update_kafka_link_config_batch: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1configs:alter/put' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1configs:alter/put response: mediaType: application/json openAPIDocKey: '204' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/cluster_link_configs/methods/get_kafka_link_configs' - - $ref: '#/components/x-stackQL-resources/cluster_link_configs/methods/list_kafka_link_configs' + - $ref: >- + #/components/x-stackQL-resources/cluster_link_configs/methods/get_kafka_link_configs + - $ref: >- + #/components/x-stackQL-resources/cluster_link_configs/methods/list_kafka_link_configs insert: [] update: [] - replace: [] delete: - - $ref: '#/components/x-stackQL-resources/cluster_link_configs/methods/delete_kafka_link_config' + - $ref: >- + #/components/x-stackQL-resources/cluster_link_configs/methods/delete_kafka_link_config + replace: + - $ref: >- + #/components/x-stackQL-resources/cluster_link_configs/methods/update_kafka_link_config + - $ref: >- + #/components/x-stackQL-resources/cluster_link_configs/methods/update_kafka_link_config_batch mirror_topics: id: confluent.kafka.mirror_topics name: mirror_topics title: Mirror Topics methods: create_kafka_mirror_topic: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors/post' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors/post response: mediaType: application/json openAPIDocKey: '204' - schemaRef: '#/components/responses/NoContentResponse' list_kafka_mirror_topics_under_link: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors/get' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors/get response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/ListMirrorTopicsResponse' + objectKey: $.data list_kafka_mirror_topics: operation: $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1-~1mirrors/get' response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/ListMirrorTopicsResponse' + objectKey: $.data read_kafka_mirror_topic: operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors~1{mirror_topic_name}/get' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors~1{mirror_topic_name}/get response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/DescribeMirrorTopicResponse' update_kafka_mirror_topics_promote: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors:promote/post' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors:promote/post response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/AlterMirrorStatusResponse' update_kafka_mirror_topics_failover: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors:failover/post' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors:failover/post response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/AlterMirrorStatusResponse' update_kafka_mirror_topics_pause: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors:pause/post' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors:pause/post response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/AlterMirrorStatusResponse' update_kafka_mirror_topics_resume: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors:resume/post' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors:resume/post response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/AlterMirrorStatusResponse' update_kafka_mirror_topics_reverse_and_start_mirror: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors:reverse-and-start-mirror/post' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors:reverse-and-start-mirror/post response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/AlterMirrorStatusResponse' update_kafka_mirror_topics_reverse_and_pause_mirror: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors:reverse-and-pause-mirror/post' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors:reverse-and-pause-mirror/post response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/AlterMirrorStatusResponse' update_kafka_mirror_topics_truncate_and_restore_mirror: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors:truncate-and-restore/post' + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1links~1{link_name}~1mirrors:truncate-and-restore/post response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/responses/AlterMirrorStatusResponse' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/mirror_topics/methods/read_kafka_mirror_topic' - - $ref: '#/components/x-stackQL-resources/mirror_topics/methods/list_kafka_mirror_topics_under_link' - - $ref: '#/components/x-stackQL-resources/mirror_topics/methods/list_kafka_mirror_topics' + - $ref: >- + #/components/x-stackQL-resources/mirror_topics/methods/read_kafka_mirror_topic + - $ref: >- + #/components/x-stackQL-resources/mirror_topics/methods/list_kafka_mirror_topics_under_link + - $ref: >- + #/components/x-stackQL-resources/mirror_topics/methods/list_kafka_mirror_topics insert: - - $ref: '#/components/x-stackQL-resources/mirror_topics/methods/create_kafka_mirror_topic' + - $ref: >- + #/components/x-stackQL-resources/mirror_topics/methods/create_kafka_mirror_topic update: [] - replace: [] delete: [] -paths: - '/kafka/v3/clusters/{cluster_id}': - get: - summary: Get Cluster - operationId: getKafkaCluster - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Return the Kafka cluster with the specified ``cluster_id``. - tags: - - Cluster (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '200': - $ref: '#/components/responses/GetClusterResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1 \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - '/kafka/v3/clusters/{cluster_id}/acls:batch': - post: - summary: Batch Create ACLs - operationId: batchCreateKafkaAcls - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Create ACLs. - tags: - - ACL (v3) - security: - - resource-api-key: [] - - external-access-token: [] - requestBody: - $ref: '#/components/requestBodies/BatchCreateAclRequest' - responses: - '201': - description: Created - '400': - $ref: '#/components/responses/BadRequestErrorResponse_CreateAcls' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls:batch \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --data '{"data":[{"resource_type":"UNKNOWN","resource_name":"string","pattern_type":"string","principal":"string","host":"string","operation":"string","permission":"string"}]}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"data\":[{\"resource_type\":\"UNKNOWN\",\"resource_name\":\"string\",\"pattern_type\":\"string\",\"principal\":\"string\",\"host\":\"string\",\"operation\":\"string\",\"permission\":\"string\"}]}"); - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls:batch") - .post(body) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls:batch\"\n\n\tpayload := strings.NewReader(\"{\\\"data\\\":[{\\\"resource_type\\\":\\\"UNKNOWN\\\",\\\"resource_name\\\":\\\"string\\\",\\\"pattern_type\\\":\\\"string\\\",\\\"principal\\\":\\\"string\\\",\\\"host\\\":\\\"string\\\",\\\"operation\\\":\\\"string\\\",\\\"permission\\\":\\\"string\\\"}]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - payload = "{\"data\":[{\"resource_type\":\"UNKNOWN\",\"resource_name\":\"string\",\"pattern_type\":\"string\",\"principal\":\"string\",\"host\":\"string\",\"operation\":\"string\",\"permission\":\"string\"}]}" - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("POST", "/kafka/v3/clusters/cluster-1/acls:batch", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/acls:batch", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - data: [ - { - resource_type: 'UNKNOWN', - resource_name: 'string', - pattern_type: 'string', - principal: 'string', - host: 'string', - operation: 'string', - permission: 'string' - } - ] - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls:batch"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"data\":[{\"resource_type\":\"UNKNOWN\",\"resource_name\":\"string\",\"pattern_type\":\"string\",\"principal\":\"string\",\"host\":\"string\",\"operation\":\"string\",\"permission\":\"string\"}]}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls:batch"); - var request = new RestRequest(Method.POST); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("undefined", "{\"data\":[{\"resource_type\":\"UNKNOWN\",\"resource_name\":\"string\",\"pattern_type\":\"string\",\"principal\":\"string\",\"host\":\"string\",\"operation\":\"string\",\"permission\":\"string\"}]}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - '/kafka/v3/clusters/{cluster_id}/acls': - get: - summary: List ACLs - operationId: getKafkaAcls - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Return a list of ACLs that match the search criteria. - tags: - - ACL (v3) - security: - - resource-api-key: [] - - external-access-token: [] - parameters: - - $ref: '#/components/parameters/ClusterId' - responses: - '200': - $ref: '#/components/responses/SearchAclsResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - summary: Create an ACL - operationId: createKafkaAcls - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Create an ACL. - tags: - - ACL (v3) - security: - - resource-api-key: [] - - external-access-token: [] - requestBody: - $ref: '#/components/requestBodies/CreateAclRequest' - responses: - '201': - description: Created - '400': - $ref: '#/components/responses/BadRequestErrorResponse_CreateAcls' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --data '{"resource_type":"UNKNOWN","resource_name":"string","pattern_type":"string","principal":"string","host":"string","operation":"string","permission":"string"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"resource_type\":\"UNKNOWN\",\"resource_name\":\"string\",\"pattern_type\":\"string\",\"principal\":\"string\",\"host\":\"string\",\"operation\":\"string\",\"permission\":\"string\"}"); - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls") - .post(body) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls\"\n\n\tpayload := strings.NewReader(\"{\\\"resource_type\\\":\\\"UNKNOWN\\\",\\\"resource_name\\\":\\\"string\\\",\\\"pattern_type\\\":\\\"string\\\",\\\"principal\\\":\\\"string\\\",\\\"host\\\":\\\"string\\\",\\\"operation\\\":\\\"string\\\",\\\"permission\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - payload = "{\"resource_type\":\"UNKNOWN\",\"resource_name\":\"string\",\"pattern_type\":\"string\",\"principal\":\"string\",\"host\":\"string\",\"operation\":\"string\",\"permission\":\"string\"}" - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("POST", "/kafka/v3/clusters/cluster-1/acls", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/acls", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - resource_type: 'UNKNOWN', - resource_name: 'string', - pattern_type: 'string', - principal: 'string', - host: 'string', - operation: 'string', - permission: 'string' - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"resource_type\":\"UNKNOWN\",\"resource_name\":\"string\",\"pattern_type\":\"string\",\"principal\":\"string\",\"host\":\"string\",\"operation\":\"string\",\"permission\":\"string\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls"); - var request = new RestRequest(Method.POST); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("undefined", "{\"resource_type\":\"UNKNOWN\",\"resource_name\":\"string\",\"pattern_type\":\"string\",\"principal\":\"string\",\"host\":\"string\",\"operation\":\"string\",\"permission\":\"string\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - delete: - summary: Delete ACLs - operationId: deleteKafkaAcls - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Delete the ACLs that match the search criteria. - tags: - - ACL (v3) - security: - - resource-api-key: [] - - external-access-token: [] - parameters: - - $ref: '#/components/parameters/ClusterId' - responses: - '200': - $ref: '#/components/responses/DeleteAclsResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse_DeleteAcls' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/acls?resource_type=SOME_STRING_VALUE&pattern_type=SOME_STRING_VALUE&operation=SOME_STRING_VALUE&permission=SOME_STRING_VALUE"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/kafka/v3/clusters/{cluster_id}/broker-configs': - get: - summary: List Dynamic Broker Configs - operationId: listKafkaClusterConfigs - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Return a list of dynamic cluster-wide broker configuration parameters for the specified Kafka - cluster. Returns an empty list if there are no dynamic cluster-wide broker configuration parameters. - tags: - - Configs (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '200': - $ref: '#/components/responses/ListClusterConfigsResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/broker-configs", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/broker-configs", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - '/kafka/v3/clusters/{cluster_id}/broker-configs:alter': - post: - summary: Batch Alter Dynamic Broker Configs - operationId: updateKafkaClusterConfigs - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Update or delete a set of dynamic cluster-wide broker configuration parameters. - tags: - - Configs (v3) - security: - - resource-api-key: [] - - external-access-token: [] - requestBody: - $ref: '#/components/requestBodies/AlterClusterConfigBatchRequest' - responses: - '204': - description: No Content - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs:alter \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --data '{"data":[{"name":"string","value":"string","operation":"string"}],"validate_only":true}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}"); - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs:alter") - .post(body) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs:alter\"\n\n\tpayload := strings.NewReader(\"{\\\"data\\\":[{\\\"name\\\":\\\"string\\\",\\\"value\\\":\\\"string\\\",\\\"operation\\\":\\\"string\\\"}],\\\"validate_only\\\":true}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - payload = "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}" - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("POST", "/kafka/v3/clusters/cluster-1/broker-configs:alter", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/broker-configs:alter", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - data: [{name: 'string', value: 'string', operation: 'string'}], - validate_only: true - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs:alter"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs:alter"); - var request = new RestRequest(Method.POST); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("undefined", "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - '/kafka/v3/clusters/{cluster_id}/broker-configs/{name}': - get: - summary: Get Dynamic Broker Config - operationId: getKafkaClusterConfig - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Return the dynamic cluster-wide broker configuration parameter specified by ``name``. - tags: - - Configs (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '200': - $ref: '#/components/responses/GetClusterConfigResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/broker-configs/compression.type", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/broker-configs/compression.type", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/ConfigName' - put: - summary: Update Dynamic Broker Config - operationId: updateKafkaClusterConfig - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Update the dynamic cluster-wide broker configuration parameter specified by ``name``. - tags: - - Configs (v3) - security: - - resource-api-key: [] - - external-access-token: [] - requestBody: - $ref: '#/components/requestBodies/UpdateClusterConfigRequest' - responses: - '204': - description: No Content - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --data '{"value":"string"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"value\":\"string\"}"); - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type") - .put(body) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type\"\n\n\tpayload := strings.NewReader(\"{\\\"value\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - payload = "{\"value\":\"string\"}" - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("PUT", "/kafka/v3/clusters/cluster-1/broker-configs/compression.type", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/broker-configs/compression.type", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({value: 'string'})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"value\":\"string\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type"); - var request = new RestRequest(Method.PUT); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("undefined", "{\"value\":\"string\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/ConfigName' - delete: - summary: Reset Dynamic Broker Config - operationId: deleteKafkaClusterConfig - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Reset the configuration parameter specified by ``name`` to its - default value by deleting a dynamic cluster-wide configuration. - tags: - - Configs (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '204': - description: No Content - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/kafka/v3/clusters/cluster-1/broker-configs/compression.type", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/broker-configs/compression.type", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/broker-configs/compression.type"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/ConfigName' - '/kafka/v3/clusters/{cluster_id}/consumer-groups': - get: - summary: List Consumer Groups - operationId: listKafkaConsumerGroups - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Return the list of consumer groups that belong to the specified - Kafka cluster. - tags: - - Consumer Group (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '200': - $ref: '#/components/responses/ListConsumerGroupsResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/consumer-groups", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/consumer-groups", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - '/kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}': - get: - summary: Get Consumer Group - operationId: getKafkaConsumerGroup - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Return the consumer group specified by the ``consumer_group_id``. - tags: - - Consumer Group (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '200': - $ref: '#/components/responses/GetConsumerGroupResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1 \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/ConsumerGroupId' - '/kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/consumers': - get: - summary: List Consumers - operationId: listKafkaConsumers - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Return a list of consumers that belong to the specified consumer - group. - tags: - - Consumer Group (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '200': - $ref: '#/components/responses/ListConsumersResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/ConsumerGroupId' - '/kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/lag-summary': - get: - summary: Get Consumer Group Lag Summary - operationId: getKafkaConsumerGroupLagSummary - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Available in dedicated clusters only](https://img.shields.io/badge/-Available%20in%20dedicated%20clusters%20only-%23bc8540)](https://docs.confluent.io/cloud/current/clusters/cluster-types.html#dedicated-cluster) - - Return the maximum and total lag of the consumers belonging to the - specified consumer group. - tags: - - Consumer Group (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '200': - $ref: '#/components/responses/GetConsumerGroupLagSummaryResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lag-summary"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/ConsumerGroupId' - '/kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/lags': - get: - summary: List Consumer Lags - operationId: listKafkaConsumerLags - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Available in dedicated clusters only](https://img.shields.io/badge/-Available%20in%20dedicated%20clusters%20only-%23bc8540)](https://docs.confluent.io/cloud/current/clusters/cluster-types.html#dedicated-cluster) - - Return a list of consumer lags of the consumers belonging to the - specified consumer group. - tags: - - Consumer Group (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '200': - $ref: '#/components/responses/ListConsumerLagsResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/ConsumerGroupId' - '/kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/lags/{topic_name}/partitions/{partition_id}': - get: - summary: Get Consumer Lag - operationId: getKafkaConsumerLag - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Available in dedicated clusters only](https://img.shields.io/badge/-Available%20in%20dedicated%20clusters%20only-%23bc8540)](https://docs.confluent.io/cloud/current/clusters/cluster-types.html#dedicated-cluster) - - Return the consumer lag on a partition with the given `partition_id`. - tags: - - Consumer Group (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '200': - $ref: '#/components/responses/GetConsumerLagResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/0 \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/0") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/0\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/0", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/0", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/0"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/lags/topic-1/partitions/0"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/ConsumerGroupId' - - $ref: '#/components/parameters/TopicName' - - $ref: '#/components/parameters/PartitionId' - '/kafka/v3/clusters/{cluster_id}/consumer-groups/{consumer_group_id}/consumers/{consumer_id}': - get: - summary: Get Consumer - operationId: getKafkaConsumer - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Return the consumer specified by the ``consumer_id``. - tags: - - Consumer Group (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '200': - $ref: '#/components/responses/GetConsumerResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1 \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/consumer-groups/consumer-group-1/consumers/consumer-1"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/ConsumerGroupId' - - $ref: '#/components/parameters/ConsumerId' - '/kafka/v3/clusters/{cluster_id}/topics': - get: - summary: List Topics - operationId: listKafkaTopics - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Return the list of topics that belong to the specified Kafka cluster. - tags: - - Topic (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '200': - $ref: '#/components/responses/ListTopicsResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/topics", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/topics", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - post: - summary: Create Topic - operationId: createKafkaTopic - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Create a topic. - Also supports a dry-run mode that only validates whether the topic creation would succeed - if the ``validate_only`` request property is explicitly specified and set to true. Note that - when dry-run mode is being used the response status would be 200 OK instead of 201 Created. - tags: - - Topic (v3) - security: - - resource-api-key: [] - - external-access-token: [] - requestBody: - $ref: '#/components/requestBodies/CreateTopicRequest' - responses: - '200': - $ref: '#/components/responses/CreateTopicResponse' - '201': - $ref: '#/components/responses/CreateTopicResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse_CreateTopic' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --data '{"topic_name":"string","partitions_count":0,"replication_factor":0,"configs":[{"name":"string","value":"string"}],"validate_only":true}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"topic_name\":\"string\",\"partitions_count\":0,\"replication_factor\":0,\"configs\":[{\"name\":\"string\",\"value\":\"string\"}],\"validate_only\":true}"); - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics") - .post(body) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics\"\n\n\tpayload := strings.NewReader(\"{\\\"topic_name\\\":\\\"string\\\",\\\"partitions_count\\\":0,\\\"replication_factor\\\":0,\\\"configs\\\":[{\\\"name\\\":\\\"string\\\",\\\"value\\\":\\\"string\\\"}],\\\"validate_only\\\":true}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - payload = "{\"topic_name\":\"string\",\"partitions_count\":0,\"replication_factor\":0,\"configs\":[{\"name\":\"string\",\"value\":\"string\"}],\"validate_only\":true}" - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("POST", "/kafka/v3/clusters/cluster-1/topics", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/topics", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - topic_name: 'string', - partitions_count: 0, - replication_factor: 0, - configs: [{name: 'string', value: 'string'}], - validate_only: true - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"topic_name\":\"string\",\"partitions_count\":0,\"replication_factor\":0,\"configs\":[{\"name\":\"string\",\"value\":\"string\"}],\"validate_only\":true}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics"); - var request = new RestRequest(Method.POST); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("undefined", "{\"topic_name\":\"string\",\"partitions_count\":0,\"replication_factor\":0,\"configs\":[{\"name\":\"string\",\"value\":\"string\"}],\"validate_only\":true}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - '/kafka/v3/clusters/{cluster_id}/topics/{topic_name}': - get: - summary: Get Topic - operationId: getKafkaTopic - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Return the topic with the given `topic_name`. - tags: - - Topic (v3) - security: - - resource-api-key: [] - - external-access-token: [] - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/TopicName' - responses: - '200': - $ref: '#/components/responses/GetTopicResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '404': - $ref: '#/components/responses/NotFoundErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1 \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/topics/topic-1", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/topics/topic-1", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - summary: Update Partition Count - operationId: updatePartitionCountKafkaTopic - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Increase the number of partitions for a topic. - tags: - - Topic (v3) - security: - - resource-api-key: [] - - external-access-token: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UpdatePartitionCountRequestData' - responses: - '200': - $ref: '#/components/responses/GetTopicResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse_UpdatePartitionCountTopic' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1 \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"partitions_count":0}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"partitions_count\":0}"); - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1\"\n\n\tpayload := strings.NewReader(\"{\\\"partitions_count\\\":0}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - payload = "{\"partitions_count\":0}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/kafka/v3/clusters/cluster-1/topics/topic-1", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/topics/topic-1", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({partitions_count: 0})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"partitions_count\":0}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"partitions_count\":0}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/TopicName' - delete: - summary: Delete Topic - operationId: deleteKafkaTopic - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Delete the topic with the given `topic_name`. - tags: - - Topic (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '204': - description: No Content - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '404': - $ref: '#/components/responses/NotFoundErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1 \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/kafka/v3/clusters/cluster-1/topics/topic-1", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/topics/topic-1", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/TopicName' - '/kafka/v3/clusters/{cluster_id}/topics/{topic_name}/configs': - get: - summary: List Topic Configs - operationId: listKafkaTopicConfigs - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Return the list of configuration parameters that belong to the specified topic. - tags: - - Configs (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '200': - $ref: '#/components/responses/ListTopicConfigsResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '404': - $ref: '#/components/responses/NotFoundErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/topics/topic-1/configs", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/topics/topic-1/configs", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/TopicName' - '/kafka/v3/clusters/{cluster_id}/topics/{topic_name}/configs:alter': - post: - summary: Batch Alter Topic Configs - operationId: updateKafkaTopicConfigBatch - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Update or delete a set of topic configuration parameters. - Also supports a dry-run mode that only validates whether the operation would succeed if the - ``validate_only`` request property is explicitly specified and set to true. - tags: - - Configs (v3) - security: - - resource-api-key: [] - - external-access-token: [] - requestBody: - $ref: '#/components/requestBodies/AlterTopicConfigBatchRequest' - responses: - '204': - description: No Content - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '404': - $ref: '#/components/responses/NotFoundErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs:alter \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --data '{"data":[{"name":"string","value":"string","operation":"string"}],"validate_only":true}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}"); - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs:alter") - .post(body) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs:alter\"\n\n\tpayload := strings.NewReader(\"{\\\"data\\\":[{\\\"name\\\":\\\"string\\\",\\\"value\\\":\\\"string\\\",\\\"operation\\\":\\\"string\\\"}],\\\"validate_only\\\":true}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - payload = "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}" - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("POST", "/kafka/v3/clusters/cluster-1/topics/topic-1/configs:alter", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/topics/topic-1/configs:alter", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - data: [{name: 'string', value: 'string', operation: 'string'}], - validate_only: true - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs:alter"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs:alter"); - var request = new RestRequest(Method.POST); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("undefined", "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/TopicName' - '/kafka/v3/clusters/{cluster_id}/topics/{topic_name}/configs/{name}': - get: - summary: Get Topic Config - operationId: getKafkaTopicConfig - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Return the configuration parameter with the given `name`. - tags: - - Configs (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '200': - $ref: '#/components/responses/GetTopicConfigResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '404': - $ref: '#/components/responses/NotFoundErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/TopicName' - - $ref: '#/components/parameters/ConfigName' - put: - summary: Update Topic Config - operationId: updateKafkaTopicConfig - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Update the configuration parameter with given `name`. - tags: - - Configs (v3) - security: - - resource-api-key: [] - - external-access-token: [] - requestBody: - $ref: '#/components/requestBodies/UpdateTopicConfigRequest' - responses: - '204': - description: No Content - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '404': - $ref: '#/components/responses/NotFoundErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --data '{"value":"string"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"value\":\"string\"}"); - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type") - .put(body) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type\"\n\n\tpayload := strings.NewReader(\"{\\\"value\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - payload = "{\"value\":\"string\"}" - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("PUT", "/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({value: 'string'})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"value\":\"string\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type"); - var request = new RestRequest(Method.PUT); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("undefined", "{\"value\":\"string\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/TopicName' - - $ref: '#/components/parameters/ConfigName' - delete: - summary: Reset Topic Config - operationId: deleteKafkaTopicConfig - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Reset the configuration parameter with given `name` to its default value. - tags: - - Configs (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '204': - description: No Content - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '404': - $ref: '#/components/responses/NotFoundErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/configs/compression.type"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/TopicName' - - $ref: '#/components/parameters/ConfigName' - '/kafka/v3/clusters/{cluster_id}/topics/{topic_name}/partitions': - get: - summary: List Partitions - operationId: listKafkaPartitions - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Return the list of partitions that belong to the specified topic. - tags: - - Partition (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '200': - $ref: '#/components/responses/ListPartitionsResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '404': - $ref: '#/components/responses/NotFoundErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/topics/topic-1/partitions", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/topics/topic-1/partitions", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/TopicName' - '/kafka/v3/clusters/{cluster_id}/topics/{topic_name}/partitions/{partition_id}': - get: - summary: Get Partition - operationId: getKafkaPartition - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Return the partition with the given `partition_id`. - tags: - - Partition (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '200': - $ref: '#/components/responses/GetPartitionResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '404': - $ref: '#/components/responses/NotFoundErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/0 \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/0") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/0\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/0", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/0", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/0"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/0"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/TopicName' - - $ref: '#/components/parameters/PartitionId' - '/kafka/v3/clusters/{cluster_id}/topics/-/configs': - get: - summary: List All Topic Configs - operationId: listKafkaAllTopicConfigs - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Return the list of configuration parameters for all topics hosted by the specified - cluster. - tags: - - Configs (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '200': - $ref: '#/components/responses/ListTopicConfigsResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/-/configs \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/-/configs") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/-/configs\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/topics/-/configs", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/topics/-/configs", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/-/configs"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/-/configs"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - '/kafka/v3/clusters/{cluster_id}/topics/{topic_name}/records': - post: - summary: Produce Records - operationId: produceRecord - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Produce records to the given topic, returning delivery reports for each - record produced. This API can be used in streaming mode by setting - "Transfer-Encoding: chunked" header. For as long as the connection is - kept open, the server will keep accepting records. Records are streamed - to and from the server as Concatenated JSON. For each record sent to the - server, the server will asynchronously send back a delivery report, in - the same order, each with its own error_code. An error_code of 200 - indicates success. The HTTP status code will be HTTP 200 OK as long as - the connection is successfully established. To identify records that - have encountered an error, check the error_code of each delivery report. - - Note that the cluster_id is validated only when running in Confluent Cloud. - - This API currently does not support Schema Registry integration. Sending - schemas is not supported. Only BINARY, JSON, and STRING formats are - supported. - tags: - - Records (v3) - security: - - resource-api-key: [] - - external-access-token: [] - requestBody: - $ref: '#/components/requestBodies/ProduceRequest' - responses: - '200': - $ref: '#/components/responses/ProduceResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse_ProduceRecords' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '403': - $ref: '#/components/responses/ForbiddenErrorResponse' - '404': - $ref: '#/components/responses/NotFoundErrorResponse' - '413': - $ref: '#/components/responses/RequestEntityTooLargeErrorResponse' - '415': - $ref: '#/components/responses/UnsupportedMediaTypeErrorResponse' - '422': - $ref: '#/components/responses/UnprocessableEntity_ProduceRecord' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/records \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --data '{"partition_id":0,"headers":[{"name":"string","value":"string"}],"key":{"type":"string","data":null},"value":{"type":"string","data":null},"timestamp":"2019-08-24T14:15:22Z"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"partition_id\":0,\"headers\":[{\"name\":\"string\",\"value\":\"string\"}],\"key\":{\"type\":\"string\",\"data\":null},\"value\":{\"type\":\"string\",\"data\":null},\"timestamp\":\"2019-08-24T14:15:22Z\"}"); - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/records") - .post(body) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/records\"\n\n\tpayload := strings.NewReader(\"{\\\"partition_id\\\":0,\\\"headers\\\":[{\\\"name\\\":\\\"string\\\",\\\"value\\\":\\\"string\\\"}],\\\"key\\\":{\\\"type\\\":\\\"string\\\",\\\"data\\\":null},\\\"value\\\":{\\\"type\\\":\\\"string\\\",\\\"data\\\":null},\\\"timestamp\\\":\\\"2019-08-24T14:15:22Z\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - payload = "{\"partition_id\":0,\"headers\":[{\"name\":\"string\",\"value\":\"string\"}],\"key\":{\"type\":\"string\",\"data\":null},\"value\":{\"type\":\"string\",\"data\":null},\"timestamp\":\"2019-08-24T14:15:22Z\"}" - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("POST", "/kafka/v3/clusters/cluster-1/topics/topic-1/records", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/topics/topic-1/records", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - partition_id: 0, - headers: [{name: 'string', value: 'string'}], - key: {type: 'string', data: null}, - value: {type: 'string', data: null}, - timestamp: '2019-08-24T14:15:22Z' - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/records"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"partition_id\":0,\"headers\":[{\"name\":\"string\",\"value\":\"string\"}],\"key\":{\"type\":\"string\",\"data\":null},\"value\":{\"type\":\"string\",\"data\":null},\"timestamp\":\"2019-08-24T14:15:22Z\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/records"); - var request = new RestRequest(Method.POST); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("undefined", "{\"partition_id\":0,\"headers\":[{\"name\":\"string\",\"value\":\"string\"}],\"key\":{\"type\":\"string\",\"data\":null},\"value\":{\"type\":\"string\",\"data\":null},\"timestamp\":\"2019-08-24T14:15:22Z\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/TopicName' - '/kafka/v3/clusters/{cluster_id}/links': - get: - summary: List all cluster links in the dest cluster - operationId: listKafkaLinks - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - ``link_id`` in ``ListLinksResponseData`` is deprecated and may be removed in a future release. Use the new ``cluster_link_id`` instead. - tags: - - Cluster Linking (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '200': - $ref: '#/components/responses/ListLinksResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/links", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/links", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - post: - summary: Create a cluster link - operationId: createKafkaLink - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Cluster link creation requires source cluster security configurations in - the configs JSON section of the data request payload. - tags: - - Cluster Linking (v3) - security: - - resource-api-key: [] - - external-access-token: [] - parameters: - - $ref: '#/components/parameters/ClusterId' - requestBody: - $ref: '#/components/requestBodies/CreateLinkRequest' - responses: - '204': - $ref: '#/components/responses/NoContentResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --data '{"source_cluster_id":"string","destination_cluster_id":"string","remote_cluster_id":"string","cluster_link_id":"string","configs":[{"name":"name","value":"value"}]}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"source_cluster_id\":\"string\",\"destination_cluster_id\":\"string\",\"remote_cluster_id\":\"string\",\"cluster_link_id\":\"string\",\"configs\":[{\"name\":\"name\",\"value\":\"value\"}]}"); - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links") - .post(body) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links\"\n\n\tpayload := strings.NewReader(\"{\\\"source_cluster_id\\\":\\\"string\\\",\\\"destination_cluster_id\\\":\\\"string\\\",\\\"remote_cluster_id\\\":\\\"string\\\",\\\"cluster_link_id\\\":\\\"string\\\",\\\"configs\\\":[{\\\"name\\\":\\\"name\\\",\\\"value\\\":\\\"value\\\"}]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - payload = "{\"source_cluster_id\":\"string\",\"destination_cluster_id\":\"string\",\"remote_cluster_id\":\"string\",\"cluster_link_id\":\"string\",\"configs\":[{\"name\":\"name\",\"value\":\"value\"}]}" - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("POST", "/kafka/v3/clusters/cluster-1/links", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/links", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - source_cluster_id: 'string', - destination_cluster_id: 'string', - remote_cluster_id: 'string', - cluster_link_id: 'string', - configs: [{name: 'name', value: 'value'}] - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"source_cluster_id\":\"string\",\"destination_cluster_id\":\"string\",\"remote_cluster_id\":\"string\",\"cluster_link_id\":\"string\",\"configs\":[{\"name\":\"name\",\"value\":\"value\"}]}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links"); - var request = new RestRequest(Method.POST); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("undefined", "{\"source_cluster_id\":\"string\",\"destination_cluster_id\":\"string\",\"remote_cluster_id\":\"string\",\"cluster_link_id\":\"string\",\"configs\":[{\"name\":\"name\",\"value\":\"value\"}]}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/kafka/v3/clusters/{cluster_id}/links/{link_name}': - get: - summary: Describe the cluster link - operationId: getKafkaLink - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - ``link_id`` in ``ListLinksResponseData`` is deprecated and may be removed in a future release. Use the new ``cluster_link_id`` instead. - tags: - - Cluster Linking (v3) - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/LinkName' - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '200': - $ref: '#/components/responses/GetLinkResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1 \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/links/link-sb1", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/links/link-sb1", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - delete: - summary: Delete the cluster link - operationId: deleteKafkaLink - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - tags: - - Cluster Linking (v3) - security: - - resource-api-key: [] - - external-access-token: [] - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/LinkName' - responses: - '200': - $ref: '#/components/responses/NoContentResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1 \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/kafka/v3/clusters/cluster-1/links/link-sb1", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/links/link-sb1", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/kafka/v3/clusters/{cluster_id}/topics/{topic_name}/default-configs': - get: - summary: List New Topic Default Configs - operationId: listKafkaDefaultTopicConfigs - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - List the default configuration parameters used if the topic were to be newly created. - tags: - - Configs (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '200': - $ref: '#/components/responses/ListTopicConfigsResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '404': - $ref: '#/components/responses/NotFoundErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/default-configs \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/default-configs") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/default-configs\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/topics/topic-1/default-configs", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/topics/topic-1/default-configs", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/default-configs"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/default-configs"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/TopicName' - '/kafka/v3/clusters/{cluster_id}/links/{link_name}/configs': - get: - summary: List all configs of the cluster link - operationId: listKafkaLinkConfigs - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - tags: - - Cluster Linking (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '200': - $ref: '#/components/responses/ListLinkConfigsResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/links/link-sb1/configs", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/configs", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/LinkName' - '/kafka/v3/clusters/{cluster_id}/links/{link_name}/configs/{config_name}': - get: - summary: Describe the config under the cluster link - operationId: getKafkaLinkConfigs - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - tags: - - Cluster Linking (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '200': - $ref: '#/components/responses/GetLinkConfigsResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/LinkName' - - $ref: '#/components/parameters/LinkConfigName' - put: - summary: Alter the config under the cluster link - operationId: updateKafkaLinkConfig - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - tags: - - Cluster Linking (v3) - security: - - resource-api-key: [] - - external-access-token: [] - requestBody: - $ref: '#/components/requestBodies/UpdateLinkConfigRequest' - responses: - '204': - $ref: '#/components/responses/NoContentResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --data '{"value":"string"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"value\":\"string\"}"); - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable") - .put(body) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable\"\n\n\tpayload := strings.NewReader(\"{\\\"value\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - payload = "{\"value\":\"string\"}" - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("PUT", "/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({value: 'string'})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"value\":\"string\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable"); - var request = new RestRequest(Method.PUT); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("undefined", "{\"value\":\"string\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/LinkName' - - $ref: '#/components/parameters/LinkConfigName' - delete: - summary: Reset the given config to default value - operationId: deleteKafkaLinkConfig - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - tags: - - Cluster Linking (v3) - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '204': - $ref: '#/components/responses/NoContentResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs/consumer.offset.sync.enable"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/LinkName' - - $ref: '#/components/parameters/LinkConfigName' - '/kafka/v3/clusters/{cluster_id}/links/{link_name}/configs:alter': - put: - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Batch Alter Cluster Link Configs - operationId: updateKafkaLinkConfigBatch - tags: - - Cluster Linking (v3) - security: - - resource-api-key: [] - - external-access-token: [] - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/LinkName' - requestBody: - $ref: '#/components/requestBodies/AlterLinkConfigBatchRequest' - responses: - '204': - description: No Content - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - summary: Batch Alter Cluster Link Configs - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs:alter \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --data '{"data":[{"name":"string","value":"string","operation":"string"}],"validate_only":true}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}"); - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs:alter") - .put(body) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs:alter\"\n\n\tpayload := strings.NewReader(\"{\\\"data\\\":[{\\\"name\\\":\\\"string\\\",\\\"value\\\":\\\"string\\\",\\\"operation\\\":\\\"string\\\"}],\\\"validate_only\\\":true}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - payload = "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}" - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("PUT", "/kafka/v3/clusters/cluster-1/links/link-sb1/configs:alter", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/configs:alter", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - data: [{name: 'string', value: 'string', operation: 'string'}], - validate_only: true - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs:alter"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/configs:alter"); - var request = new RestRequest(Method.PUT); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("undefined", "{\"data\":[{\"name\":\"string\",\"value\":\"string\",\"operation\":\"string\"}],\"validate_only\":true}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors': - post: - summary: Create a mirror topic - operationId: createKafkaMirrorTopic - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Create a topic in the destination cluster mirroring a topic in - the source cluster - tags: - - Cluster Linking (v3) - security: - - resource-api-key: [] - - external-access-token: [] - requestBody: - $ref: '#/components/requestBodies/CreateMirrorTopicRequest' - responses: - '204': - $ref: '#/components/responses/NoContentResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --data '{"source_topic_name":"string","mirror_topic_name":"string","replication_factor":0,"configs":[{"name":"name","value":"value"}]}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"source_topic_name\":\"string\",\"mirror_topic_name\":\"string\",\"replication_factor\":0,\"configs\":[{\"name\":\"name\",\"value\":\"value\"}]}"); - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors") - .post(body) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors\"\n\n\tpayload := strings.NewReader(\"{\\\"source_topic_name\\\":\\\"string\\\",\\\"mirror_topic_name\\\":\\\"string\\\",\\\"replication_factor\\\":0,\\\"configs\\\":[{\\\"name\\\":\\\"name\\\",\\\"value\\\":\\\"value\\\"}]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - payload = "{\"source_topic_name\":\"string\",\"mirror_topic_name\":\"string\",\"replication_factor\":0,\"configs\":[{\"name\":\"name\",\"value\":\"value\"}]}" - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("POST", "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - source_topic_name: 'string', - mirror_topic_name: 'string', - replication_factor: 0, - configs: [{name: 'name', value: 'value'}] - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"source_topic_name\":\"string\",\"mirror_topic_name\":\"string\",\"replication_factor\":0,\"configs\":[{\"name\":\"name\",\"value\":\"value\"}]}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors"); - var request = new RestRequest(Method.POST); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("undefined", "{\"source_topic_name\":\"string\",\"mirror_topic_name\":\"string\",\"replication_factor\":0,\"configs\":[{\"name\":\"name\",\"value\":\"value\"}]}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/LinkName' - get: - summary: List mirror topics - operationId: listKafkaMirrorTopicsUnderLink - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - List all mirror topics under the link - tags: - - Cluster Linking (v3) - security: - - resource-api-key: [] - - external-access-token: [] - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/LinkName' - responses: - '200': - $ref: '#/components/responses/ListMirrorTopicsResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors?mirror_status=ACTIVE' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors?mirror_status=ACTIVE") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors?mirror_status=ACTIVE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors?mirror_status=ACTIVE", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors?mirror_status=ACTIVE", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors?mirror_status=ACTIVE"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors?mirror_status=ACTIVE"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/kafka/v3/clusters/{cluster_id}/links/-/mirrors': - get: - summary: List mirror topics - operationId: listKafkaMirrorTopics - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - List all mirror topics in the cluster - tags: - - Cluster Linking (v3) - security: - - resource-api-key: [] - - external-access-token: [] - parameters: - - $ref: '#/components/parameters/ClusterId' - responses: - '200': - $ref: '#/components/responses/ListMirrorTopicsResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/-/mirrors \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/-/mirrors") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/-/mirrors\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/links/-/mirrors", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/links/-/mirrors", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/-/mirrors"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/-/mirrors"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors/{mirror_topic_name}': - get: - summary: Describe the mirror topic - operationId: readKafkaMirrorTopic - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - tags: - - Cluster Linking (v3) - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/LinkName' - - $ref: '#/components/parameters/MirrorTopicName' - security: - - resource-api-key: [] - - external-access-token: [] - responses: - '200': - $ref: '#/components/responses/DescribeMirrorTopicResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors/topic-1 \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors/topic-1") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors/topic-1\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors/topic-1", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors/topic-1", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors/topic-1"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors/topic-1"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:promote': - post: - summary: Promote the mirror topics - operationId: updateKafkaMirrorTopicsPromote - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - tags: - - Cluster Linking (v3) - security: - - resource-api-key: [] - - external-access-token: [] - requestBody: - $ref: '#/components/requestBodies/AlterMirrorsRequest' - responses: - '200': - $ref: '#/components/responses/AlterMirrorStatusResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:promote \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --data '{"mirror_topic_names":["string"],"mirror_topic_name_pattern":"string"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:promote") - .post(body) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:promote\"\n\n\tpayload := strings.NewReader(\"{\\\"mirror_topic_names\\\":[\\\"string\\\"],\\\"mirror_topic_name_pattern\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - payload = "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}" - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("POST", "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:promote", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:promote", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({mirror_topic_names: ['string'], mirror_topic_name_pattern: 'string'})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:promote"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:promote"); - var request = new RestRequest(Method.POST); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("undefined", "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/LinkName' - - $ref: '#/components/parameters/ValidateOnly' - '/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:failover': - post: - summary: Failover the mirror topics - operationId: updateKafkaMirrorTopicsFailover - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - tags: - - Cluster Linking (v3) - security: - - resource-api-key: [] - - external-access-token: [] - requestBody: - $ref: '#/components/requestBodies/AlterMirrorsRequest' - responses: - '200': - $ref: '#/components/responses/AlterMirrorStatusResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:failover \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --data '{"mirror_topic_names":["string"],"mirror_topic_name_pattern":"string"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:failover") - .post(body) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:failover\"\n\n\tpayload := strings.NewReader(\"{\\\"mirror_topic_names\\\":[\\\"string\\\"],\\\"mirror_topic_name_pattern\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - payload = "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}" - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("POST", "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:failover", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:failover", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({mirror_topic_names: ['string'], mirror_topic_name_pattern: 'string'})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:failover"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:failover"); - var request = new RestRequest(Method.POST); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("undefined", "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/LinkName' - - $ref: '#/components/parameters/ValidateOnly' - '/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:pause': - post: - summary: Pause the mirror topics - operationId: updateKafkaMirrorTopicsPause - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - tags: - - Cluster Linking (v3) - security: - - resource-api-key: [] - - external-access-token: [] - requestBody: - $ref: '#/components/requestBodies/AlterMirrorsRequest' - responses: - '200': - $ref: '#/components/responses/AlterMirrorStatusResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:pause \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --data '{"mirror_topic_names":["string"],"mirror_topic_name_pattern":"string"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:pause") - .post(body) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:pause\"\n\n\tpayload := strings.NewReader(\"{\\\"mirror_topic_names\\\":[\\\"string\\\"],\\\"mirror_topic_name_pattern\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - payload = "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}" - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("POST", "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:pause", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:pause", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({mirror_topic_names: ['string'], mirror_topic_name_pattern: 'string'})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:pause"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:pause"); - var request = new RestRequest(Method.POST); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("undefined", "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/LinkName' - - $ref: '#/components/parameters/ValidateOnly' - '/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:resume': - post: - summary: Resume the mirror topics - operationId: updateKafkaMirrorTopicsResume - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - tags: - - Cluster Linking (v3) - security: - - resource-api-key: [] - - external-access-token: [] - requestBody: - $ref: '#/components/requestBodies/AlterMirrorsRequest' - responses: - '200': - $ref: '#/components/responses/AlterMirrorStatusResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:resume \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --data '{"mirror_topic_names":["string"],"mirror_topic_name_pattern":"string"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:resume") - .post(body) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:resume\"\n\n\tpayload := strings.NewReader(\"{\\\"mirror_topic_names\\\":[\\\"string\\\"],\\\"mirror_topic_name_pattern\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - payload = "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}" - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("POST", "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:resume", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:resume", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({mirror_topic_names: ['string'], mirror_topic_name_pattern: 'string'})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:resume"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:resume"); - var request = new RestRequest(Method.POST); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("undefined", "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/LinkName' - - $ref: '#/components/parameters/ValidateOnly' - '/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:reverse-and-start-mirror': - post: - summary: Reverse the local mirror topic and start the remote mirror topic - operationId: updateKafkaMirrorTopicsReverseAndStartMirror - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - tags: - - Cluster Linking (v3) - security: - - resource-api-key: [] - - external-access-token: [] - requestBody: - $ref: '#/components/requestBodies/AlterMirrorsRequest' - responses: - '200': - $ref: '#/components/responses/AlterMirrorStatusResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-start-mirror \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --data '{"mirror_topic_names":["string"],"mirror_topic_name_pattern":"string"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-start-mirror") - .post(body) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-start-mirror\"\n\n\tpayload := strings.NewReader(\"{\\\"mirror_topic_names\\\":[\\\"string\\\"],\\\"mirror_topic_name_pattern\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - payload = "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}" - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("POST", "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-start-mirror", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-start-mirror", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({mirror_topic_names: ['string'], mirror_topic_name_pattern: 'string'})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-start-mirror"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-start-mirror"); - var request = new RestRequest(Method.POST); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("undefined", "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/LinkName' - - $ref: '#/components/parameters/ValidateOnly' - '/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:reverse-and-pause-mirror': - post: - summary: Reverse the local mirror topic and Pause the remote mirror topic - operationId: updateKafkaMirrorTopicsReverseAndPauseMirror - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - tags: - - Cluster Linking (v3) - security: - - resource-api-key: [] - - external-access-token: [] - requestBody: - $ref: '#/components/requestBodies/AlterMirrorsRequest' - responses: - '200': - $ref: '#/components/responses/AlterMirrorStatusResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-pause-mirror \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --data '{"mirror_topic_names":["string"],"mirror_topic_name_pattern":"string"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-pause-mirror") - .post(body) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-pause-mirror\"\n\n\tpayload := strings.NewReader(\"{\\\"mirror_topic_names\\\":[\\\"string\\\"],\\\"mirror_topic_name_pattern\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - payload = "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}" - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("POST", "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-pause-mirror", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-pause-mirror", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({mirror_topic_names: ['string'], mirror_topic_name_pattern: 'string'})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-pause-mirror"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:reverse-and-pause-mirror"); - var request = new RestRequest(Method.POST); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("undefined", "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/LinkName' - - $ref: '#/components/parameters/ValidateOnly' - '/kafka/v3/clusters/{cluster_id}/links/{link_name}/mirrors:truncate-and-restore': - post: - summary: Truncates the local topic to the remote stopped mirror log end offsets and restores mirroring to the local topic to mirror from the remote topic - operationId: updateKafkaMirrorTopicsTruncateAndRestoreMirror - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - tags: - - Cluster Linking (v3) - security: - - resource-api-key: [] - - external-access-token: [] - requestBody: - $ref: '#/components/requestBodies/AlterMirrorsRequest' - responses: - '200': - $ref: '#/components/responses/AlterMirrorStatusResponse' - '400': - $ref: '#/components/responses/BadRequestErrorResponse' - '401': - $ref: '#/components/responses/UnauthorizedErrorResponse' - '429': - $ref: '#/components/responses/TooManyRequestsErrorResponse' - 5XX: - $ref: '#/components/responses/ServerErrorResponse' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:truncate-and-restore \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --data '{"mirror_topic_names":["string"],"mirror_topic_name_pattern":"string"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); - Request request = new Request.Builder() - .url("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:truncate-and-restore") - .post(body) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:truncate-and-restore\"\n\n\tpayload := strings.NewReader(\"{\\\"mirror_topic_names\\\":[\\\"string\\\"],\\\"mirror_topic_name_pattern\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("pkc-00000.region.provider.confluent.cloud") - - payload = "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}" - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("POST", "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:truncate-and-restore", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "pkc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:truncate-and-restore", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({mirror_topic_names: ['string'], mirror_topic_name_pattern: 'string'})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:truncate-and-restore"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/links/link-sb1/mirrors:truncate-and-restore"); - var request = new RestRequest(Method.POST); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("undefined", "{\"mirror_topic_names\":[\"string\"],\"mirror_topic_name_pattern\":\"string\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - parameters: - - $ref: '#/components/parameters/ClusterId' - - $ref: '#/components/parameters/LinkName' - - $ref: '#/components/parameters/IncludePartitionLevelTruncationData' - - $ref: '#/components/parameters/ValidateOnly' + replace: [] + group_configs: + id: confluent.kafka.group_configs + name: group_configs + title: Group Configs + methods: + list_kafka_group_configs: + operation: + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1groups~1{group_id}~1configs/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + get_kafka_group_config: + operation: + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1groups~1{group_id}~1configs~1{name}/get + response: + mediaType: application/json + openAPIDocKey: '200' + update_kafka_group_config: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1groups~1{group_id}~1configs~1{name}/put + response: + mediaType: application/json + openAPIDocKey: '204' + delete_kafka_group_config: + operation: + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1groups~1{group_id}~1configs~1{name}/delete + response: + mediaType: application/json + openAPIDocKey: '204' + update_kafka_group_config_batch: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1groups~1{group_id}~1configs:alter/post + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/group_configs/methods/get_kafka_group_config + - $ref: >- + #/components/x-stackQL-resources/group_configs/methods/list_kafka_group_configs + insert: [] + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/group_configs/methods/delete_kafka_group_config + replace: + - $ref: >- + #/components/x-stackQL-resources/group_configs/methods/update_kafka_group_config +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/ksqldb_clusters.yaml b/providers/src/confluent/v00.00.00000/services/ksqldb_clusters.yaml index 12da4331..49914614 100644 --- a/providers/src/confluent/v00.00.00000/services/ksqldb_clusters.yaml +++ b/providers/src/confluent/v00.00.00000/services/ksqldb_clusters.yaml @@ -1,1557 +1,1432 @@ openapi: 3.0.0 -servers: - - url: 'https://api.confluent.cloud' - description: Confluent Cloud API info: - version: '' - contact: - name: Confluent Cloud - url: 'https://www.confluent.io/cloud-contact-us/' - email: support@confluent.io - x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b - x-audience: external-public - x-logo: - url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' - title: Confluent Cloud APIs - ksqldb_clusters - description: ksqldb_clusters -tags: - - name: API Keys (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. - - The API allows you to list, create, update and delete your API Keys. - - - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - - ## The API Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - - name: Environments (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. - - - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - - ## The Environments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - - name: Organizations (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). - - The API allows you to list, view, and update your organizations. - - - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - - ## The Organizations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - - name: Users (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `User` objects represent individuals who may access your Confluent resources. - - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. - - - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). - - ## The Users Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - - name: Service Accounts (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. - - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. - - - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). - - ## The Service Accounts Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - - name: Invitations (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. - - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. - - - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). - - ## The Invitations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - - name: IP Groups (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) - - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. - - - ## The IP Groups Model - - - name: IP Filters (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. - - - ## The IP Filters Model - - - name: Role Bindings (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A role binding grants a Principal a role on resources that match a pattern. + title: ksqldb_clusters API + description: confluent ksqldb_clusters API + version: 1.0.0 +paths: + /ksqldbcm/v2/clusters: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listKsqldbcmV2Clusters + summary: List of Clusters + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to perform create, delete, and list operations on role bindings. + Retrieve a sorted, filtered, paginated list of all clusters. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Clusters (ksqldbcm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Cluster. + content: + application/json: + schema: + type: object + description: >- + `Cluster` represents a ksqlDB runtime that you can issue + queries to using its API endpoint. - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + It executes SQL statements and queries which under the hood + get built into corresponding - ## The Role Bindings Model - - - name: Subscriptions (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Kafka Streams topologies. The API allows you to list, create, + read, and delete your ksqlDB clusters. - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + Related guide: [ksqlDB in Confluent + Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - ## The Subscriptions Model - - - name: Integrations (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Clusters Model - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. + - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + ## Quotas and Limits - ## The Integrations Model - + This resource is subject to the following quotas: - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - - name: Notification Types (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | Quota | Description | - The type of notifications (and their corresponding metadata) supported by Confluent. + | --- | --- | + | `ksql.limits.max_apps_per_cluster` | Clusters in one + Confluent Cloud Kafka Cluster. | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - ksqldbcm/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ClusterList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `Cluster` represents a ksqlDB runtime that you can issue + queries to using its API endpoint. - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + It executes SQL statements and queries which under the + hood get built into corresponding - ## The Notification Types Model - - - name: Clusters (cmk/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Kafka Streams topologies. The API allows you to list, + create, read, and delete your ksqlDB clusters. - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Kafka clusters. + Related guide: [ksqlDB in Confluent + Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - ## The Clusters Model - + ## The Clusters Model - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - - name: Clusters (ksqldbcm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + ## Quotas and Limits + This resource is subject to the following quotas: - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - ## The Clusters Model - + | Quota | Description | - ## Quotas and Limits - This resource is subject to the following quotas: + | --- | --- | - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - - name: Connectors (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | `ksql.limits.max_apps_per_cluster` | Clusters in one + Confluent Cloud Kafka Cluster. | + properties: + api_version: + type: string + enum: + - ksqldbcm/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/ksqldbcm.v2.ClusterSpec' + status: + $ref: '#/components/schemas/ksqldbcm.v2.ClusterStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createKsqldbcmV2Cluster + summary: Create a Cluster + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for Managed Connectors or Custom Connectors in Confluent Cloud. - The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + Make a request to create a cluster. + tags: + - Clusters (ksqldbcm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `Cluster` represents a ksqlDB runtime that you can issue queries + to using its API endpoint. + + It executes SQL statements and queries which under the hood get + built into corresponding + + Kafka Streams topologies. The API allows you to list, create, + read, and delete your ksqlDB clusters. + + + + Related guide: [ksqlDB in Confluent + Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + + + ## The Clusters Model + + + + + ## Quotas and Limits + + This resource is subject to the following quotas: + + + | Quota | Description | + + | --- | --- | + + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent + Cloud Kafka Cluster. | + properties: + api_version: + type: string + enum: + - ksqldbcm/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/ksqldbcm.v2.ClusterSpec' + status: + $ref: '#/components/schemas/ksqldbcm.v2.ClusterStatus' + required: + - spec + responses: + '202': + description: A Cluster is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/ksqldbcm/v2/clusters/{id} + description: Cluster resource uri + content: + application/json: + schema: + type: object + description: >- + `Cluster` represents a ksqlDB runtime that you can issue + queries to using its API endpoint. - Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + It executes SQL statements and queries which under the hood + get built into corresponding - Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - name: Lifecycle (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Kafka Streams topologies. The API allows you to list, create, + read, and delete your ksqlDB clusters. - API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. - - name: Status (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. - - name: Managed Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for Managed connectors in Confluent Cloud. - - name: Offsets (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [ksqlDB in Confluent + Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - API for managing the offsets for a Managed Connector. - Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) - - name: Custom Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Clusters Model - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - ## The Custom Connector Plugins Model - - - name: Presigned Urls (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## Quotas and Limits - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. + This resource is subject to the following quotas: - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + | Quota | Description | - ## The Presigned Urls Model - - - name: Cluster (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Configs (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: ACL (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Consumer Group (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Partition (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Topic (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Records (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Cluster Linking (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Applied Quotas (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | --- | --- | - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. + | `ksql.limits.max_apps_per_cluster` | Clusters in one + Confluent Cloud Kafka Cluster. | + properties: + api_version: + type: string + enum: + - ksqldbcm/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/ksqldbcm.v2.ClusterSpec' + status: + $ref: '#/components/schemas/ksqldbcm.v2.ClusterStatus' + required: + - spec + - status + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /ksqldbcm/v2/clusters/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getKsqldbcmV2Cluster + summary: Read a Cluster + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + Make a request to read a cluster. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the cluster. + tags: + - Clusters (ksqldbcm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Cluster. + content: + application/json: + schema: + type: object + description: >- + `Cluster` represents a ksqlDB runtime that you can issue + queries to using its API endpoint. - ## The Applied Quotas Model - - - name: Scopes (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + It executes SQL statements and queries which under the hood + get built into corresponding - Gets a list of all available scopes for applied quotas. + Kafka Streams topologies. The API allows you to list, create, + read, and delete your ksqlDB clusters. - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). - ## The Scopes Model - - - name: Entitlements (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + Related guide: [ksqlDB in Confluent + Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - `Entitlement` objects represent metadata about a marketplace entitlement. - An entitlement includes metadata about a marketplace purchase - (start date, end date, billing information, partner IDs, etc). - The API allows partners to create, read, and list entitlements. (Unless you - need entitlement creation and customer registration to be separate, - we recommend using the Signup API to create an organization and entitlement - at the same time) + ## The Clusters Model - The API only allows authorized partners to interact with the Entitlements API. - - name: Regions (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. + ## Quotas and Limits - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + This resource is subject to the following quotas: - ## The Regions Model - - - name: Clusters (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + | Quota | Description | - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + | --- | --- | - The API allows you to list, create, read, and delete your Schema Registry clusters. + | `ksql.limits.max_apps_per_cluster` | Clusters in one + Confluent Cloud Kafka Cluster. | + properties: + api_version: + type: string + enum: + - ksqldbcm/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/ksqldbcm.v2.ClusterSpec' + status: + $ref: '#/components/schemas/ksqldbcm.v2.ClusterStatus' + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteKsqldbcmV2Cluster + summary: Delete a Cluster + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Clusters Model - - - name: Clusters (srcm/v3) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list and read your Schema Registry clusters. - - - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - - ## The Clusters Model - - - name: Compatibility (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to test schema compatibility. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Config (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to manage and query schema compatibility settings and cluster configurations. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Contexts (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to retrieve information about schema contexts. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Exporters (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete exporters. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Modes (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects modes of operation. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Schemas (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schemas. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Subjects (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects and versions. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Key Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete key encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Data Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete data encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Entity (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Search (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to search for entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Types (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Provider Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. - - - ## The Provider Shared Resources Model - - - name: Provider Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderShare` object respresents the share that you have created through Stream Sharing. - - - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). - - ## The Provider Shares Model - - - name: Consumer Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. - - - ## The Consumer Shared Resources Model - - - name: Consumer Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerShare` object respresents the share that you received through Stream Sharing. - - - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + Make a request to delete a cluster. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the cluster. + tags: + - Clusters (ksqldbcm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Cluster is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + ksqldbcm.v2.ClusterList: + type: object + description: >- + `Cluster` represents a ksqlDB runtime that you can issue queries to + using its API endpoint. - ## The Consumer Shares Model - - - name: Shared Tokens (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + It executes SQL statements and queries which under the hood get built + into corresponding - Encrypted Token shared with consumer + Kafka Streams topologies. The API allows you to list, create, read, and + delete your ksqlDB clusters. - ## The Shared Tokens Model - - - name: Opt Ins (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Stream sharing opt in options + Related guide: [ksqlDB in Confluent + Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - ## The Opt Ins Model - - - name: Organizations (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - `Organizations` objects represent an entire Confluent Cloud organization. - Partners are allowed to get an organization they have signed up or - list all organizations they have signed up. - - name: Signup (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + ## The Clusters Model - `Signup` APIs can only be performed by partners. - - name: Networks (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. - The API allows you to list, create, read, update, and delete your networks. + ## Quotas and Limits + This resource is subject to the following quotas: - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - ## The Networks Model - + | Quota | Description | - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + | --- | --- | - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - - name: Peerings (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud + Kafka Cluster. | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - ksqldbcm/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ClusterList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `Cluster` represents a ksqlDB runtime that you can issue queries + to using its API endpoint. - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + It executes SQL statements and queries which under the hood get + built into corresponding - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + Kafka Streams topologies. The API allows you to list, create, + read, and delete your ksqlDB clusters. - ## The Peerings Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + Related guide: [ksqlDB in Confluent + Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - - name: Transit Gateway Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - AWS Transit Gateway Attachments + ## The Clusters Model - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + - ## The Transit Gateway Attachments Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + ## Quotas and Limits - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - - name: Private Link Accesses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + This resource is subject to the following quotas: - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + | Quota | Description | + | --- | --- | - ## The Private Link Accesses Model - + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent + Cloud Kafka Cluster. | + properties: + api_version: + type: string + enum: + - ksqldbcm/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/ksqldbcm.v2.ClusterSpec' + status: + $ref: '#/components/schemas/ksqldbcm.v2.ClusterStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + ksqldbcm.v2.Cluster: + type: object + description: >- + `Cluster` represents a ksqlDB runtime that you can issue queries to + using its API endpoint. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + It executes SQL statements and queries which under the hood get built + into corresponding - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - - name: Network Link Services (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Kafka Streams topologies. The API allows you to list, create, read, and + delete your ksqlDB clusters. - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + Related guide: [ksqlDB in Confluent + Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - ## The Network Link Services Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + ## The Clusters Model - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - - name: Network Link Endpoints (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. + ## Quotas and Limits - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + This resource is subject to the following quotas: - ## The Network Link Endpoints Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + | Quota | Description | - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - - name: Network Link Service Associations (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | --- | --- | - List of incoming Network Link Enpoints associated with the Network Link Service. + | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud + Kafka Cluster. | + properties: + api_version: + type: string + enum: + - ksqldbcm/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/ksqldbcm.v2.ClusterSpec' + status: + $ref: '#/components/schemas/ksqldbcm.v2.ClusterStatus' + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not contain + a first link, then direct navigation to the first page is not + supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not contain a + last link, then direct navigation to the last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not contain a + next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + Failure: + type: object + description: >- + Provides information about problems encountered while performing an + operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + ObjectMeta: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. It + is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + ksqldbcm.v2.ClusterSpec: + type: object + description: The desired state of the Cluster + properties: + display_name: + type: string + example: ksqlDB_cluster_0 + description: The name of the ksqlDB cluster. + pattern: ^(?:[0-9A-Za-z\-])[\w-]{0,63}$ + x-immutable: true + use_detailed_processing_log: + type: boolean + default: true + description: > + This flag controls whether you want to include the row data in the + processing log topic. Turn it off if you - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Service Associations Model - - - name: Gateways (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A gateway is a resource that defines network access to Confluent cloud resources. - - - ## The Gateways Model - - - name: IP Addresses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - IP Addresses - - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) - - ## The IP Addresses Model - - - name: Private Link Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. - - - ## The Private Link Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - - name: Private Link Attachment Connections (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. - - - ## The Private Link Attachment Connections Model - - - name: Identity Providers (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Identity Provider. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Identity Providers Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - - name: Jwks (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. - - The API allows you to refresh JWKS public key data. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Jwks Model - - - name: Identity Pools (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. - - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. - - - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). - - ## The Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - - name: OAuth Tokens (sts/v1) - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of - external identities to access Confluent Cloud APIs - - name: Client Quotas (kafka-quotas/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ClientQuota` objects represent Client Quotas you can set at the service account level. - - The API allows you to list, create, read, update, and delete your client quotas. - - - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - - ## The Client Quotas Model - - - name: Pipelines (sd/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. - - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. - - - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). - - ## The Pipelines Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - - name: Keys (byok/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. - - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. - - - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). - - ## The Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - - name: Costs (billing/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cost` objects represent the aggregated billing costs for an organization - - - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). - - ## The Costs Model - - - name: Group Mappings (iam/v2/sso) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. - - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. - - - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). - - ## The Group Mappings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - - name: Compute Pools (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. - - - ## The Compute Pools Model - - - name: Regions (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. - - - ## The Regions Model - - - name: Statements (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - - name: Statement Results (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementResult` represents a result of a `Statement` resource. - The API allows you to read your statement's results. - ## The Statement Results Model - - - name: Statement Exceptions (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementException` represents an exception of a `Statement` resource. - The API allows you to read your statement's exceptions. - ## The Statement Exceptions Model - - - name: Connections (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Connection` represents a core resource used to model SQL connections for execution. - A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - - name: DNS Forwarders (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add, remove, and update DNS forwarder for your gateway. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - - - ## The DNS Forwarders Model - - - name: Access Points (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. - - - ## The Access Points Model - - - name: DNS Records (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - - ## The DNS Records Model - - - name: Certificate Authorities (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Certificate Authority. - - - Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). - - ## The Certificate Authorities Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `certificate_authorities_per_org` | Number of certificate authorities per organization | - - name: Certificate Identity Pools (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Identitypool` objects represent workload identities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities - - - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). - - ## The Certificate Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - - name: Integrations (pim/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). - - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. - - - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). - - ## The Integrations Model - - - name: Flink Artifacts (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. - - - ## The Flink Artifacts Model - - - name: Presigned Urls (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - - ## The Presigned Urls Model - - - name: Flink Artifact Versions (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. - - - ## The Flink Artifact Versions Model - -components: - schemas: - SearchFilter: - description: Filter a collection by a string search - type: string - ksqldbcm.v2.ClusterList: - type: object - description: |- - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. - - - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the following quotas: - - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - ksqldbcm/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - ClusterList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/ksqldbcm/v2/clusters' - last: - example: 'https://api.confluent.cloud/ksqldbcm/v2/clusters?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/ksqldbcm/v2/clusters?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/ksqldbcm/v2/clusters?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/ksqldbcm.v2.Cluster' - - type: object - required: - - id - - metadata - - spec - - status - properties: - spec: - type: object - required: - - display_name - - csu - - kafka_cluster - - credential_identity - - environment - uniqueItems: true - ListMeta: - type: object - description: ListMeta describes metadata that resource collections may have - properties: - first: - description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds' - last: - description: 'A link to the last page of results. If a response does not contain a last link, then direct navigation to the last page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT' - prev: - description: 'A link to the previous page of results. If a response does not contain a prev link, then either there is no previous data or backwards traversal through the result set is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld' - next: - description: 'A link to the next page of results. If a response does not contain a next link, then there is no more data available.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb' - total_size: - description: Number of records in the full result set. This response may be paginated and have a smaller number of records. - type: integer - format: int32 - minimum: 0 - example: 123 - ksqldbcm.v2.Cluster: - type: object - description: |- - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. - - - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the following quotas: - - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - properties: - api_version: - type: string - enum: - - ksqldbcm/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Cluster - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/ksqldbcm/v2/clusters/lksqlc-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lksqlc-12345' - spec: - $ref: '#/components/schemas/ksqldbcm.v2.ClusterSpec' - status: - $ref: '#/components/schemas/ksqldbcm.v2.ClusterStatus' - AclOperation: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - AclPatternType: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - MATCH - - LITERAL - - PREFIXED - AclPermission: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - DENY - - ALLOW - AclResourceType: - type: string - enum: - - UNKNOWN - - ANY - - TOPIC - - GROUP - - CLUSTER - - TRANSACTIONAL_ID - - DELEGATION_TOKEN - BrokerTaskType: - type: string - enum: - - add-broker - - remove-broker - MirrorTopicStatus: - enum: - - ACTIVE - - FAILED - - LINK_FAILED - - LINK_PAUSED - - PAUSED - - PENDING_STOPPED - - SOURCE_UNAVAILABLE - - STOPPED - - PENDING_MIRROR - - PENDING_SYNCHRONIZE - - PENDING_SETUP_FOR_RESTORE - - PENDING_RESTORE - type: string - Failure: - type: object - description: Provides information about problems encountered while performing an operation. - required: - - errors - properties: - errors: - description: List of errors which caused this operation to fail - type: array - items: - $ref: '#/components/schemas/Error' - uniqueItems: true - AlterConfigBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - operation: - type: string - x-extensible-enum: - - SET - - DELETE - nullable: true - validate_only: - type: boolean - CreateAclRequestData: - type: object - required: - - resource_type - - resource_name - - pattern_type - - principal - - host - - operation - - permission - properties: - resource_type: - $ref: '#/components/schemas/AclResourceType' - resource_name: - type: string - pattern_type: - $ref: '#/components/schemas/AclPatternType' - principal: - type: string - host: - type: string - operation: - $ref: '#/components/schemas/AclOperation' - permission: - $ref: '#/components/schemas/AclPermission' - CreateAclRequestDataList: - allOf: - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/CreateAclRequestData' - CreateTopicRequestData: - type: object - required: - - topic_name - properties: - topic_name: - type: string - partitions_count: - type: integer - replication_factor: - type: integer - configs: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - validate_only: - type: boolean - ProduceRequest: - type: object - properties: - partition_id: - type: integer - nullable: true - format: int32 - headers: - type: array - items: - $ref: '#/components/schemas/ProduceRequestHeader' - key: - $ref: '#/components/schemas/ProduceRequestData' - value: - $ref: '#/components/schemas/ProduceRequestData' - timestamp: - type: string - format: date-time - nullable: true - UpdateConfigRequestData: - type: object - properties: - value: - type: string - nullable: true - CreateLinkRequestData: - properties: - source_cluster_id: - type: string - destination_cluster_id: - type: string - remote_cluster_id: - description: The expected remote cluster ID. - type: string - cluster_link_id: - description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' - type: string - configs: - items: - $ref: '#/components/schemas/ConfigData' - type: array - type: object - UpdateLinkConfigRequestData: - properties: - value: - type: string - required: - - value - type: object - CreateMirrorTopicRequestData: - properties: - source_topic_name: - type: string - mirror_topic_name: - type: string - replication_factor: - type: integer - configs: - type: array - items: - $ref: '#/components/schemas/ConfigData' - required: - - source_topic_name - type: object - AlterMirrorsRequestData: - properties: - mirror_topic_names: - description: The mirror topics specified as a list of topic names. - type: array - items: - type: string - mirror_topic_name_pattern: - description: The mirror topics specified as a pattern. - type: string - type: object - RemoveBrokersRequestData: - properties: - broker_ids: - type: array - items: - type: integer - required: - - broker_ids - type: object - BrokerReplicaExclusionBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' - ObjectMeta: - description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' - required: - - self - properties: - self: - description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' - type: string - format: uri - readOnly: true - example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' - resource_name: - description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name - type: string - format: uri - readOnly: true - example: 'crn://confluent.cloud/kafka=lkc-f3a90de' - created_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. - updated_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. - deleted_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. - readOnly: true - ksqldbcm.v2.ClusterSpec: - type: object - description: The desired state of the Cluster - properties: - display_name: - type: string - example: ksqlDB_cluster_0 - description: The name of the ksqlDB cluster. - pattern: '^(?:[0-9A-Za-z\-])[\w-]{0,31}$' - x-immutable: true - use_detailed_processing_log: - type: boolean - default: true - description: | - This flag controls whether you want to include the row data in the processing log topic. Turn it off if you don't want to emit sensitive information to the processing log x-immutable: true csu: @@ -1567,20 +1442,101 @@ components: description: The number of CSUs (Confluent Streaming Units) in a ksqlDB cluster. x-immutable: false kafka_cluster: - allOf: - - $ref: '#/components/schemas/EnvScopedObjectReference' description: The kafka_cluster to which this belongs. x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true credential_identity: - allOf: - - $ref: '#/components/schemas/TypedGlobalObjectReference' - description: 'The credential_identity to which this belongs. The credential_identity can be one of iam.v2.User, iam.v2.ServiceAccount.' + description: >- + The credential_identity to which this belongs. The + credential_identity can be one of iam.v2.User, + iam.v2.ServiceAccount. x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true environment: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' description: The environment to which this belongs. x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true x-enable-id: true x-enable-listmeta: true x-enable-objectmeta: true @@ -1595,7 +1551,7 @@ components: http_endpoint: type: string description: The dataplane endpoint of the ksqlDB cluster. - example: 'https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud' + example: https://pksqlc-00000.us-central1.gcp.glb.confluent.cloud readOnly: true phase: type: string @@ -1618,7 +1574,9 @@ components: readOnly: true topic_prefix: type: string - description: Topic name prefix used by this ksqlDB cluster. Used to assign ACLs for this ksqlDB cluster to use. + description: >- + Topic name prefix used by this ksqlDB cluster. Used to assign ACLs + for this ksqlDB cluster to use. example: pksqlc-00000 readOnly: true readOnly: true @@ -1631,23 +1589,36 @@ components: type: string maxLength: 255 status: - description: 'The HTTP status code applicable to this problem, expressed as a string value.' + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. type: string code: - description: 'An application-specific error code, expressed as a string value.' + description: An application-specific error code, expressed as a string value. type: string title: - description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. type: string detail: - description: A human-readable explanation specific to this occurrence of the problem. + description: >- + A human-readable explanation specific to this occurrence of the + problem. type: string source: type: object - description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. properties: pointer: - description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. type: string parameter: description: A string indicating which query parameter caused the error. @@ -1659,55 +1630,11 @@ components: type: string nullable: true additionalProperties: false - ProduceRequestHeader: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - format: byte - nullable: true - ProduceRequestData: - type: object - properties: - type: - type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - data: - $ref: '#/components/schemas/AnyValue' - nullable: true - ConfigData: - example: - name: name - value: value - properties: - name: - type: string - value: - nullable: true - type: string - required: - - name - - value - BrokerReplicaExclusionRequestData: - type: object - required: - - broker_id - - reason - properties: - broker_id: - type: integer - reason: - type: string EnvScopedObjectReference: type: object - description: ObjectReference provides information for you to locate the referred object + description: >- + ObjectReference provides information for you to locate the referred + object required: - id - related @@ -1720,7 +1647,7 @@ components: maxLength: 255 environment: type: string - description: 'Environment of the referred resource, if env-scoped' + description: Environment of the referred resource, if env-scoped minLength: 1 maxLength: 255 related: @@ -1737,7 +1664,9 @@ components: readOnly: true TypedGlobalObjectReference: type: object - description: ObjectReference provides information for you to locate the referred object + description: >- + ObjectReference provides information for you to locate the referred + object required: - id - related @@ -1772,7 +1701,9 @@ components: readOnly: true GlobalObjectReference: type: object - description: ObjectReference provides information for you to locate the referred object + description: >- + ObjectReference provides information for you to locate the referred + object required: - id - related @@ -1795,253 +1726,6 @@ components: description: CRN reference to the referred resource minLength: 1 readOnly: true - AnyValue: - nullable: true - parameters: - AclHost: - name: host - description: The ACL host. - in: query - required: false - schema: - type: string - AclOperation: - name: operation - description: The ACL operation. - in: query - required: false - schema: - $ref: '#/components/schemas/AclOperation' - AclOperationRequired: - name: operation - description: The ACL operation. - in: query - required: true - schema: - $ref: '#/components/schemas/AclOperation' - AclPatternType: - name: pattern_type - description: The ACL pattern type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPatternType' - AclPatternTypeRequired: - name: pattern_type - description: The ACL pattern type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPatternType' - AclPermission: - name: permission - description: The ACL permission. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPermission' - AclPermissionRequired: - name: permission - description: The ACL permission. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPermission' - AclPrincipal: - name: principal - description: The ACL principal. This is the Service Account name or user name. - in: query - required: false - schema: - type: string - AclResourceName: - name: resource_name - description: The ACL resource name. - in: query - required: false - schema: - type: string - AclResourceType: - name: resource_type - description: The ACL resource type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclResourceType' - AclResourceTypeRequired: - name: resource_type - description: The ACL resource type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclResourceType' - BrokerId: - name: broker_id - description: The Kafka broker ID. - in: path - required: true - schema: - type: integer - example: 1 - ClusterId: - name: cluster_id - description: The Kafka cluster ID. - in: path - required: true - schema: - type: string - example: cluster-1 - ConfigName: - name: name - description: The configuration parameter name. - in: path - required: true - schema: - type: string - example: compression.type - ConsumerGroupId: - name: consumer_group_id - description: The consumer group ID. - in: path - required: true - schema: - type: string - example: consumer-group-1 - ConsumerId: - name: consumer_id - description: The consumer ID. - in: path - required: true - schema: - type: string - example: consumer-1 - IncludeAuthorizedOperations: - name: include_authorized_operations - description: Specify if authorized operations should be included in the response. - in: query - required: false - schema: - type: boolean - PartitionId: - name: partition_id - description: The partition ID. - in: path - required: true - schema: - type: integer - example: 0 - TopicName: - name: topic_name - description: The topic name. - in: path - required: true - schema: - type: string - example: topic-1 - BrokerTaskType: - name: task_type - description: The Kafka broker task type. - in: path - required: true - schema: - $ref: '#/components/schemas/BrokerTaskType' - example: remove-broker - ShouldShutdown: - name: should_shutdown - description: 'To shutdown the broker or not, Default: true' - in: query - required: false - schema: - type: boolean - example: true - ValidateOnly: - name: validate_only - description: 'To validate the action can be performed successfully or not. Default: false' - in: query - required: false - schema: - type: boolean - example: false - ValidateLink: - name: validate_link - description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' - in: query - required: false - schema: - type: boolean - example: false - IncludeTasks: - name: include_tasks - description: 'Whether to include cluster linking tasks in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludeStateTransitionErrors: - name: include_state_transition_errors - description: 'Whether to include mirror state transition errors in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - Force: - name: force - description: 'Force the action. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludePartitionLevelTruncationData: - name: include_partition_level_truncation_data - description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - LinkName: - name: link_name - description: The link name - in: path - required: true - schema: - type: string - example: link-sb1 - LinkConfigName: - name: config_name - description: The link config name - in: path - required: true - schema: - type: string - example: consumer.offset.sync.enable - MirrorTopicStatus: - name: mirror_status - description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' - in: query - required: false - schema: - $ref: '#/components/schemas/MirrorTopicStatus' - example: ACTIVE - MirrorTopicName: - name: mirror_topic_name - description: Cluster Linking mirror topic name - in: path - required: true - schema: - type: string - example: topic-1 - QueryParamLinkName: - name: link_name - description: The link name - in: query - required: true - schema: - type: string - example: link-sb1 responses: BadRequestError: description: Bad Request @@ -2075,7 +1759,9 @@ components: schema: type: string description: The unique identifier for the API request. - example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + example: >- + Basic error="invalid_key", error_description="The API Key is + invalid" content: application/json: schema: @@ -2105,7 +1791,9 @@ components: status: '403' code: user_unauthorized title: User Access Unauthorized - detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + detail: >- + The user 'mcfly' is not allowed to access the 'delorean' + resource without the 'plutonium' role. RateLimitError: description: Rate Limit Exceeded headers: @@ -2116,7 +1804,9 @@ components: X-RateLimit-Limit: schema: type: integer - description: The maximum number of requests you're permitted to make per time period. + description: >- + The maximum number of requests you're permitted to make per time + period. X-RateLimit-Remaining: schema: type: integer @@ -2124,16 +1814,21 @@ components: X-RateLimit-Reset: schema: type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. + description: >- + The relative time in seconds until the current rate-limit window + resets. - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. Retry-After: schema: type: integer - description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. DefaultSystemError: - description: 'Oops, something went wrong!' + description: Oops, something went wrong! headers: X-Request-Id: schema: @@ -2149,7 +1844,9 @@ components: status: '500' code: out_of_gas title: DeLorean Out Of Gas - detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap OverQuotaError: x-summary: Over Quota description: The request would exceed one or more quotas. @@ -2168,7 +1865,9 @@ components: status: '402' code: quota_exceeded title: Kafka Clusters Per Org Quota Exceeded - detail: 'The request would exceed the quota: kafka_clusters_per_environment' + detail: >- + The request would exceed the quota: + kafka_clusters_per_environment ConflictError: x-summary: Conflict description: The request is in conflict with the current server state @@ -2181,7 +1880,7 @@ components: schema: type: string format: uri - example: 'https://api.confluent.cloud/{object}/{id}' + example: https://api.confluent.cloud/{object}/{id} description: Resource URI of conflicting resource content: application/json: @@ -2193,7 +1892,9 @@ components: status: '409' code: resource_already_exists title: Resource Already exists - detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + detail: >- + The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already + exists. ValidationError: description: Validation Failed headers: @@ -2211,635 +1912,371 @@ components: code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size NotFoundError: description: Not Found headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '404' - title: Not Found - securitySchemes: - cloud-api-key: - type: http - scheme: basic - description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. - confluent-sts-access-token: - type: oauth2 - description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' - scopes: {} - api-key: - type: http - scheme: basic - description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. - resource-api-key: - type: http - scheme: basic - description: | - Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID - as the username and resource-specific API Key Secret as the password. - external-access-token: - type: oauth2 - description: Authenticate with OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https:///token' - scopes: {} - oauth: - type: oauth2 - description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. - flows: - clientCredentials: - tokenUrl: /oauth2/token - scopes: - 'partner:alter': enables partners to alter entitlements - 'partner:create': enables partners to create entitlements and signup on behalf of customers - 'partner:delete': enables partners to delete entitlements and organizations - 'partner:describe': enables partners to read and list entitlements and organizations - requestBodies: - AlterBrokerConfigBatchRequest: - description: The alter broker configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterClusterConfigBatchRequest: - description: The alter cluster configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterTopicConfigBatchRequest: - description: The alter topic configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - examples: - batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only_batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only: true - CreateAclRequest: - description: The ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestData' - example: - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - BatchCreateAclRequest: - description: The batch ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestDataList' - example: - data: - - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - - resource_type: TOPIC - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: READ - permission: ALLOW - CreateTopicRequest: - description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTopicRequestData' - examples: - uniform_replication: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - configs: - - name: cleanup.policy - value: compact - - name: compression.type - value: gzip - dry_run_create_topic: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - validate_only: true - ProduceRequest: - description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' - content: - application/json: - schema: - $ref: '#/components/schemas/ProduceRequest' - examples: - binary_and_json: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - partition_id: 1 - headers: - - name: Header-1 - value: SGVhZGVyLTE= - - name: Header-2 - value: SGVhZGVyLTI= - key: - type: BINARY - data: Zm9vYmFy - value: - type: JSON - data: - foo: bar - timestamp: '2021-02-05T19:14:42Z' - string: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - value: - type: STRING - data: My message - empty_value: - description: key or value can be omitted entirely. - value: - key: - data: 1000 - UpdateBrokerConfigRequest: - description: The broker configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateClusterConfigRequest: - description: The cluster configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateTopicConfigRequest: - description: The topic configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - CreateLinkRequest: - description: Create a cluster link - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLinkRequestData' - examples: - destination_initiated_link: - description: Create a destination initiated cluster link - value: - source_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: acl.sync.enable - value: 'false' - - name: consumer.offset.sync.ms - value: '30000' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_source_cluster: - description: Create a source initiated cluster link at source cluster - value: - destination_cluster_id: cluster-2 - configs: - - name: bootstrap.servers - value: cluster-2-bootstrap-server - - name: link.mode - value: SOURCE - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_destination_cluster: - description: Create a source initiated cluster link at destination cluster - value: - destination_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: link.mode - value: DESTINATION - - name: connection.mode - value: INBOUND - - name: acl.sync.enable - value: 'false' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_east: - description: Create a bidirectional cluster link in east - value: - remote_cluster_id: cluster-west - configs: - - name: bootstrap.servers - value: cluster-west-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: west. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_west: - description: Create a bidirectional cluster link in west - value: - remote_cluster_id: cluster-east - cluster_link_id: eEBkTffYSESld6EO898x3w - configs: - - name: bootstrap.servers - value: cluster-east-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: east. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - UpdateLinkConfigRequest: - content: - application/json: - example: - value: '300000' - schema: - $ref: '#/components/schemas/UpdateLinkConfigRequestData' - description: Link config value to update - AlterLinkConfigBatchRequest: - content: - application/json: - example: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - CreateMirrorTopicRequest: - description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateMirrorTopicRequestData' - examples: - generic_example: - description: Generic example of creating a mirror topic - value: - source_topic_name: topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 1 - example_with_mirror_topic_name: - description: Example using optional mirror_topic_name flag - value: - source_topic_name: topic-1 - mirror_topic_name: link1_topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 3 - AlterMirrorsRequest: - description: Mirror topics to be altered. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterMirrorsRequestData' - examples: - mirror_topic_names: - description: Example using mirror topic names - value: - mirror_topic_names: - - topic-1 - - topic-2 - mirror_topic_name_pattern: - description: Example using mirror topic name pattern - value: - mirror_topic_name_pattern: .* - RemoveBrokersRequest: - content: - application/json: - example: - broker_ids: - - 1 - - 2 - - 3 + X-Request-Id: schema: - $ref: '#/components/schemas/RemoveBrokersRequestData' - description: Broker ids to remove - BrokerReplicaExclusionBatchRequest: - description: Alter Broker Replica Exclusions. + type: string + description: The unique identifier for the API request. content: application/json: schema: - $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' + $ref: '#/components/schemas/Failure' example: - data: - - broker_id: 1 - reason: The broker is to be removed. - - broker_id: 2 - reason: The broker is to be removed. + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found x-stackQL-resources: clusters: id: confluent.ksqldb_clusters.clusters name: clusters title: Clusters methods: - list_ksqldbcm_v2clusters: + list_ksqldbcm_v2_clusters: operation: $ref: '#/paths/~1ksqldbcm~1v2~1clusters/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_ksqldbcm_v2cluster: + create_ksqldbcm_v2_cluster: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1ksqldbcm~1v2~1clusters/post' response: mediaType: application/json openAPIDocKey: '202' - get_ksqldbcm_v2cluster: + get_ksqldbcm_v2_cluster: operation: $ref: '#/paths/~1ksqldbcm~1v2~1clusters~1{id}/get' response: mediaType: application/json openAPIDocKey: '200' - delete_ksqldbcm_v2cluster: + delete_ksqldbcm_v2_cluster: operation: $ref: '#/paths/~1ksqldbcm~1v2~1clusters~1{id}/delete' response: @@ -2847,744 +2284,17 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/clusters/methods/get_ksqldbcm_v2cluster' - - $ref: '#/components/x-stackQL-resources/clusters/methods/list_ksqldbcm_v2clusters' + - $ref: >- + #/components/x-stackQL-resources/clusters/methods/get_ksqldbcm_v2_cluster + - $ref: >- + #/components/x-stackQL-resources/clusters/methods/list_ksqldbcm_v2_clusters insert: - - $ref: '#/components/x-stackQL-resources/clusters/methods/create_ksqldbcm_v2cluster' + - $ref: >- + #/components/x-stackQL-resources/clusters/methods/create_ksqldbcm_v2_cluster update: [] - replace: [] delete: - - $ref: '#/components/x-stackQL-resources/clusters/methods/delete_ksqldbcm_v2cluster' -paths: - /ksqldbcm/v2/clusters: - get: - operationId: listKsqldbcmV2Clusters - summary: List of Clusters - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all clusters. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Filter the results by exact match for environment. - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Clusters (ksqldbcm/v2) - security: - - api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Cluster. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/ksqldbcm.v2.ClusterList' - - type: object - properties: - data: - type: array - items: - properties: - spec: - type: object - properties: - kafka_cluster: - example: - id: lkc-00000 - related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-00000' - credential_identity: - example: - id: u-a83k9b - related: 'https://api.confluent.cloud/iam/v2/users/u-a83k9b' - resource_name: 'https://api.confluent.cloud/user=u-a83k9b' - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/org/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/ksqldbcm/v2/clusters?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/ksqldbcm/v2/clusters?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/ksqldbcm/v2/clusters?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/ksqldbcm/v2/clusters?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/ksqldbcm/v2/clusters?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/ksqldbcm/v2/clusters?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/ksqldbcm/v2/clusters?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createKsqldbcmV2Cluster - summary: Create a Cluster - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to create a cluster. - tags: - - Clusters (ksqldbcm/v2) - security: - - api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/ksqldbcm.v2.Cluster' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - display_name - - csu - - kafka_cluster - - credential_identity - - environment - - type: object - properties: - spec: - type: object - properties: - kafka_cluster: - example: - id: lkc-00000 - credential_identity: - example: - id: u-a83k9b - environment: - example: - id: env-00000 - responses: - '202': - description: A Cluster is being created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/ksqldbcm/v2/clusters/{id}' - description: Cluster resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/ksqldbcm.v2.Cluster' - - type: object - required: - - spec - - status - properties: - spec: - type: object - required: - - display_name - - csu - - kafka_cluster - - credential_identity - - environment - - type: object - properties: - spec: - type: object - properties: - kafka_cluster: - example: - id: lkc-00000 - related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-00000' - credential_identity: - example: - id: u-a83k9b - related: 'https://api.confluent.cloud/iam/v2/users/u-a83k9b' - resource_name: 'https://api.confluent.cloud/user=u-a83k9b' - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/org/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/ksqldbcm/v2/clusters \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"ksqlDB_cluster_0","use_detailed_processing_log":true,"csu":4,"kafka_cluster":{"id":"lkc-00000","environment":"string"},"credential_identity":{"id":"u-a83k9b"},"environment":{"id":"env-00000"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"ksqlDB_cluster_0\",\"use_detailed_processing_log\":true,\"csu\":4,\"kafka_cluster\":{\"id\":\"lkc-00000\",\"environment\":\"string\"},\"credential_identity\":{\"id\":\"u-a83k9b\"},\"environment\":{\"id\":\"env-00000\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/ksqldbcm/v2/clusters") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/ksqldbcm/v2/clusters\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"ksqlDB_cluster_0\\\",\\\"use_detailed_processing_log\\\":true,\\\"csu\\\":4,\\\"kafka_cluster\\\":{\\\"id\\\":\\\"lkc-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"credential_identity\\\":{\\\"id\\\":\\\"u-a83k9b\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"ksqlDB_cluster_0\",\"use_detailed_processing_log\":true,\"csu\":4,\"kafka_cluster\":{\"id\":\"lkc-00000\",\"environment\":\"string\"},\"credential_identity\":{\"id\":\"u-a83k9b\"},\"environment\":{\"id\":\"env-00000\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/ksqldbcm/v2/clusters", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/ksqldbcm/v2/clusters", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'ksqlDB_cluster_0', - use_detailed_processing_log: true, - csu: 4, - kafka_cluster: {id: 'lkc-00000', environment: 'string'}, - credential_identity: {id: 'u-a83k9b'}, - environment: {id: 'env-00000'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/ksqldbcm/v2/clusters"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"ksqlDB_cluster_0\",\"use_detailed_processing_log\":true,\"csu\":4,\"kafka_cluster\":{\"id\":\"lkc-00000\",\"environment\":\"string\"},\"credential_identity\":{\"id\":\"u-a83k9b\"},\"environment\":{\"id\":\"env-00000\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/ksqldbcm/v2/clusters"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"ksqlDB_cluster_0\",\"use_detailed_processing_log\":true,\"csu\":4,\"kafka_cluster\":{\"id\":\"lkc-00000\",\"environment\":\"string\"},\"credential_identity\":{\"id\":\"u-a83k9b\"},\"environment\":{\"id\":\"env-00000\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/ksqldbcm/v2/clusters/{id}': - get: - operationId: getKsqldbcmV2Cluster - summary: Read a Cluster - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read a cluster. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the cluster. - tags: - - Clusters (ksqldbcm/v2) - security: - - api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Cluster. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/ksqldbcm.v2.Cluster' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - display_name - - csu - - kafka_cluster - - credential_identity - - environment - - type: object - properties: - spec: - type: object - properties: - kafka_cluster: - example: - id: lkc-00000 - related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-00000' - credential_identity: - example: - id: u-a83k9b - related: 'https://api.confluent.cloud/iam/v2/users/u-a83k9b' - resource_name: 'https://api.confluent.cloud/user=u-a83k9b' - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/org/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/ksqldbcm/v2/clusters/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/ksqldbcm/v2/clusters/{id}?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/ksqldbcm/v2/clusters/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/ksqldbcm/v2/clusters/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/ksqldbcm/v2/clusters/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/ksqldbcm/v2/clusters/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/ksqldbcm/v2/clusters/{id}?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteKsqldbcmV2Cluster - summary: Delete a Cluster - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to delete a cluster. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the cluster. - tags: - - Clusters (ksqldbcm/v2) - security: - - api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A Cluster is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/ksqldbcm/v2/clusters/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/ksqldbcm/v2/clusters/{id}?environment=env-00000") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/ksqldbcm/v2/clusters/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/ksqldbcm/v2/clusters/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/ksqldbcm/v2/clusters/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/ksqldbcm/v2/clusters/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/ksqldbcm/v2/clusters/{id}?environment=env-00000"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); + - $ref: >- + #/components/x-stackQL-resources/clusters/methods/delete_ksqldbcm_v2_cluster + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/managed_kafka_clusters.yaml b/providers/src/confluent/v00.00.00000/services/managed_kafka_clusters.yaml index c8216043..8dd67ab7 100644 --- a/providers/src/confluent/v00.00.00000/services/managed_kafka_clusters.yaml +++ b/providers/src/confluent/v00.00.00000/services/managed_kafka_clusters.yaml @@ -1,1325 +1,1694 @@ openapi: 3.0.0 -servers: - - url: 'https://api.confluent.cloud' - description: Confluent Cloud API info: - version: '' - contact: - name: Confluent Cloud - url: 'https://www.confluent.io/cloud-contact-us/' - email: support@confluent.io - x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b - x-audience: external-public - x-logo: - url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' - title: Confluent Cloud APIs - managed_kafka_clusters - description: managed_kafka_clusters -tags: - - name: API Keys (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. - - The API allows you to list, create, update and delete your API Keys. - - - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - - ## The API Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - - name: Environments (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. - - - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). + title: managed_kafka_clusters API + description: confluent managed_kafka_clusters API + version: 1.0.0 +paths: + /cmk/v2/clusters: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listCmkV2Clusters + summary: List of Clusters + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Environments Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + Retrieve a sorted, filtered, paginated list of all clusters. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.network + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - n-00000 + - n-00001 + description: >- + Filter the results by exact match for spec.network. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Clusters (cmk/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Cluster. + content: + application/json: + schema: + type: object + description: >- + `Clusters` objects represent Apache Kafka Clusters on + Confluent Cloud. - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - - name: Organizations (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). + The API allows you to list, create, read, update, and delete + your Kafka clusters. - The API allows you to list, view, and update your organizations. - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + Related guide: [Confluent Cloud Cluster Management for Apache + Kafka + APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - ## The Organizations Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + ## The Clusters Model - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - - name: Users (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + - `User` objects represent individuals who may access your Confluent resources. - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. + ## Quotas and Limits + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). - ## The Users Model - + | Quota | Description | - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + | --- | --- | - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - - name: Service Accounts (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | `kafka_clusters_per_environment` | Number of clusters in one + Confluent Cloud environment | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - cmk/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ClusterList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `Clusters` objects represent Apache Kafka Clusters on + Confluent Cloud. - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. + The API allows you to list, create, read, update, and + delete your Kafka clusters. - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). - ## The Service Accounts Model - + Related guide: [Confluent Cloud Cluster Management for + Apache Kafka + APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - - name: Invitations (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Clusters Model - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + ## Quotas and Limits - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## The Invitations Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + | Quota | Description | - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - - name: IP Groups (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + | --- | --- | - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + | `kafka_clusters_per_environment` | Number of clusters + in one Confluent Cloud environment | + properties: + api_version: + type: string + enum: + - cmk/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/cmk.v2.ClusterSpec' + status: + $ref: '#/components/schemas/cmk.v2.ClusterStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createCmkV2Cluster + summary: Create a Cluster + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The IP Groups Model - - - name: IP Filters (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + Make a request to create a cluster. + tags: + - Clusters (cmk/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `Clusters` objects represent Apache Kafka Clusters on Confluent + Cloud. + + + The API allows you to list, create, read, update, and delete + your Kafka clusters. + + + + Related guide: [Confluent Cloud Cluster Management for Apache + Kafka + APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + + ## The Clusters Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `kafka_clusters_per_environment` | Number of clusters in one + Confluent Cloud environment | + properties: + api_version: + type: string + enum: + - cmk/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/cmk.v2.ClusterSpec' + status: + $ref: '#/components/schemas/cmk.v2.ClusterStatus' + required: + - spec + responses: + '202': + description: A Cluster is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/cmk/v2/clusters/{id} + description: Cluster resource uri + content: + application/json: + schema: + type: object + description: >- + `Clusters` objects represent Apache Kafka Clusters on + Confluent Cloud. - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. + The API allows you to list, create, read, update, and delete + your Kafka clusters. - ## The IP Filters Model - - - name: Role Bindings (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - A role binding grants a Principal a role on resources that match a pattern. - The API allows you to perform create, delete, and list operations on role bindings. + Related guide: [Confluent Cloud Cluster Management for Apache + Kafka + APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + ## The Clusters Model - ## The Role Bindings Model - - - name: Subscriptions (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + ## Quotas and Limits + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - ## The Subscriptions Model - - - name: Integrations (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | Quota | Description | - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one + Confluent Cloud environment | + properties: + api_version: + type: string + enum: + - cmk/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/cmk.v2.ClusterSpec' + status: + $ref: '#/components/schemas/cmk.v2.ClusterStatus' + required: + - spec + - status + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /cmk/v2/clusters/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getCmkV2Cluster + summary: Read a Cluster + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - ## The Integrations Model - + Make a request to read a cluster. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the cluster. + tags: + - Clusters (cmk/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Cluster. + content: + application/json: + schema: + type: object + description: >- + `Clusters` objects represent Apache Kafka Clusters on + Confluent Cloud. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - - name: Notification Types (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to list, create, read, update, and delete + your Kafka clusters. - The type of notifications (and their corresponding metadata) supported by Confluent. - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + Related guide: [Confluent Cloud Cluster Management for Apache + Kafka + APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - ## The Notification Types Model - - - name: Clusters (cmk/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. + ## The Clusters Model - The API allows you to list, create, read, update, and delete your Kafka clusters. + - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + ## Quotas and Limits - ## The Clusters Model - + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - - name: Clusters (ksqldbcm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | Quota | Description | - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one + Confluent Cloud environment | + properties: + api_version: + type: string + enum: + - cmk/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/cmk.v2.ClusterSpec' + status: + $ref: '#/components/schemas/cmk.v2.ClusterStatus' + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateCmkV2Cluster + summary: Update a Cluster + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - ## The Clusters Model - + Make a request to update a cluster. - ## Quotas and Limits - This resource is subject to the following quotas: + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the cluster. + tags: + - Clusters (cmk/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `Clusters` objects represent Apache Kafka Clusters on Confluent + Cloud. + + + The API allows you to list, create, read, update, and delete + your Kafka clusters. + + + + Related guide: [Confluent Cloud Cluster Management for Apache + Kafka + APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + + + ## The Clusters Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `kafka_clusters_per_environment` | Number of clusters in one + Confluent Cloud environment | + properties: + api_version: + type: string + enum: + - cmk/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/cmk.v2.ClusterSpec' + status: + $ref: '#/components/schemas/cmk.v2.ClusterStatus' + required: + - spec + responses: + '200': + description: Cluster. + content: + application/json: + schema: + type: object + description: >- + `Clusters` objects represent Apache Kafka Clusters on + Confluent Cloud. - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - - name: Connectors (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for Managed Connectors or Custom Connectors in Confluent Cloud. + The API allows you to list, create, read, update, and delete + your Kafka clusters. - The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. - Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). - Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - name: Lifecycle (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [Confluent Cloud Cluster Management for Apache + Kafka + APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. - - name: Status (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. - - name: Managed Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Clusters Model - API for Managed connectors in Confluent Cloud. - - name: Offsets (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + - API for managing the offsets for a Managed Connector. - Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) - - name: Custom Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## Quotas and Limits - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## The Custom Connector Plugins Model - - - name: Presigned Urls (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | Quota | Description | - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. + | --- | --- | - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Presigned Urls Model - - - name: Cluster (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Configs (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: ACL (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Consumer Group (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Partition (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Topic (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Records (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Cluster Linking (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Applied Quotas (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. - - - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - - ## The Applied Quotas Model - - - name: Scopes (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Gets a list of all available scopes for applied quotas. - - - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). - - ## The Scopes Model - - - name: Entitlements (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Entitlement` objects represent metadata about a marketplace entitlement. - - An entitlement includes metadata about a marketplace purchase - (start date, end date, billing information, partner IDs, etc). - The API allows partners to create, read, and list entitlements. (Unless you - need entitlement creation and customer registration to be separate, - we recommend using the Signup API to create an organization and entitlement - at the same time) - - The API only allows authorized partners to interact with the Entitlements API. - - name: Regions (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. - - - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Regions Model - - - name: Clusters (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list, create, read, and delete your Schema Registry clusters. - - - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Clusters Model - - - name: Clusters (srcm/v3) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list and read your Schema Registry clusters. - - - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - - ## The Clusters Model - - - name: Compatibility (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to test schema compatibility. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Config (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to manage and query schema compatibility settings and cluster configurations. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Contexts (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to retrieve information about schema contexts. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Exporters (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete exporters. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Modes (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects modes of operation. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Schemas (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schemas. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Subjects (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects and versions. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Key Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete key encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Data Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete data encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Entity (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Search (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to search for entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Types (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Provider Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. - - - ## The Provider Shared Resources Model - - - name: Provider Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderShare` object respresents the share that you have created through Stream Sharing. - - - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). - - ## The Provider Shares Model - - - name: Consumer Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. - - - ## The Consumer Shared Resources Model - - - name: Consumer Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerShare` object respresents the share that you received through Stream Sharing. - - - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). - - ## The Consumer Shares Model - - - name: Shared Tokens (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Encrypted Token shared with consumer - - - ## The Shared Tokens Model - - - name: Opt Ins (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Stream sharing opt in options - - ## The Opt Ins Model - - - name: Organizations (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Organizations` objects represent an entire Confluent Cloud organization. - Partners are allowed to get an organization they have signed up or - list all organizations they have signed up. - - name: Signup (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Signup` APIs can only be performed by partners. - - name: Networks (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. - - The API allows you to list, create, read, update, and delete your networks. - - - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - - ## The Networks Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - - name: Peerings (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - - - ## The Peerings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - - name: Transit Gateway Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AWS Transit Gateway Attachments - - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - - ## The Transit Gateway Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - - name: Private Link Accesses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. - - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). - - - ## The Private Link Accesses Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - - name: Network Link Services (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. + | `kafka_clusters_per_environment` | Number of clusters in one + Confluent Cloud environment | + properties: + api_version: + type: string + enum: + - cmk/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/cmk.v2.ClusterSpec' + status: + $ref: '#/components/schemas/cmk.v2.ClusterStatus' + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteCmkV2Cluster + summary: Delete a Cluster + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + Make a request to delete a cluster. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the cluster. + tags: + - Clusters (cmk/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Cluster is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + MultipleSearchFilter: + description: Filter a collection by a string search for one or more values + type: array + items: + type: string + cmk.v2.ClusterList: + type: object + description: >- + `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. - ## The Network Link Services Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + The API allows you to list, create, read, update, and delete your Kafka + clusters. - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - - name: Network Link Endpoints (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. + Related guide: [Confluent Cloud Cluster Management for Apache Kafka + APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - ## The Network Link Endpoints Model - + ## The Clusters Model - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - - name: Network Link Service Associations (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - List of incoming Network Link Enpoints associated with the Network Link Service. + ## Quotas and Limits + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - ## The Network Link Service Associations Model - - - name: Gateways (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | Quota | Description | - A gateway is a resource that defines network access to Confluent cloud resources. + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one Confluent + Cloud environment | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - cmk/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ClusterList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `Clusters` objects represent Apache Kafka Clusters on Confluent + Cloud. - ## The Gateways Model - - - name: IP Addresses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - IP Addresses + The API allows you to list, create, read, update, and delete your + Kafka clusters. - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) - ## The IP Addresses Model - - - name: Private Link Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. + Related guide: [Confluent Cloud Cluster Management for Apache + Kafka + APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - ## The Private Link Attachments Model - + ## The Clusters Model - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - - name: Private Link Attachment Connections (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. + ## Quotas and Limits + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## The Private Link Attachment Connections Model - - - name: Identity Providers (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + | Quota | Description | - The API allows you to list, create, read, update, and delete your Identity Provider. + | --- | --- | + | `kafka_clusters_per_environment` | Number of clusters in one + Confluent Cloud environment | + properties: + api_version: + type: string + enum: + - cmk/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/cmk.v2.ClusterSpec' + status: + $ref: '#/components/schemas/cmk.v2.ClusterStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + cmk.v2.Cluster: + type: object + description: >- + `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - ## The Identity Providers Model - + The API allows you to list, create, read, update, and delete your Kafka + clusters. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - - name: Jwks (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. + Related guide: [Confluent Cloud Cluster Management for Apache Kafka + APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - The API allows you to refresh JWKS public key data. + ## The Clusters Model - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + - ## The Jwks Model - - - name: Identity Pools (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. + ## Quotas and Limits - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + | Quota | Description | - ## The Identity Pools Model - + | --- | --- | - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - - name: OAuth Tokens (sts/v1) - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of - external identities to access Confluent Cloud APIs - - name: Client Quotas (kafka-quotas/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ClientQuota` objects represent Client Quotas you can set at the service account level. - - The API allows you to list, create, read, update, and delete your client quotas. - - - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - - ## The Client Quotas Model - - - name: Pipelines (sd/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. - - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. - - - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). - - ## The Pipelines Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - - name: Keys (byok/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. - - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. - - - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). - - ## The Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - - name: Costs (billing/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cost` objects represent the aggregated billing costs for an organization - - - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). - - ## The Costs Model - - - name: Group Mappings (iam/v2/sso) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. - - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. - - - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). - - ## The Group Mappings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - - name: Compute Pools (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. - - - ## The Compute Pools Model - - - name: Regions (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. - - - ## The Regions Model - - - name: Statements (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - - name: Statement Results (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementResult` represents a result of a `Statement` resource. - The API allows you to read your statement's results. - ## The Statement Results Model - - - name: Statement Exceptions (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementException` represents an exception of a `Statement` resource. - The API allows you to read your statement's exceptions. - ## The Statement Exceptions Model - - - name: Connections (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Connection` represents a core resource used to model SQL connections for execution. - A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - - name: DNS Forwarders (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add, remove, and update DNS forwarder for your gateway. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - - - ## The DNS Forwarders Model - - - name: Access Points (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. - - - ## The Access Points Model - - - name: DNS Records (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - - ## The DNS Records Model - - - name: Certificate Authorities (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Certificate Authority. - - - Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). - - ## The Certificate Authorities Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `certificate_authorities_per_org` | Number of certificate authorities per organization | - - name: Certificate Identity Pools (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Identitypool` objects represent workload identities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities - - - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). - - ## The Certificate Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - - name: Integrations (pim/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). - - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. - - - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). - - ## The Integrations Model - - - name: Flink Artifacts (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. - - - ## The Flink Artifacts Model - - - name: Presigned Urls (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - - ## The Presigned Urls Model - - - name: Flink Artifact Versions (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. - - - ## The Flink Artifact Versions Model - -components: - schemas: - SearchFilter: - description: Filter a collection by a string search - type: string - MultipleSearchFilter: - description: Filter a collection by a string search for one or more values - type: array - items: - type: string - cmk.v2.ClusterList: - type: object - description: |- - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Kafka clusters. - - - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - required: - - api_version - - kind - - metadata - - data + | `kafka_clusters_per_environment` | Number of clusters in one Confluent + Cloud environment | properties: api_version: type: string enum: - cmk/v2 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string description: Kind defines the object this REST resource represents. readOnly: true enum: - - ClusterList + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/cmk/v2/clusters' - last: - example: 'https://api.confluent.cloud/cmk/v2/clusters?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/cmk/v2/clusters?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/cmk/v2/clusters?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/cmk.v2.Cluster' - - type: object - required: - - id - - metadata - - spec - - status - properties: - spec: - type: object - required: - - display_name - - availability - - cloud - - region - - config - - environment - uniqueItems: true + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/cmk.v2.ClusterSpec' + status: + $ref: '#/components/schemas/cmk.v2.ClusterStatus' ListMeta: type: object description: ListMeta describes metadata that resource collections may have properties: first: - description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' + description: >- + A link to the first page of results. If a response does not contain + a first link, then direct navigation to the first page is not + supported. type: string format: uri nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds' + example: https://api.confluent.cloud/v2/resourcekinds last: - description: 'A link to the last page of results. If a response does not contain a last link, then direct navigation to the last page is not supported.' + description: >- + A link to the last page of results. If a response does not contain a + last link, then direct navigation to the last page is not supported. type: string format: uri nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT' + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT prev: - description: 'A link to the previous page of results. If a response does not contain a prev link, then either there is no previous data or backwards traversal through the result set is not supported.' + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. type: string format: uri nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld' + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld next: - description: 'A link to the next page of results. If a response does not contain a next link, then there is no more data available.' + description: >- + A link to the next page of results. If a response does not contain a + next link, then there is no more data available. type: string format: uri nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb' + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb total_size: - description: Number of records in the full result set. This response may be paginated and have a smaller number of records. + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. type: integer format: int32 minimum: 0 example: 123 - cmk.v2.Cluster: - type: object - description: |- - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Kafka clusters. - - - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - properties: - api_version: - type: string - enum: - - cmk/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Cluster - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-12345' - spec: - $ref: '#/components/schemas/cmk.v2.ClusterSpec' - status: - $ref: '#/components/schemas/cmk.v2.ClusterStatus' - AclOperation: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - AclPatternType: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - MATCH - - LITERAL - - PREFIXED - AclPermission: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - DENY - - ALLOW - AclResourceType: - type: string - enum: - - UNKNOWN - - ANY - - TOPIC - - GROUP - - CLUSTER - - TRANSACTIONAL_ID - - DELEGATION_TOKEN - BrokerTaskType: - type: string - enum: - - add-broker - - remove-broker - MirrorTopicStatus: - enum: - - ACTIVE - - FAILED - - LINK_FAILED - - LINK_PAUSED - - PAUSED - - PENDING_STOPPED - - SOURCE_UNAVAILABLE - - STOPPED - - PENDING_MIRROR - - PENDING_SYNCHRONIZE - - PENDING_SETUP_FOR_RESTORE - - PENDING_RESTORE - type: string Failure: type: object - description: Provides information about problems encountered while performing an operation. + description: >- + Provides information about problems encountered while performing an + operation. required: - errors properties: @@ -1329,225 +1698,63 @@ components: items: $ref: '#/components/schemas/Error' uniqueItems: true - AlterConfigBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - operation: - type: string - x-extensible-enum: - - SET - - DELETE - nullable: true - validate_only: - type: boolean - CreateAclRequestData: - type: object + ObjectMeta: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. required: - - resource_type - - resource_name - - pattern_type - - principal - - host - - operation - - permission + - self properties: - resource_type: - $ref: '#/components/schemas/AclResourceType' - resource_name: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time type: string - pattern_type: - $ref: '#/components/schemas/AclPatternType' - principal: + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name type: string - host: + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: type: string - operation: - $ref: '#/components/schemas/AclOperation' - permission: - $ref: '#/components/schemas/AclPermission' - CreateAclRequestDataList: - allOf: - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/CreateAclRequestData' - CreateTopicRequestData: - type: object - required: - - topic_name - properties: - topic_name: + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: type: string - partitions_count: - type: integer - replication_factor: - type: integer - configs: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - validate_only: - type: boolean - ProduceRequest: - type: object - properties: - partition_id: - type: integer - nullable: true - format: int32 - headers: - type: array - items: - $ref: '#/components/schemas/ProduceRequestHeader' - key: - $ref: '#/components/schemas/ProduceRequestData' - value: - $ref: '#/components/schemas/ProduceRequestData' - timestamp: + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: type: string format: date-time - nullable: true - UpdateConfigRequestData: + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. It + is represented in RFC3339 format and is in UTC. + readOnly: true type: object - properties: - value: - type: string - nullable: true - CreateLinkRequestData: - properties: - source_cluster_id: - type: string - destination_cluster_id: - type: string - remote_cluster_id: - description: The expected remote cluster ID. - type: string - cluster_link_id: - description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' - type: string - configs: - items: - $ref: '#/components/schemas/ConfigData' - type: array + cmk.v2.ClusterSpec: type: object - UpdateLinkConfigRequestData: + description: The desired state of the Cluster properties: - value: - type: string - required: - - value - type: object - CreateMirrorTopicRequestData: - properties: - source_topic_name: - type: string - mirror_topic_name: - type: string - replication_factor: - type: integer - configs: - type: array - items: - $ref: '#/components/schemas/ConfigData' - required: - - source_topic_name - type: object - AlterMirrorsRequestData: - properties: - mirror_topic_names: - description: The mirror topics specified as a list of topic names. - type: array - items: - type: string - mirror_topic_name_pattern: - description: The mirror topics specified as a pattern. - type: string - type: object - RemoveBrokersRequestData: - properties: - broker_ids: - type: array - items: - type: integer - required: - - broker_ids - type: object - BrokerReplicaExclusionBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' - ObjectMeta: - description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' - required: - - self - properties: - self: - description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' - type: string - format: uri - readOnly: true - example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' - resource_name: - description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name - type: string - format: uri - readOnly: true - example: 'crn://confluent.cloud/kafka=lkc-f3a90de' - created_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. - updated_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. - deleted_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. - readOnly: true - cmk.v2.ClusterSpec: - type: object - description: The desired state of the Cluster - properties: - display_name: + display_name: type: string description: The name of the cluster. example: ProdKafkaCluster @@ -1576,10 +1783,12 @@ components: example: us-east4 x-immutable: true config: - description: | + description: > The configuration of the Kafka cluster. - Note: Clusters can be upgraded from Basic to Standard, but cannot be downgraded from Standard to Basic. + + Note: Clusters can be upgraded from Basic to Standard, but cannot be + downgraded from Standard to Basic. default: kind: Basic example: @@ -1592,45 +1801,226 @@ components: Dedicated: '#/components/schemas/cmk.v2.Dedicated' Enterprise: '#/components/schemas/cmk.v2.Enterprise' Freight: '#/components/schemas/cmk.v2.Freight' - oneOf: - - $ref: '#/components/schemas/cmk.v2.Basic' - - $ref: '#/components/schemas/cmk.v2.Standard' - - $ref: '#/components/schemas/cmk.v2.Dedicated' - - $ref: '#/components/schemas/cmk.v2.Enterprise' - - $ref: '#/components/schemas/cmk.v2.Freight' + type: object + properties: + kind: + description: | + Basic cluster type. + type: string + enum: + - Basic + max_ecku: + description: > + The maximum number of Elastic Confluent Kafka Units (eCKUs) that + Kafka clusters should auto-scale to. + + For more details, see [Maximum eCKU + requirements](https://docs.confluent.io/cloud/current/clusters/cluster-types.html#minimum-maximum-ecku-requirements). + type: integer + format: int32 + minimum: 1 + example: 2 + cku: + description: > + The number of Confluent Kafka Units (CKUs) for Dedicated cluster + types. + + MULTI_ZONE dedicated clusters must have at least two CKUs. + type: integer + format: int32 + minimum: 1 + example: 2 + encryption_key: + type: string + description: > + The id of the encryption key that is used to encrypt the data in + the Kafka cluster. + + (e.g. for Amazon Web Services, the Amazon Resource Name of the + key). + example: >- + arn:aws:kms:us-west-2:000000000000:key/0000xxxx-00xx-00xx-00xx-0000000000xx + deprecated: true + x-immutable: true + zones: + type: array + items: + type: string + uniqueItems: true + minItems: 1 + maxItems: 3 + description: > + The list of zones the cluster is in. + + + On AWS, zones are AWS [AZ + IDs](https://docs.aws.amazon.com/ram/latest/userguide/working-with-az-ids.html) + (e.g. use1-az3) + + On GCP, zones are GCP + [zones](https://cloud.google.com/compute/docs/regions-zones) + (e.g. us-central1-c). + readOnly: false + example: + - us-central1-a + - us-central1-b + - us-central1-c + x-immutable: true + required: + - kind + - cku kafka_bootstrap_endpoint: type: string - description: The bootstrap endpoint used by Kafka clients to connect to the cluster. - example: 'lkc-00000-00000.us-central1.gcp.glb.confluent.cloud:9092' + description: > + The bootstrap endpoint used by Kafka clients to connect to the + cluster. + + + DEPRECATED - Please use the `endpoints` attribute instead. + example: lkc-00000-00000.us-central1.gcp.glb.confluent.cloud:9092 + deprecated: true x-immutable: true readOnly: true http_endpoint: type: string - description: The cluster HTTP request URL. + description: | + The cluster HTTP request URL. + + DEPRECATED - Please use the `endpoints` attribute instead. format: uri - example: 'https://lkc-00000-00000.us-central1.gcp.glb.confluent.cloud' + example: https://lkc-00000-00000.us-central1.gcp.glb.confluent.cloud + deprecated: true x-immutable: true readOnly: true api_endpoint: type: string - description: The Kafka API cluster endpoint used by Kafka clients to connect to the cluster. - example: 'https://pkac-00000.us-west-2.aws.confluent.cloud' + description: > + The Kafka API cluster endpoint used by Kafka clients to connect to + the cluster. + + + DEPRECATED - Please use the `endpoints` attribute instead. + example: https://pkac-00000.us-west-2.aws.confluent.cloud + deprecated: true x-immutable: true readOnly: true + endpoints: + description: > + A map of endpoints for connecting to the Kafka cluster, + + keyed by access_point_id. Access Point ID 'PUBLIC' and + 'PRIVATE_LINK' are reserved. + + These can be used for different network access methods or regions. + example: + ap1pni123: + kafka_bootstrap_endpoint: lkc-s1232-00000.us-central1.gcp.private.confluent.cloud:9092 + http_endpoint: https://lkc-s1232.us-central1.gcp.private.confluent.cloud:443 + connection_type: PRIVATENETWORKINTERFACE + ap2platt67890: + kafka_bootstrap_endpoint: lkc-00000-00000.us-central1.gcp.glb.confluent.cloud:9092 + http_endpoint: https://lkc-00000-00000.us-central1.gcp.glb.confluent.cloud + connection_type: PRIVATELINK + readOnly: true + type: object + additionalProperties: + $ref: '#/components/schemas/cmk.v2.Endpoints' environment: - allOf: - - $ref: '#/components/schemas/EnvScopedObjectReference' description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true network: - allOf: - - $ref: '#/components/schemas/EnvScopedObjectReference' description: The network associated with this object. x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true byok: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' - description: The byok associated with this object. + description: > + Note: For Pre-BYOK v1 clusters, API responses might show both + + `encryption_key` and `byok`. + + To manage Pre-BYOK v1 keys, refer to: + + https://docs.confluent.io/cloud/current/security/encrypt/byok/legacy-byok.html + + #manage-pre-byok-api-v1-self-managed-encryption-keys x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true x-enable-id: true x-enable-listmeta: true x-enable-objectmeta: true @@ -1654,8 +2044,9 @@ components: readOnly: true example: PROVISIONED cku: - description: | - The number of Confluent Kafka Units (CKUs) the Dedicated cluster currently has. + description: > + The number of Confluent Kafka Units (CKUs) the Dedicated cluster + currently has. readOnly: true type: integer format: int32 @@ -1671,23 +2062,36 @@ components: type: string maxLength: 255 status: - description: 'The HTTP status code applicable to this problem, expressed as a string value.' + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. type: string code: - description: 'An application-specific error code, expressed as a string value.' + description: An application-specific error code, expressed as a string value. type: string title: - description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. type: string detail: - description: A human-readable explanation specific to this occurrence of the problem. + description: >- + A human-readable explanation specific to this occurrence of the + problem. type: string source: type: object - description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. properties: pointer: - description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. type: string parameter: description: A string indicating which query parameter caused the error. @@ -1699,52 +2103,6 @@ components: type: string nullable: true additionalProperties: false - ProduceRequestHeader: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - format: byte - nullable: true - ProduceRequestData: - type: object - properties: - type: - type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - data: - $ref: '#/components/schemas/AnyValue' - nullable: true - ConfigData: - example: - name: name - value: value - properties: - name: - type: string - value: - nullable: true - type: string - required: - - name - - value - BrokerReplicaExclusionRequestData: - type: object - required: - - broker_id - - reason - properties: - broker_id: - type: integer - reason: - type: string cmk.v2.Basic: type: object description: | @@ -1756,6 +2114,17 @@ components: type: string enum: - Basic + max_ecku: + description: > + The maximum number of Elastic Confluent Kafka Units (eCKUs) that + Kafka clusters should auto-scale to. + + For more details, see [Maximum eCKU + requirements](https://docs.confluent.io/cloud/current/clusters/cluster-types.html#minimum-maximum-ecku-requirements). + type: integer + format: int32 + minimum: 1 + example: 2 required: - kind cmk.v2.Standard: @@ -1769,6 +2138,20 @@ components: type: string enum: - Standard + max_ecku: + description: > + The maximum number of Elastic Confluent Kafka Units (eCKUs) that + Kafka clusters should auto-scale to. + + Kafka clusters with `HIGH` availability must have at least two + eCKUs. + + For more details, see [Maximum eCKU + requirements](https://docs.confluent.io/cloud/current/clusters/cluster-types.html#minimum-maximum-ecku-requirements). + type: integer + format: int32 + minimum: 1 + example: 2 required: - kind cmk.v2.Dedicated: @@ -1783,8 +2166,10 @@ components: description: | Dedicated cluster type. cku: - description: | - The number of Confluent Kafka Units (CKUs) for Dedicated cluster types. + description: > + The number of Confluent Kafka Units (CKUs) for Dedicated cluster + types. + MULTI_ZONE dedicated clusters must have at least two CKUs. type: integer format: int32 @@ -1792,10 +2177,13 @@ components: example: 2 encryption_key: type: string - description: | - The id of the encryption key that is used to encrypt the data in the Kafka cluster. + description: > + The id of the encryption key that is used to encrypt the data in the + Kafka cluster. + (e.g. for Amazon Web Services, the Amazon Resource Name of the key). - example: 'arn:aws:kms:us-west-2:000000000000:key/0000xxxx-00xx-00xx-00xx-0000000000xx' + example: >- + arn:aws:kms:us-west-2:000000000000:key/0000xxxx-00xx-00xx-00xx-0000000000xx deprecated: true x-immutable: true zones: @@ -1805,15 +2193,18 @@ components: uniqueItems: true minItems: 1 maxItems: 3 - description: | + description: > The list of zones the cluster is in. - On AWS, zones are AWS [AZ IDs](https://docs.aws.amazon.com/ram/latest/userguide/working-with-az-ids.html) + + On AWS, zones are AWS [AZ + IDs](https://docs.aws.amazon.com/ram/latest/userguide/working-with-az-ids.html) (e.g. use1-az3) - On GCP, zones are GCP [zones](https://cloud.google.com/compute/docs/regions-zones) + On GCP, zones are GCP + [zones](https://cloud.google.com/compute/docs/regions-zones) (e.g. us-central1-c). - readOnly: true + readOnly: false example: - us-central1-a - us-central1-b @@ -1833,6 +2224,20 @@ components: type: string enum: - Enterprise + max_ecku: + description: > + The maximum number of Elastic Confluent Kafka Units (eCKUs) that + Kafka clusters should auto-scale to. + + Kafka clusters with `HIGH` availability must have at least two + eCKUs. + + For more details, see [Maximum eCKU + requirements](https://docs.confluent.io/cloud/current/clusters/cluster-types.html#minimum-maximum-ecku-requirements). + type: integer + format: int32 + minimum: 1 + example: 2 required: - kind cmk.v2.Freight: @@ -1846,8 +2251,20 @@ components: - Freight description: | Freight cluster type. + max_ecku: + description: > + The maximum number of Elastic Confluent Kafka Units (eCKUs) that + Kafka clusters should auto-scale to. - Note - Freight clusters are in an [Early Access lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy). + Kafka clusters with `HIGH` availability must have at least two + eCKUs. + + For more details, see [Maximum eCKU + requirements](https://docs.confluent.io/cloud/current/clusters/cluster-types.html#minimum-maximum-ecku-requirements). + type: integer + format: int32 + minimum: 1 + example: 2 zones: type: array items: @@ -1855,13 +2272,16 @@ components: uniqueItems: true minItems: 1 maxItems: 3 - description: | + description: > The list of zones the cluster is in. - On AWS, zones are AWS [AZ IDs](https://docs.aws.amazon.com/ram/latest/userguide/working-with-az-ids.html) + + On AWS, zones are AWS [AZ + IDs](https://docs.aws.amazon.com/ram/latest/userguide/working-with-az-ids.html) (e.g. use1-az3) - On GCP, zones are GCP [zones](https://cloud.google.com/compute/docs/regions-zones) + On GCP, zones are GCP + [zones](https://cloud.google.com/compute/docs/regions-zones) (e.g. us-central1-c). readOnly: true example: @@ -1871,9 +2291,27 @@ components: x-immutable: true required: - kind + cmk.v2.EndpointsMap: + type: object + description: | + Map of endpoints for a Kafka cluster, keyed by access point ID. + additionalProperties: + $ref: '#/components/schemas/cmk.v2.Endpoints' + readOnly: true + example: + ap1pni123: + kafka_bootstrap_endpoint: lkc-s1232-00000.us-central1.gcp.private.confluent.cloud:9092 + http_endpoint: https://lkc-s1232.us-central1.gcp.private.confluent.cloud:443 + connection_type: PRIVATE_NETWORK_INTERFACE + ap2platt67890: + kafka_bootstrap_endpoint: lkc-00000-00000.us-central1.gcp.glb.confluent.cloud:9092 + http_endpoint: https://lkc-00000-00000.us-central1.gcp.glb.confluent.cloud + connection_type: PRIVATE_LINK EnvScopedObjectReference: type: object - description: ObjectReference provides information for you to locate the referred object + description: >- + ObjectReference provides information for you to locate the referred + object required: - id - related @@ -1886,7 +2324,7 @@ components: maxLength: 255 environment: type: string - description: 'Environment of the referred resource, if env-scoped' + description: Environment of the referred resource, if env-scoped minLength: 1 maxLength: 255 related: @@ -1903,7 +2341,9 @@ components: readOnly: true GlobalObjectReference: type: object - description: ObjectReference provides information for you to locate the referred object + description: >- + ObjectReference provides information for you to locate the referred + object required: - id - related @@ -1926,351 +2366,37 @@ components: description: CRN reference to the referred resource minLength: 1 readOnly: true - AnyValue: - nullable: true - cmk.v2.ClusterUpdate: + cmk.v2.Endpoints: type: object - description: |- - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Kafka clusters. - - - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | + description: | + Given a gateway type, endpoints to connect to the Kafka cluster. properties: - api_version: - type: string - enum: - - cmk/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Cluster - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' + kafka_bootstrap_endpoint: type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-12345' - spec: - $ref: '#/components/schemas/cmk.v2.ClusterSpecUpdate' - status: - $ref: '#/components/schemas/cmk.v2.ClusterStatus' - cmk.v2.ClusterSpecUpdate: - type: object - description: The desired state of the Cluster - properties: - display_name: + description: > + The bootstrap endpoint used by Kafka clients to connect to the + cluster. + example: lkc-00000-00000.us-central1.gcp.glb.confluent.cloud:9092 + http_endpoint: type: string - description: The name of the cluster. - example: ProdKafkaCluster - availability: + description: | + The REST endpoint for the Kafka cluster. + format: uri + example: https://lkc-00000-00000.us-central1.gcp.glb.confluent.cloud:443 + connection_type: type: string description: | - The availability zone configuration of the cluster + The type of connection used for the endpoint. x-extensible-enum: - - MULTI_ZONE - - SINGLE_ZONE - - HIGH - - LOW - example: SINGLE_ZONE - config: - description: | - The configuration of the Kafka cluster. - - Note: Clusters can be upgraded from Basic to Standard, but cannot be downgraded from Standard to Basic. - default: - kind: Basic - example: - kind: Basic - discriminator: - propertyName: kind - mapping: - Basic: '#/components/schemas/cmk.v2.Basic' - Standard: '#/components/schemas/cmk.v2.Standard' - Dedicated: '#/components/schemas/cmk.v2.Dedicated' - Enterprise: '#/components/schemas/cmk.v2.Enterprise' - Freight: '#/components/schemas/cmk.v2.Freight' - oneOf: - - $ref: '#/components/schemas/cmk.v2.Basic' - - $ref: '#/components/schemas/cmk.v2.Standard' - - $ref: '#/components/schemas/cmk.v2.Dedicated' - - $ref: '#/components/schemas/cmk.v2.Enterprise' - - $ref: '#/components/schemas/cmk.v2.Freight' - environment: - allOf: - - $ref: '#/components/schemas/EnvScopedObjectReference' - description: The environment to which this belongs. - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - parameters: - AclHost: - name: host - description: The ACL host. - in: query - required: false - schema: - type: string - AclOperation: - name: operation - description: The ACL operation. - in: query - required: false - schema: - $ref: '#/components/schemas/AclOperation' - AclOperationRequired: - name: operation - description: The ACL operation. - in: query - required: true - schema: - $ref: '#/components/schemas/AclOperation' - AclPatternType: - name: pattern_type - description: The ACL pattern type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPatternType' - AclPatternTypeRequired: - name: pattern_type - description: The ACL pattern type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPatternType' - AclPermission: - name: permission - description: The ACL permission. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPermission' - AclPermissionRequired: - name: permission - description: The ACL permission. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPermission' - AclPrincipal: - name: principal - description: The ACL principal. This is the Service Account name or user name. - in: query - required: false - schema: - type: string - AclResourceName: - name: resource_name - description: The ACL resource name. - in: query - required: false - schema: - type: string - AclResourceType: - name: resource_type - description: The ACL resource type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclResourceType' - AclResourceTypeRequired: - name: resource_type - description: The ACL resource type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclResourceType' - BrokerId: - name: broker_id - description: The Kafka broker ID. - in: path - required: true - schema: - type: integer - example: 1 - ClusterId: - name: cluster_id - description: The Kafka cluster ID. - in: path - required: true - schema: - type: string - example: cluster-1 - ConfigName: - name: name - description: The configuration parameter name. - in: path - required: true - schema: - type: string - example: compression.type - ConsumerGroupId: - name: consumer_group_id - description: The consumer group ID. - in: path - required: true - schema: - type: string - example: consumer-group-1 - ConsumerId: - name: consumer_id - description: The consumer ID. - in: path - required: true - schema: - type: string - example: consumer-1 - IncludeAuthorizedOperations: - name: include_authorized_operations - description: Specify if authorized operations should be included in the response. - in: query - required: false - schema: - type: boolean - PartitionId: - name: partition_id - description: The partition ID. - in: path - required: true - schema: - type: integer - example: 0 - TopicName: - name: topic_name - description: The topic name. - in: path - required: true - schema: - type: string - example: topic-1 - BrokerTaskType: - name: task_type - description: The Kafka broker task type. - in: path - required: true - schema: - $ref: '#/components/schemas/BrokerTaskType' - example: remove-broker - ShouldShutdown: - name: should_shutdown - description: 'To shutdown the broker or not, Default: true' - in: query - required: false - schema: - type: boolean - example: true - ValidateOnly: - name: validate_only - description: 'To validate the action can be performed successfully or not. Default: false' - in: query - required: false - schema: - type: boolean - example: false - ValidateLink: - name: validate_link - description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' - in: query - required: false - schema: - type: boolean - example: false - IncludeTasks: - name: include_tasks - description: 'Whether to include cluster linking tasks in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludeStateTransitionErrors: - name: include_state_transition_errors - description: 'Whether to include mirror state transition errors in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - Force: - name: force - description: 'Force the action. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludePartitionLevelTruncationData: - name: include_partition_level_truncation_data - description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - LinkName: - name: link_name - description: The link name - in: path - required: true - schema: - type: string - example: link-sb1 - LinkConfigName: - name: config_name - description: The link config name - in: path - required: true - schema: - type: string - example: consumer.offset.sync.enable - MirrorTopicStatus: - name: mirror_status - description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' - in: query - required: false - schema: - $ref: '#/components/schemas/MirrorTopicStatus' - example: ACTIVE - MirrorTopicName: - name: mirror_topic_name - description: Cluster Linking mirror topic name - in: path - required: true - schema: - type: string - example: topic-1 - QueryParamLinkName: - name: link_name - description: The link name - in: query - required: true - schema: - type: string - example: link-sb1 + - PUBLIC + - PRIVATE_LINK + - PRIVATE_NETWORK_INTERFACE + example: PRIVATE_NETWORK_INTERFACE + required: + - kafka_bootstrap_endpoint + - http_endpoint + - connection_type + readOnly: true responses: BadRequestError: description: Bad Request @@ -2304,7 +2430,9 @@ components: schema: type: string description: The unique identifier for the API request. - example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + example: >- + Basic error="invalid_key", error_description="The API Key is + invalid" content: application/json: schema: @@ -2334,7 +2462,9 @@ components: status: '403' code: user_unauthorized title: User Access Unauthorized - detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + detail: >- + The user 'mcfly' is not allowed to access the 'delorean' + resource without the 'plutonium' role. RateLimitError: description: Rate Limit Exceeded headers: @@ -2345,7 +2475,9 @@ components: X-RateLimit-Limit: schema: type: integer - description: The maximum number of requests you're permitted to make per time period. + description: >- + The maximum number of requests you're permitted to make per time + period. X-RateLimit-Remaining: schema: type: integer @@ -2353,16 +2485,21 @@ components: X-RateLimit-Reset: schema: type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. + description: >- + The relative time in seconds until the current rate-limit window + resets. - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. Retry-After: schema: type: integer - description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. DefaultSystemError: - description: 'Oops, something went wrong!' + description: Oops, something went wrong! headers: X-Request-Id: schema: @@ -2378,7 +2515,9 @@ components: status: '500' code: out_of_gas title: DeLorean Out Of Gas - detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap OverQuotaError: x-summary: Over Quota description: The request would exceed one or more quotas. @@ -2397,7 +2536,9 @@ components: status: '402' code: quota_exceeded title: Kafka Clusters Per Org Quota Exceeded - detail: 'The request would exceed the quota: kafka_clusters_per_environment' + detail: >- + The request would exceed the quota: + kafka_clusters_per_environment ConflictError: x-summary: Conflict description: The request is in conflict with the current server state @@ -2410,7 +2551,7 @@ components: schema: type: string format: uri - example: 'https://api.confluent.cloud/{object}/{id}' + example: https://api.confluent.cloud/{object}/{id} description: Resource URI of conflicting resource content: application/json: @@ -2422,7 +2563,9 @@ components: status: '409' code: resource_already_exists title: Resource Already exists - detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + detail: >- + The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already + exists. ValidationError: description: Validation Failed headers: @@ -2440,215 +2583,329 @@ components: code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - NotFoundError: - description: Not Found - headers: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + NotFoundError: + description: Not Found + headers: X-Request-Id: schema: type: string @@ -2662,419 +2919,44 @@ components: - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d status: '404' title: Not Found - securitySchemes: - cloud-api-key: - type: http - scheme: basic - description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. - confluent-sts-access-token: - type: oauth2 - description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' - scopes: {} - api-key: - type: http - scheme: basic - description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. - resource-api-key: - type: http - scheme: basic - description: | - Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID - as the username and resource-specific API Key Secret as the password. - external-access-token: - type: oauth2 - description: Authenticate with OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https:///token' - scopes: {} - oauth: - type: oauth2 - description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. - flows: - clientCredentials: - tokenUrl: /oauth2/token - scopes: - 'partner:alter': enables partners to alter entitlements - 'partner:create': enables partners to create entitlements and signup on behalf of customers - 'partner:delete': enables partners to delete entitlements and organizations - 'partner:describe': enables partners to read and list entitlements and organizations - requestBodies: - AlterBrokerConfigBatchRequest: - description: The alter broker configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterClusterConfigBatchRequest: - description: The alter cluster configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterTopicConfigBatchRequest: - description: The alter topic configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - examples: - batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only_batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only: true - CreateAclRequest: - description: The ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestData' - example: - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - BatchCreateAclRequest: - description: The batch ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestDataList' - example: - data: - - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - - resource_type: TOPIC - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: READ - permission: ALLOW - CreateTopicRequest: - description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTopicRequestData' - examples: - uniform_replication: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - configs: - - name: cleanup.policy - value: compact - - name: compression.type - value: gzip - dry_run_create_topic: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - validate_only: true - ProduceRequest: - description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' - content: - application/json: - schema: - $ref: '#/components/schemas/ProduceRequest' - examples: - binary_and_json: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - partition_id: 1 - headers: - - name: Header-1 - value: SGVhZGVyLTE= - - name: Header-2 - value: SGVhZGVyLTI= - key: - type: BINARY - data: Zm9vYmFy - value: - type: JSON - data: - foo: bar - timestamp: '2021-02-05T19:14:42Z' - string: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - value: - type: STRING - data: My message - empty_value: - description: key or value can be omitted entirely. - value: - key: - data: 1000 - UpdateBrokerConfigRequest: - description: The broker configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateClusterConfigRequest: - description: The cluster configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateTopicConfigRequest: - description: The topic configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - CreateLinkRequest: - description: Create a cluster link - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLinkRequestData' - examples: - destination_initiated_link: - description: Create a destination initiated cluster link - value: - source_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: acl.sync.enable - value: 'false' - - name: consumer.offset.sync.ms - value: '30000' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_source_cluster: - description: Create a source initiated cluster link at source cluster - value: - destination_cluster_id: cluster-2 - configs: - - name: bootstrap.servers - value: cluster-2-bootstrap-server - - name: link.mode - value: SOURCE - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_destination_cluster: - description: Create a source initiated cluster link at destination cluster - value: - destination_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: link.mode - value: DESTINATION - - name: connection.mode - value: INBOUND - - name: acl.sync.enable - value: 'false' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_east: - description: Create a bidirectional cluster link in east - value: - remote_cluster_id: cluster-west - configs: - - name: bootstrap.servers - value: cluster-west-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: west. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_west: - description: Create a bidirectional cluster link in west - value: - remote_cluster_id: cluster-east - cluster_link_id: eEBkTffYSESld6EO898x3w - configs: - - name: bootstrap.servers - value: cluster-east-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: east. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - UpdateLinkConfigRequest: - content: - application/json: - example: - value: '300000' - schema: - $ref: '#/components/schemas/UpdateLinkConfigRequestData' - description: Link config value to update - AlterLinkConfigBatchRequest: - content: - application/json: - example: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - CreateMirrorTopicRequest: - description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateMirrorTopicRequestData' - examples: - generic_example: - description: Generic example of creating a mirror topic - value: - source_topic_name: topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 1 - example_with_mirror_topic_name: - description: Example using optional mirror_topic_name flag - value: - source_topic_name: topic-1 - mirror_topic_name: link1_topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 3 - AlterMirrorsRequest: - description: Mirror topics to be altered. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterMirrorsRequestData' - examples: - mirror_topic_names: - description: Example using mirror topic names - value: - mirror_topic_names: - - topic-1 - - topic-2 - mirror_topic_name_pattern: - description: Example using mirror topic name pattern - value: - mirror_topic_name_pattern: .* - RemoveBrokersRequest: - content: - application/json: - example: - broker_ids: - - 1 - - 2 - - 3 - schema: - $ref: '#/components/schemas/RemoveBrokersRequestData' - description: Broker ids to remove - BrokerReplicaExclusionBatchRequest: - description: Alter Broker Replica Exclusions. - content: - application/json: - schema: - $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' - example: - data: - - broker_id: 1 - reason: The broker is to be removed. - - broker_id: 2 - reason: The broker is to be removed. x-stackQL-resources: clusters: id: confluent.managed_kafka_clusters.clusters name: clusters title: Clusters methods: - list_cmk_v2clusters: + list_cmk_v2_clusters: operation: $ref: '#/paths/~1cmk~1v2~1clusters/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_cmk_v2cluster: + create_cmk_v2_cluster: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1cmk~1v2~1clusters/post' response: mediaType: application/json openAPIDocKey: '202' - get_cmk_v2cluster: + get_cmk_v2_cluster: operation: $ref: '#/paths/~1cmk~1v2~1clusters~1{id}/get' response: mediaType: application/json openAPIDocKey: '200' - update_cmk_v2cluster: + update_cmk_v2_cluster: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1cmk~1v2~1clusters~1{id}/patch' response: mediaType: application/json openAPIDocKey: '200' - delete_cmk_v2cluster: + delete_cmk_v2_cluster: operation: $ref: '#/paths/~1cmk~1v2~1clusters~1{id}/delete' response: @@ -3082,1046 +2964,19 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/clusters/methods/get_cmk_v2cluster' - - $ref: '#/components/x-stackQL-resources/clusters/methods/list_cmk_v2clusters' + - $ref: >- + #/components/x-stackQL-resources/clusters/methods/get_cmk_v2_cluster + - $ref: >- + #/components/x-stackQL-resources/clusters/methods/list_cmk_v2_clusters insert: - - $ref: '#/components/x-stackQL-resources/clusters/methods/create_cmk_v2cluster' + - $ref: >- + #/components/x-stackQL-resources/clusters/methods/create_cmk_v2_cluster update: - - $ref: '#/components/x-stackQL-resources/clusters/methods/update_cmk_v2cluster' - replace: [] + - $ref: >- + #/components/x-stackQL-resources/clusters/methods/update_cmk_v2_cluster delete: - - $ref: '#/components/x-stackQL-resources/clusters/methods/delete_cmk_v2cluster' - vw_clusters: - name: vw_clusters - id: confluent.managed_kafka_clusters.vw_clusters - config: - views: - select: - predicate: sqlDialect == "sqlite3" - ddl: |- - select - id, - environment, - json_extract(spec, '$.display_name') as display_name, - json_extract(status, '$.phase') as status_phase, - json_extract(metadata, '$.resource_name') as resource_name, - json_extract(spec, '$.api_endpoint') as api_endpoint, - json_extract(spec, '$.availability') as availability, - json_extract(spec, '$.cloud') as cloud, - json_extract(spec, '$.config.kind') as config_kind, - json_extract(spec, '$.environment.id') as environment_id, - json_extract(spec, '$.environment.related') as environment_related, - json_extract(spec, '$.environment.resource_name') as environment_resource_name, - json_extract(spec, '$.http_endpoint') as http_endpoint, - json_extract(spec, '$.kafka_bootstrap_endpoint') as kafka_bootstrap_endpoint, - json_extract(spec, '$.region') as region, - json_extract(metadata, '$.created_at') as created_at, - json_extract(metadata, '$.updated_at') as updated_at, - json_extract(metadata, '$.self') as self, - api_version, - kind - from confluent.managed_kafka_clusters.clusters - where environment = 'env-000000' - fallback: - predicate: sqlDialect == "postgres" - ddl: |- - select - id, - environment, - json_extract_path_text(spec, 'display_name') as display_name, - json_extract_path_text(status, 'phase') as status_phase, - json_extract_path_text(metadata, 'resource_name') as resource_name, - json_extract_path_text(spec, 'api_endpoint') as api_endpoint, - json_extract_path_text(spec, 'availability') as availability, - json_extract_path_text(spec, 'cloud') as cloud, - json_extract_path_text(spec, 'config' , 'kind') as config_kind, - json_extract_path_text(spec, 'environment', 'id') as environment_id, - json_extract_path_text(spec, 'environment', 'related') as environment_related, - json_extract_path_text(spec, 'environment', 'resource_name') as environment_resource_name, - json_extract_path_text(spec, 'http_endpoint') as http_endpoint, - json_extract_path_text(spec, 'kafka_bootstrap_endpoint') as kafka_bootstrap_endpoint, - json_extract_path_text(spec, 'region') as region, - json_extract_path_text(metadata, 'created_at') as created_at, - json_extract_path_text(metadata, 'updated_at') as updated_at, - json_extract_path_text(metadata, 'self') as self, - api_version, - kind - from confluent.managed_kafka_clusters.clusters - where environment = 'env-000000' -paths: - /cmk/v2/clusters: - get: - operationId: listCmkV2Clusters - summary: List of Clusters - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all clusters. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Filter the results by exact match for environment. - - name: spec.network - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - n-00000 - - n-00001 - description: Filter the results by exact match for spec.network. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Clusters (cmk/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Cluster. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/cmk.v2.ClusterList' - - type: object - properties: - data: - type: array - items: - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - byok: - example: - id: cck-00000 - related: 'https://api.confluent.cloud/byok/v1/keys/cck-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/key=cck-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/cmk/v2/clusters?environment=env-00000&spec.network=n-00000,n-00001' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cmk/v2/clusters?environment=env-00000&spec.network=n-00000,n-00001") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cmk/v2/clusters?environment=env-00000&spec.network=n-00000,n-00001\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/cmk/v2/clusters?environment=env-00000&spec.network=n-00000,n-00001", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cmk/v2/clusters?environment=env-00000&spec.network=n-00000,n-00001", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cmk/v2/clusters?environment=env-00000&spec.network=n-00000,n-00001"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cmk/v2/clusters?environment=env-00000&spec.network=n-00000,n-00001"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createCmkV2Cluster - summary: Create a Cluster - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to create a cluster. - tags: - - Clusters (cmk/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/cmk.v2.Cluster' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - display_name - - availability - - cloud - - region - - config - - environment - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - network: - example: - id: n-00000 - byok: - example: - id: cck-00000 - responses: - '202': - description: A Cluster is being created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/cmk/v2/clusters/{id}' - description: Cluster resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/cmk.v2.Cluster' - - type: object - required: - - spec - - status - properties: - spec: - type: object - required: - - display_name - - availability - - cloud - - region - - config - - environment - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - byok: - example: - id: cck-00000 - related: 'https://api.confluent.cloud/byok/v1/keys/cck-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/key=cck-00000' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/cmk/v2/clusters \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"ProdKafkaCluster","availability":"SINGLE_ZONE","cloud":"GCP","region":"us-east4","config":{"kind":"Basic"},"environment":{"id":"env-00000","environment":"string"},"network":{"id":"n-00000","environment":"string"},"byok":{"id":"cck-00000"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"ProdKafkaCluster\",\"availability\":\"SINGLE_ZONE\",\"cloud\":\"GCP\",\"region\":\"us-east4\",\"config\":{\"kind\":\"Basic\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"},\"byok\":{\"id\":\"cck-00000\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cmk/v2/clusters") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cmk/v2/clusters\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"ProdKafkaCluster\\\",\\\"availability\\\":\\\"SINGLE_ZONE\\\",\\\"cloud\\\":\\\"GCP\\\",\\\"region\\\":\\\"us-east4\\\",\\\"config\\\":{\\\"kind\\\":\\\"Basic\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"network\\\":{\\\"id\\\":\\\"n-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"byok\\\":{\\\"id\\\":\\\"cck-00000\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"ProdKafkaCluster\",\"availability\":\"SINGLE_ZONE\",\"cloud\":\"GCP\",\"region\":\"us-east4\",\"config\":{\"kind\":\"Basic\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"},\"byok\":{\"id\":\"cck-00000\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/cmk/v2/clusters", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cmk/v2/clusters", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'ProdKafkaCluster', - availability: 'SINGLE_ZONE', - cloud: 'GCP', - region: 'us-east4', - config: {kind: 'Basic'}, - environment: {id: 'env-00000', environment: 'string'}, - network: {id: 'n-00000', environment: 'string'}, - byok: {id: 'cck-00000'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cmk/v2/clusters"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"ProdKafkaCluster\",\"availability\":\"SINGLE_ZONE\",\"cloud\":\"GCP\",\"region\":\"us-east4\",\"config\":{\"kind\":\"Basic\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"},\"byok\":{\"id\":\"cck-00000\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cmk/v2/clusters"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"ProdKafkaCluster\",\"availability\":\"SINGLE_ZONE\",\"cloud\":\"GCP\",\"region\":\"us-east4\",\"config\":{\"kind\":\"Basic\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"},\"byok\":{\"id\":\"cck-00000\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/cmk/v2/clusters/{id}': - get: - operationId: getCmkV2Cluster - summary: Read a Cluster - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read a cluster. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the cluster. - tags: - - Clusters (cmk/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Cluster. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/cmk.v2.Cluster' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - display_name - - availability - - cloud - - region - - config - - environment - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - byok: - example: - id: cck-00000 - related: 'https://api.confluent.cloud/byok/v1/keys/cck-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/key=cck-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/cmk/v2/clusters/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cmk/v2/clusters/{id}?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cmk/v2/clusters/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/cmk/v2/clusters/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cmk/v2/clusters/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cmk/v2/clusters/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cmk/v2/clusters/{id}?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateCmkV2Cluster - summary: Update a Cluster - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to update a cluster. - - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the cluster. - tags: - - Clusters (cmk/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/cmk.v2.ClusterUpdate' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - environment - properties: - environment: - example: - id: env-00000 - responses: - '200': - description: Cluster. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/cmk.v2.Cluster' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - display_name - - availability - - cloud - - region - - config - - environment - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - byok: - example: - id: cck-00000 - related: 'https://api.confluent.cloud/byok/v1/keys/cck-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/key=cck-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/cmk/v2/clusters/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"ProdKafkaCluster","availability":"SINGLE_ZONE","cloud":"GCP","region":"us-east4","config":{"kind":"Basic"},"environment":{"id":"env-00000","environment":"string"},"network":{"id":"string","environment":"string"},"byok":{"id":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"ProdKafkaCluster\",\"availability\":\"SINGLE_ZONE\",\"cloud\":\"GCP\",\"region\":\"us-east4\",\"config\":{\"kind\":\"Basic\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"},\"byok\":{\"id\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cmk/v2/clusters/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cmk/v2/clusters/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"ProdKafkaCluster\\\",\\\"availability\\\":\\\"SINGLE_ZONE\\\",\\\"cloud\\\":\\\"GCP\\\",\\\"region\\\":\\\"us-east4\\\",\\\"config\\\":{\\\"kind\\\":\\\"Basic\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"network\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"},\\\"byok\\\":{\\\"id\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"ProdKafkaCluster\",\"availability\":\"SINGLE_ZONE\",\"cloud\":\"GCP\",\"region\":\"us-east4\",\"config\":{\"kind\":\"Basic\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"},\"byok\":{\"id\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/cmk/v2/clusters/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cmk/v2/clusters/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'ProdKafkaCluster', - availability: 'SINGLE_ZONE', - cloud: 'GCP', - region: 'us-east4', - config: {kind: 'Basic'}, - environment: {id: 'env-00000', environment: 'string'}, - network: {id: 'string', environment: 'string'}, - byok: {id: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cmk/v2/clusters/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"ProdKafkaCluster\",\"availability\":\"SINGLE_ZONE\",\"cloud\":\"GCP\",\"region\":\"us-east4\",\"config\":{\"kind\":\"Basic\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"},\"byok\":{\"id\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cmk/v2/clusters/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"ProdKafkaCluster\",\"availability\":\"SINGLE_ZONE\",\"cloud\":\"GCP\",\"region\":\"us-east4\",\"config\":{\"kind\":\"Basic\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"},\"byok\":{\"id\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteCmkV2Cluster - summary: Delete a Cluster - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to delete a cluster. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the cluster. - tags: - - Clusters (cmk/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A Cluster is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/cmk/v2/clusters/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cmk/v2/clusters/{id}?environment=env-00000") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cmk/v2/clusters/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/cmk/v2/clusters/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cmk/v2/clusters/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cmk/v2/clusters/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cmk/v2/clusters/{id}?environment=env-00000"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); + - $ref: >- + #/components/x-stackQL-resources/clusters/methods/delete_cmk_v2_cluster + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/networking.yaml b/providers/src/confluent/v00.00.00000/services/networking.yaml index e6a76136..92d58c32 100644 --- a/providers/src/confluent/v00.00.00000/services/networking.yaml +++ b/providers/src/confluent/v00.00.00000/services/networking.yaml @@ -1,18978 +1,26668 @@ openapi: 3.0.0 -servers: - - url: 'https://api.confluent.cloud' - description: Confluent Cloud API info: - version: '' - contact: - name: Confluent Cloud - url: 'https://www.confluent.io/cloud-contact-us/' - email: support@confluent.io - x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b - x-audience: external-public - x-logo: - url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' - title: Confluent Cloud APIs - networking - description: networking -tags: - - name: API Keys (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. - - The API allows you to list, create, update and delete your API Keys. - - - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - - ## The API Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - - name: Environments (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. - - - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - - ## The Environments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - - name: Organizations (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). - - The API allows you to list, view, and update your organizations. - - - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - - ## The Organizations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - - name: Users (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `User` objects represent individuals who may access your Confluent resources. - - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. - - - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). - - ## The Users Model - + title: networking API + description: confluent networking API + version: 1.0.0 +paths: + /networking/v1/networks: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listNetworkingV1Networks + summary: List of Networks + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - - name: Service Accounts (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Retrieve a sorted, filtered, paginated list of all networks. + parameters: + - name: spec.display_name + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - prod-gcp-us-central1 + - prod-aws-us-east1 + description: >- + Filter the results by exact match for spec.display_name. Pass + multiple times to see results matching any of the values. + style: form + explode: true + - name: spec.cloud + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - GCP + - AWS + description: >- + Filter the results by exact match for spec.cloud. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: spec.region + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - us-central1 + - us-east-1 + description: >- + Filter the results by exact match for spec.region. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: spec.connection_types + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - peering + - privatelink + description: >- + Filter the results by exact match for spec.connection_types. Pass + multiple times to see results matching any of the values. + style: form + explode: true + - name: spec.cidr + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - 10.200.0.0/16 + description: >- + Filter the results by exact match for spec.cidr. Pass multiple times + to see results matching any of the values. + style: form + explode: true + - name: status.phase + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - PROVISIONING + - READY + description: >- + Filter the results by exact match for status.phase. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 1000 + x-max-page-items: 1000 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Networks (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Network. + content: + application/json: + schema: + type: object + description: >- + `Network` represents a network (VPC) in Confluent Cloud. All + Networks exist within Confluent-managed cloud - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. + provider accounts. Dedicated networks support more networking + options but can only contain Dedicated clusters. - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. + Shared networks can contain any cluster type. - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). + The API allows you to list, create, read, update, and delete + your networks. - ## The Service Accounts Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - - name: Invitations (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [APIs to manage networks in Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + ## The Networks Model + - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). - ## The Invitations Model - + ## Quotas and Limits - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - - name: IP Groups (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + | Quota | Description | + | --- | --- | - ## The IP Groups Model - - - name: IP Filters (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + | `dedicated_networks_per_environment` | Number of dedicated + networks per Confluent Cloud environment | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `Network` represents a network (VPC) in Confluent Cloud. + All Networks exist within Confluent-managed cloud - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. + provider accounts. Dedicated networks support more + networking options but can only contain Dedicated + clusters. + Shared networks can contain any cluster type. - ## The IP Filters Model - - - name: Role Bindings (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - A role binding grants a Principal a role on resources that match a pattern. + The API allows you to list, create, read, update, and + delete your networks. - The API allows you to perform create, delete, and list operations on role bindings. - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + Related guide: [APIs to manage networks in Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - ## The Role Bindings Model - - - name: Subscriptions (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. + ## The Networks Model - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + ## Quotas and Limits - ## The Subscriptions Model - - - name: Integrations (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. + | Quota | Description | - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + | --- | --- | - ## The Integrations Model - + | `dedicated_networks_per_environment` | Number of + dedicated networks per Confluent Cloud environment | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - Network + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkSpec' + status: + $ref: '#/components/schemas/networking.v1.NetworkStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createNetworkingV1Network + summary: Create a Network + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - - name: Notification Types (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to create a network. + tags: + - Networks (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `Network` represents a network (VPC) in Confluent Cloud. All + Networks exist within Confluent-managed cloud - The type of notifications (and their corresponding metadata) supported by Confluent. + provider accounts. Dedicated networks support more networking + options but can only contain Dedicated clusters. + Shared networks can contain any cluster type. - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - ## The Notification Types Model - - - name: Clusters (cmk/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to list, create, read, update, and delete + your networks. - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Kafka clusters. + Related guide: [APIs to manage networks in Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - ## The Clusters Model - + ## The Networks Model - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - - name: Clusters (ksqldbcm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + ## Quotas and Limits + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - ## The Clusters Model - + | Quota | Description | - ## Quotas and Limits - This resource is subject to the following quotas: + | --- | --- | - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - - name: Connectors (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | `dedicated_networks_per_environment` | Number of dedicated + networks per Confluent Cloud environment | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Network + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkSpec' + status: + $ref: '#/components/schemas/networking.v1.NetworkStatus' + required: + - spec + responses: + '202': + description: A Network is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/networking/v1/networks/{id} + description: Network resource uri + content: + application/json: + schema: + type: object + description: >- + `Network` represents a network (VPC) in Confluent Cloud. All + Networks exist within Confluent-managed cloud - API for Managed Connectors or Custom Connectors in Confluent Cloud. + provider accounts. Dedicated networks support more networking + options but can only contain Dedicated clusters. - The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + Shared networks can contain any cluster type. - Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). - Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - name: Lifecycle (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to list, create, read, update, and delete + your networks. - API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. - - name: Status (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. - - name: Managed Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for Managed connectors in Confluent Cloud. - - name: Offsets (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [APIs to manage networks in Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - API for managing the offsets for a Managed Connector. - Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) - - name: Custom Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Networks Model - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + - ## The Custom Connector Plugins Model - - - name: Presigned Urls (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## Quotas and Limits - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + | Quota | Description | - ## The Presigned Urls Model - - - name: Cluster (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Configs (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: ACL (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Consumer Group (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Partition (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Topic (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Records (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Cluster Linking (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Applied Quotas (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | --- | --- | - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. + | `dedicated_networks_per_environment` | Number of dedicated + networks per Confluent Cloud environment | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Network + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkSpec' + status: + $ref: '#/components/schemas/networking.v1.NetworkStatus' + required: + - spec + - status + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/networks/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getNetworkingV1Network + summary: Read a Network + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + Make a request to read a network. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the network. + tags: + - Networks (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Network. + content: + application/json: + schema: + type: object + description: >- + `Network` represents a network (VPC) in Confluent Cloud. All + Networks exist within Confluent-managed cloud - ## The Applied Quotas Model - - - name: Scopes (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + provider accounts. Dedicated networks support more networking + options but can only contain Dedicated clusters. - Gets a list of all available scopes for applied quotas. + Shared networks can contain any cluster type. - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + The API allows you to list, create, read, update, and delete + your networks. - ## The Scopes Model - - - name: Entitlements (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - `Entitlement` objects represent metadata about a marketplace entitlement. - An entitlement includes metadata about a marketplace purchase - (start date, end date, billing information, partner IDs, etc). - The API allows partners to create, read, and list entitlements. (Unless you - need entitlement creation and customer registration to be separate, - we recommend using the Signup API to create an organization and entitlement - at the same time) + Related guide: [APIs to manage networks in Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - The API only allows authorized partners to interact with the Entitlements API. - - name: Regions (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. + ## The Networks Model + - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + ## Quotas and Limits - ## The Regions Model - - - name: Clusters (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - The API allows you to list, create, read, and delete your Schema Registry clusters. + | Quota | Description | + | --- | --- | - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Clusters Model - - - name: Clusters (srcm/v3) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list and read your Schema Registry clusters. - - - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - - ## The Clusters Model - - - name: Compatibility (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to test schema compatibility. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Config (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to manage and query schema compatibility settings and cluster configurations. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Contexts (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to retrieve information about schema contexts. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Exporters (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete exporters. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Modes (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects modes of operation. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Schemas (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schemas. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Subjects (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects and versions. + | `dedicated_networks_per_environment` | Number of dedicated + networks per Confluent Cloud environment | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Network + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkSpec' + status: + $ref: '#/components/schemas/networking.v1.NetworkStatus' + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateNetworkingV1Network + summary: Update a Network + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Key Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete key encryption keys. + Make a request to update a network. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Data Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the network. + tags: + - Networks (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `Network` represents a network (VPC) in Confluent Cloud. All + Networks exist within Confluent-managed cloud - The API allows you to create, retrieve, update, and delete data encryption keys. + provider accounts. Dedicated networks support more networking + options but can only contain Dedicated clusters. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Entity (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Shared networks can contain any cluster type. - The API allows you to create, retrieve, update, and delete catalog entities. - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Search (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to list, create, read, update, and delete + your networks. - The API allows you to search for entities. - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Types (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + Related guide: [APIs to manage networks in Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Provider Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + ## The Networks Model + - ## The Provider Shared Resources Model - - - name: Provider Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `ProviderShare` object respresents the share that you have created through Stream Sharing. + ## Quotas and Limits + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). - ## The Provider Shares Model - - - name: Consumer Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | Quota | Description | - `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + | --- | --- | + | `dedicated_networks_per_environment` | Number of dedicated + networks per Confluent Cloud environment | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Network + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkSpec' + status: + $ref: '#/components/schemas/networking.v1.NetworkStatus' + required: + - spec + responses: + '200': + description: Network. + content: + application/json: + schema: + type: object + description: >- + `Network` represents a network (VPC) in Confluent Cloud. All + Networks exist within Confluent-managed cloud - ## The Consumer Shared Resources Model - - - name: Consumer Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + provider accounts. Dedicated networks support more networking + options but can only contain Dedicated clusters. - `ConsumerShare` object respresents the share that you received through Stream Sharing. + Shared networks can contain any cluster type. - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + The API allows you to list, create, read, update, and delete + your networks. - ## The Consumer Shares Model - - - name: Shared Tokens (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Encrypted Token shared with consumer + Related guide: [APIs to manage networks in Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - ## The Shared Tokens Model - - - name: Opt Ins (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Stream sharing opt in options + ## The Networks Model - ## The Opt Ins Model - - - name: Organizations (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + - `Organizations` objects represent an entire Confluent Cloud organization. - Partners are allowed to get an organization they have signed up or - list all organizations they have signed up. - - name: Signup (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - `Signup` APIs can only be performed by partners. - - name: Networks (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## Quotas and Limits - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - The API allows you to list, create, read, update, and delete your networks. + | Quota | Description | - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + | --- | --- | - ## The Networks Model - + | `dedicated_networks_per_environment` | Number of dedicated + networks per Confluent Cloud environment | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Network + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkSpec' + status: + $ref: '#/components/schemas/networking.v1.NetworkStatus' + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteNetworkingV1Network + summary: Delete a Network + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - - name: Peerings (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to delete a network. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the network. + tags: + - Networks (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Network is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/peerings: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listNetworkingV1Peerings + summary: List of Peerings + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + Retrieve a sorted, filtered, paginated list of all peerings. + parameters: + - name: spec.display_name + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - prod-peering-uscentral1 + - prod-peering-use1 + description: >- + Filter the results by exact match for spec.display_name. Pass + multiple times to see results matching any of the values. + style: form + explode: true + - name: status.phase + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - PROVISIONING + - READY + description: >- + Filter the results by exact match for status.phase. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.network + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - n-00000 + - n-00001 + description: >- + Filter the results by exact match for spec.network. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 1000 + x-max-page-items: 1000 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Peerings (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Peering. + content: + application/json: + schema: + type: object + description: >- + Add or remove VPC/VNet peering connections between your + VPC/VNet and Confluent Cloud. - ## The Peerings Model - + Related guides: - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + * [Use VPC peering connections with Confluent Cloud on + AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - - name: Transit Gateway Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + * [Use VNet peering connections with Confluent Cloud on + Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - AWS Transit Gateway Attachments + * [Use VPC peering connections with Confluent Cloud on Google + Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - ## The Transit Gateway Attachments Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + ## The Peerings Model - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - - name: Private Link Accesses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + ## Quotas and Limits + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## The Private Link Accesses Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + | Quota | Description | - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - - name: Network Link Services (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | --- | --- | - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. + | `peerings_per_network` | Number of peerings per network | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PeeringList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + Add or remove VPC/VNet peering connections between your + VPC/VNet and Confluent Cloud. - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + Related guides: - ## The Network Link Services Model - + * [Use VPC peering connections with Confluent Cloud on + AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + * [Use VNet peering connections with Confluent Cloud on + Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - - name: Network Link Endpoints (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + * [Use VPC peering connections with Confluent Cloud on + Google + Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + ## The Peerings Model - ## The Network Link Endpoints Model - + - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - - name: Network Link Service Associations (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## Quotas and Limits - List of incoming Network Link Enpoints associated with the Network Link Service. + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + | Quota | Description | - ## The Network Link Service Associations Model - - - name: Gateways (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | --- | --- | - A gateway is a resource that defines network access to Confluent cloud resources. - - - ## The Gateways Model - - - name: IP Addresses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - IP Addresses - - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) - - ## The IP Addresses Model - - - name: Private Link Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. - - - ## The Private Link Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - - name: Private Link Attachment Connections (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. - - - ## The Private Link Attachment Connections Model - - - name: Identity Providers (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Identity Provider. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Identity Providers Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - - name: Jwks (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. - - The API allows you to refresh JWKS public key data. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Jwks Model - - - name: Identity Pools (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | `peerings_per_network` | Number of peerings per + network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - Peering + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.PeeringSpec' + status: + $ref: '#/components/schemas/networking.v1.PeeringStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createNetworkingV1Peering + summary: Create a Peering + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. + Make a request to create a peering. + tags: + - Peerings (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + Add or remove VPC/VNet peering connections between your VPC/VNet + and Confluent Cloud. + + + Related guides: + + * [Use VPC peering connections with Confluent Cloud on + AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + + * [Use VNet peering connections with Confluent Cloud on + Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + * [Use VPC peering connections with Confluent Cloud on Google + Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + + ## The Peerings Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `peerings_per_network` | Number of peerings per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Peering + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.PeeringSpec' + status: + $ref: '#/components/schemas/networking.v1.PeeringStatus' + required: + - spec + responses: + '202': + description: A Peering is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/networking/v1/peerings/{id} + description: Peering resource uri + content: + application/json: + schema: + type: object + description: >- + Add or remove VPC/VNet peering connections between your + VPC/VNet and Confluent Cloud. - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + Related guides: - ## The Identity Pools Model - + * [Use VPC peering connections with Confluent Cloud on + AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + * [Use VNet peering connections with Confluent Cloud on + Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - - name: OAuth Tokens (sts/v1) - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + * [Use VPC peering connections with Confluent Cloud on Google + Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of - external identities to access Confluent Cloud APIs - - name: Client Quotas (kafka-quotas/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `ClientQuota` objects represent Client Quotas you can set at the service account level. - The API allows you to list, create, read, update, and delete your client quotas. + ## The Peerings Model + - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - ## The Client Quotas Model - - - name: Pipelines (sd/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## Quotas and Limits - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. + | Quota | Description | - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + | --- | --- | - ## The Pipelines Model - + | `peerings_per_network` | Number of peerings per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Peering + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.PeeringSpec' + status: + $ref: '#/components/schemas/networking.v1.PeeringStatus' + required: + - spec + - status + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/peerings/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getNetworkingV1Peering + summary: Read a Peering + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - - name: Keys (byok/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to read a peering. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the peering. + tags: + - Peerings (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Peering. + content: + application/json: + schema: + type: object + description: >- + Add or remove VPC/VNet peering connections between your + VPC/VNet and Confluent Cloud. - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + Related guides: + * [Use VPC peering connections with Confluent Cloud on + AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + * [Use VNet peering connections with Confluent Cloud on + Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - ## The Keys Model - + * [Use VPC peering connections with Confluent Cloud on Google + Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - - name: Costs (billing/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Cost` objects represent the aggregated billing costs for an organization + ## The Peerings Model + - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). - ## The Costs Model - - - name: Group Mappings (iam/v2/sso) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## Quotas and Limits - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. + | Quota | Description | - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + | --- | --- | - ## The Group Mappings Model - + | `peerings_per_network` | Number of peerings per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Peering + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.PeeringSpec' + status: + $ref: '#/components/schemas/networking.v1.PeeringStatus' + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateNetworkingV1Peering + summary: Update a Peering + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - - name: Compute Pools (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to update a peering. - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the peering. + tags: + - Peerings (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + Add or remove VPC/VNet peering connections between your VPC/VNet + and Confluent Cloud. + + + Related guides: + + * [Use VPC peering connections with Confluent Cloud on + AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + + * [Use VNet peering connections with Confluent Cloud on + Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + * [Use VPC peering connections with Confluent Cloud on Google + Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + + ## The Peerings Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `peerings_per_network` | Number of peerings per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Peering + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.PeeringSpec' + status: + $ref: '#/components/schemas/networking.v1.PeeringStatus' + required: + - spec + responses: + '200': + description: Peering. + content: + application/json: + schema: + type: object + description: >- + Add or remove VPC/VNet peering connections between your + VPC/VNet and Confluent Cloud. - ## The Compute Pools Model - - - name: Regions (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guides: - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. + * [Use VPC peering connections with Confluent Cloud on + AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + * [Use VNet peering connections with Confluent Cloud on + Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - ## The Regions Model - - - name: Statements (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + * [Use VPC peering connections with Confluent Cloud on Google + Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - - name: Statement Results (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `StatementResult` represents a result of a `Statement` resource. - The API allows you to read your statement's results. - ## The Statement Results Model - - - name: Statement Exceptions (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `StatementException` represents an exception of a `Statement` resource. - The API allows you to read your statement's exceptions. - ## The Statement Exceptions Model - - - name: Connections (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Peerings Model - `Connection` represents a core resource used to model SQL connections for execution. - A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - - name: DNS Forwarders (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + - Add, remove, and update DNS forwarder for your gateway. - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + ## Quotas and Limits + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## The DNS Forwarders Model - - - name: Access Points (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. + | Quota | Description | + | --- | --- | - ## The Access Points Model - - - name: DNS Records (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | `peerings_per_network` | Number of peerings per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Peering + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.PeeringSpec' + status: + $ref: '#/components/schemas/networking.v1.PeeringStatus' + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteNetworkingV1Peering + summary: Delete a Peering + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - ## The DNS Records Model - - - name: Certificate Authorities (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to delete a peering. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the peering. + tags: + - Peerings (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Peering is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/transit-gateway-attachments: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listNetworkingV1TransitGatewayAttachments + summary: List of Transit Gateway Attachments + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all transit gateway + attachments. + parameters: + - name: spec.display_name + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - prod-tgw-use1 + - prod-tgw-usw2 + description: >- + Filter the results by exact match for spec.display_name. Pass + multiple times to see results matching any of the values. + style: form + explode: true + - name: status.phase + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - PROVISIONING + - READY + description: >- + Filter the results by exact match for status.phase. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.network + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - n-00000 + - n-00001 + description: >- + Filter the results by exact match for spec.network. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 1000 + x-max-page-items: 1000 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Transit Gateway Attachments (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Transit Gateway Attachment. + content: + application/json: + schema: + type: object + description: >- + AWS Transit Gateway Attachments + + + Related guide: [APIs to manage AWS Transit Gateway + Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + ## The Transit Gateway Attachments Model - The API allows you to list, create, read, update, and delete your Certificate Authority. + - Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + ## Quotas and Limits - ## The Certificate Authorities Model - + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `certificate_authorities_per_org` | Number of certificate authorities per organization | - - name: Certificate Identity Pools (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | Quota | Description | - `Identitypool` objects represent workload identities in Confluent Cloud. + | --- | --- | + + | `tgw_attachments_per_network` | Number of TGW attachments + per network | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - TransitGatewayAttachmentList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + AWS Transit Gateway Attachments - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities + Related guide: [APIs to manage AWS Transit Gateway + Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). - ## The Certificate Identity Pools Model - + ## The Transit Gateway Attachments Model - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - - name: Integrations (pim/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). + ## Quotas and Limits - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + | Quota | Description | - ## The Integrations Model - - - name: Flink Artifacts (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + | --- | --- | - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + | `tgw_attachments_per_network` | Number of TGW + attachments per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - TransitGatewayAttachment + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.TransitGatewayAttachmentSpec + status: + $ref: >- + #/components/schemas/networking.v1.TransitGatewayAttachmentStatus + required: + - id + - metadata + - spec + - status + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createNetworkingV1TransitGatewayAttachment + summary: Create a Transit Gateway Attachment + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Flink Artifacts Model - - - name: Presigned Urls (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + Make a request to create a transit gateway attachment. + tags: + - Transit Gateway Attachments (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + AWS Transit Gateway Attachments + + + Related guide: [APIs to manage AWS Transit Gateway + Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + + ## The Transit Gateway Attachments Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `tgw_attachments_per_network` | Number of TGW attachments per + network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - TransitGatewayAttachment + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.TransitGatewayAttachmentSpec + status: + $ref: >- + #/components/schemas/networking.v1.TransitGatewayAttachmentStatus + required: + - spec + responses: + '202': + description: A Transit Gateway Attachment is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: >- + https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id} + description: TransitGatewayAttachment resource uri + content: + application/json: + schema: + type: object + description: >- + AWS Transit Gateway Attachments - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. + Related guide: [APIs to manage AWS Transit Gateway + Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - ## The Presigned Urls Model - - - name: Flink Artifact Versions (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + ## The Transit Gateway Attachments Model + - ## The Flink Artifact Versions Model - -components: - schemas: - MultipleSearchFilter: - description: Filter a collection by a string search for one or more values - type: array - items: - type: string - SearchFilter: - description: Filter a collection by a string search - type: string - networking.v1.NetworkList: - type: object - description: |- - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. - The API allows you to list, create, read, update, and delete your networks. + ## Quotas and Limits + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - ## The Networks Model - + | Quota | Description | - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + | --- | --- | - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - NetworkList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/networking/v1/networks' - last: - example: 'https://api.confluent.cloud/networking/v1/networks?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/networking/v1/networks?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/networking/v1/networks?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/networking.v1.Network' - - type: object + | `tgw_attachments_per_network` | Number of TGW attachments + per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - TransitGatewayAttachment + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.TransitGatewayAttachmentSpec + status: + $ref: >- + #/components/schemas/networking.v1.TransitGatewayAttachmentStatus required: - - id - - metadata - spec - status - properties: - spec: - type: object - required: - - cloud - - region - - connection_types - - environment - uniqueItems: true - ListMeta: - type: object - description: ListMeta describes metadata that resource collections may have - properties: - first: - description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds' - last: - description: 'A link to the last page of results. If a response does not contain a last link, then direct navigation to the last page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT' - prev: - description: 'A link to the previous page of results. If a response does not contain a prev link, then either there is no previous data or backwards traversal through the result set is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld' - next: - description: 'A link to the next page of results. If a response does not contain a next link, then there is no more data available.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb' - total_size: - description: Number of records in the full result set. This response may be paginated and have a smaller number of records. - type: integer - format: int32 - minimum: 0 - example: 123 - networking.v1.Network: - type: object - description: |- - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/transit-gateway-attachments/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getNetworkingV1TransitGatewayAttachment + summary: Read a Transit Gateway Attachment + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to list, create, read, update, and delete your networks. + Make a request to read a transit gateway attachment. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the transit gateway attachment. + tags: + - Transit Gateway Attachments (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Transit Gateway Attachment. + content: + application/json: + schema: + type: object + description: >- + AWS Transit Gateway Attachments - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - ## The Networks Model - + Related guide: [APIs to manage AWS Transit Gateway + Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Network - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/networks/n-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-12345' - spec: - $ref: '#/components/schemas/networking.v1.NetworkSpec' - status: - $ref: '#/components/schemas/networking.v1.NetworkStatus' - AclOperation: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - AclPatternType: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - MATCH - - LITERAL - - PREFIXED - AclPermission: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - DENY - - ALLOW - AclResourceType: - type: string - enum: - - UNKNOWN - - ANY - - TOPIC - - GROUP - - CLUSTER - - TRANSACTIONAL_ID - - DELEGATION_TOKEN - BrokerTaskType: - type: string - enum: - - add-broker - - remove-broker - MirrorTopicStatus: - enum: - - ACTIVE - - FAILED - - LINK_FAILED - - LINK_PAUSED - - PAUSED - - PENDING_STOPPED - - SOURCE_UNAVAILABLE - - STOPPED - - PENDING_MIRROR - - PENDING_SYNCHRONIZE - - PENDING_SETUP_FOR_RESTORE - - PENDING_RESTORE - type: string - Failure: - type: object - description: Provides information about problems encountered while performing an operation. - required: - - errors - properties: - errors: - description: List of errors which caused this operation to fail - type: array - items: - $ref: '#/components/schemas/Error' - uniqueItems: true - AlterConfigBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - operation: - type: string - x-extensible-enum: - - SET - - DELETE - nullable: true - validate_only: - type: boolean - CreateAclRequestData: - type: object - required: - - resource_type - - resource_name - - pattern_type - - principal - - host - - operation - - permission - properties: - resource_type: - $ref: '#/components/schemas/AclResourceType' - resource_name: - type: string - pattern_type: - $ref: '#/components/schemas/AclPatternType' - principal: - type: string - host: - type: string - operation: - $ref: '#/components/schemas/AclOperation' - permission: - $ref: '#/components/schemas/AclPermission' - CreateAclRequestDataList: - allOf: - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/CreateAclRequestData' - CreateTopicRequestData: - type: object - required: - - topic_name - properties: - topic_name: - type: string - partitions_count: - type: integer - replication_factor: - type: integer - configs: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: + ## The Transit Gateway Attachments Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `tgw_attachments_per_network` | Number of TGW attachments + per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - TransitGatewayAttachment + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.TransitGatewayAttachmentSpec + status: + $ref: >- + #/components/schemas/networking.v1.TransitGatewayAttachmentStatus + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: type: string - nullable: true - validate_only: - type: boolean - ProduceRequest: - type: object - properties: - partition_id: - type: integer - nullable: true - format: int32 - headers: - type: array - items: - $ref: '#/components/schemas/ProduceRequestHeader' - key: - $ref: '#/components/schemas/ProduceRequestData' - value: - $ref: '#/components/schemas/ProduceRequestData' - timestamp: - type: string - format: date-time - nullable: true - UpdateConfigRequestData: - type: object - properties: - value: - type: string - nullable: true - CreateLinkRequestData: - properties: - source_cluster_id: - type: string - destination_cluster_id: - type: string - remote_cluster_id: - description: The expected remote cluster ID. - type: string - cluster_link_id: - description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' - type: string - configs: - items: - $ref: '#/components/schemas/ConfigData' - type: array - type: object - UpdateLinkConfigRequestData: - properties: - value: - type: string - required: - - value - type: object - CreateMirrorTopicRequestData: - properties: - source_topic_name: - type: string - mirror_topic_name: - type: string - replication_factor: - type: integer - configs: - type: array - items: - $ref: '#/components/schemas/ConfigData' - required: - - source_topic_name - type: object - AlterMirrorsRequestData: - properties: - mirror_topic_names: - description: The mirror topics specified as a list of topic names. - type: array - items: + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateNetworkingV1TransitGatewayAttachment + summary: Update a Transit Gateway Attachment + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update a transit gateway attachment. + + parameters: + - name: id + in: path + required: true + schema: type: string - mirror_topic_name_pattern: - description: The mirror topics specified as a pattern. - type: string - type: object - RemoveBrokersRequestData: - properties: - broker_ids: - type: array - items: - type: integer - required: - - broker_ids - type: object - BrokerReplicaExclusionBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' - ObjectMeta: - description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' - required: - - self - properties: - self: - description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' - type: string - format: uri - readOnly: true - example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' - resource_name: - description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name - type: string - format: uri - readOnly: true - example: 'crn://confluent.cloud/kafka=lkc-f3a90de' - created_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. - updated_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. - deleted_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. - readOnly: true - networking.v1.NetworkSpec: - type: object - description: The desired state of the Network - properties: - display_name: - type: string - description: The name of the network - example: prod-aws-us-east1 - cloud: - type: string - description: The cloud service provider in which the network exists. - x-extensible-enum: - - AWS - - GCP - - AZURE - example: AWS - x-immutable: true - region: - type: string - description: The cloud service provider region in which the network exists. - example: us-east-1 - x-immutable: true - connection_types: - type: array - description: The connection types requested for use with the network. - items: - $ref: '#/components/schemas/networking.v1.ConnectionType' - uniqueItems: true - minItems: 1 - x-immutable: true - cidr: - type: string - pattern: ^\d+\.\d+\.\d+\.\d+/\d+$ - description: | - The IPv4 [CIDR block](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) to used for this network. - Must be `/16`. Required for VPC peering and AWS TransitGateway. - example: 10.200.0.0/16 - x-immutable: true - zones: - type: array - items: - type: string - uniqueItems: true - minItems: 3 - maxItems: 3 - description: | - The 3 availability zones for this network. They can optionally be specified for AWS networks - used with PrivateLink, for GCP networks used with Private Service Connect, and for AWS and GCP - networks used with Peering. - Otherwise, they are automatically chosen by Confluent Cloud. + description: The unique identifier for the transit gateway attachment. + tags: + - Transit Gateway Attachments (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + AWS Transit Gateway Attachments + + + Related guide: [APIs to manage AWS Transit Gateway + Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + + ## The Transit Gateway Attachments Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `tgw_attachments_per_network` | Number of TGW attachments per + network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - TransitGatewayAttachment + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.TransitGatewayAttachmentSpec + status: + $ref: >- + #/components/schemas/networking.v1.TransitGatewayAttachmentStatus + required: + - spec + responses: + '200': + description: Transit Gateway Attachment. + content: + application/json: + schema: + type: object + description: >- + AWS Transit Gateway Attachments - On AWS, zones are AWS [AZ IDs](https://docs.aws.amazon.com/ram/latest/userguide/working-with-az-ids.html) - (e.g. use1-az3) - On GCP, zones are GCP [zones](https://cloud.google.com/compute/docs/regions-zones) - (e.g. us-central1-c). + Related guide: [APIs to manage AWS Transit Gateway + Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - On Azure, zones are Confluent-chosen names (e.g. 1, 2, 3) since Azure does not - have universal zone identifiers. - example: - - use1-az1 - - use1-az2 - - use1-az3 - x-immutable: true - zones_info: - type: array - minItems: 3 - maxItems: 3 - uniqueItems: true - items: - $ref: '#/components/schemas/networking.v1.ZoneInfo' - description: | - Each item represents information related to a single zone. - Note - The attribute is in a [Limited Availability lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) - x-immutable: true - dns_config: - description: | - DNS config only applies to PrivateLink network connection type. + ## The Transit Gateway Attachments Model - When resolution is CHASED_PRIVATE, clusters in this network require both public and private DNS - to resolve cluster endpoints. + - When resolution is PRIVATE, clusters in this network only require private DNS - to resolve cluster endpoints. - allOf: - - $ref: '#/components/schemas/networking.v1.DnsConfig' - x-immutable: true - reserved_cidr: - type: string - description: | - The reserved CIDR config is used only by AWS networks with connection_types = Vpc_Peering or Transit_Gateway - An IPv4 [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) - reserved for Confluent Cloud Network. Must be \24. - If not specified, Confluent Cloud Network uses 172.20.255.0/24 + ## Quotas and Limits - Note - The attribute is in a [Limited Availability lifecycle stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) - example: 172.20.255.0/24 - x-immutable: true - environment: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The environment to which this belongs. - gateway: - allOf: - - $ref: '#/components/schemas/TypedEnvScopedObjectReference' - nullable: true - description: The gateway associated with this object. The gateway can be one of networking.v1.Gateway. May be `null` or omitted if not associated with a gateway. - readOnly: true - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.NetworkStatus: - type: object - required: - - phase - - supported_connection_types - - active_connection_types - description: The status of the Network - properties: - phase: - type: string - x-extensible-enum: - - PROVISIONING - - READY - - FAILED - - DEPROVISIONING - description: | - The lifecyle phase of the network: + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - PROVISIONING: network provisioning is in progress; - READY: network is ready; + | Quota | Description | - FAILED: provisioning failed; + | --- | --- | - DEPROVISIONING: network deprovisioning is in progress; - readOnly: true - example: READY - supported_connection_types: - type: array - description: The connection types this network supports. - items: - $ref: '#/components/schemas/networking.v1.ConnectionType' - uniqueItems: true - minItems: 1 - readOnly: true - active_connection_types: - type: array - description: The connection types requested for use with the network. - items: - $ref: '#/components/schemas/networking.v1.ConnectionType' - uniqueItems: true - minItems: 1 - readOnly: true - error_code: - type: string - description: Error code if network is in a failed state. May be used for programmatic error checking. - readOnly: true - example: insufficient_capacity - error_message: - type: string - description: Displayable error message if network is in a failed state - readOnly: true - example: Could not provision cloud resources - dns_domain: - type: string - description: The root DNS domain for the network if applicable. Present on networks that support PrivateLink. - example: 00000.us-east-1.aws.glb.confluent.cloud - readOnly: true - zonal_subdomains: - type: object - additionalProperties: + | `tgw_attachments_per_network` | Number of TGW attachments + per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - TransitGatewayAttachment + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.TransitGatewayAttachmentSpec + status: + $ref: >- + #/components/schemas/networking.v1.TransitGatewayAttachmentStatus + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteNetworkingV1TransitGatewayAttachment + summary: Delete a Transit Gateway Attachment + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete a transit gateway attachment. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: type: string - description: | - The DNS subdomain for each zone. Present on networks that support PrivateLink. Keys are zones and - values are DNS domains. - example: - use1-az1: use1-az1.00000.us-east-1.aws.confluent.cloud - use1-az4: use1-az4.00000.us-east-1.aws.confluent.cloud - use1-az5: use1-az5.00000.us-east-1.aws.confluent.cloud - readOnly: true - cloud: - type: object - oneOf: - - $ref: '#/components/schemas/networking.v1.AwsNetwork' - - $ref: '#/components/schemas/networking.v1.GcpNetwork' - - $ref: '#/components/schemas/networking.v1.AzureNetwork' - description: The cloud-specific network details. These will be populated when the network reaches the READY state. - discriminator: - propertyName: kind - mapping: - AwsNetwork: '#/components/schemas/networking.v1.AwsNetwork' - GcpNetwork: '#/components/schemas/networking.v1.GcpNetwork' - AzureNetwork: '#/components/schemas/networking.v1.AzureNetwork' - readOnly: true - idle_since: - type: string - format: date-time - example: '2024-01-01T00:00:00Z' - description: The date and time when the network becomes idle - readOnly: true - readOnly: true - Error: - type: object - description: Describes a particular error encountered while performing an operation. - properties: - id: - description: A unique identifier for this particular occurrence of the problem. - type: string - maxLength: 255 - status: - description: 'The HTTP status code applicable to this problem, expressed as a string value.' - type: string - code: - description: 'An application-specific error code, expressed as a string value.' - type: string - title: - description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' - type: string - detail: - description: A human-readable explanation specific to this occurrence of the problem. - type: string - source: - type: object - description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' - properties: - pointer: - description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' - type: string - parameter: - description: A string indicating which query parameter caused the error. - type: string - error_code: - type: integer - format: int32 - message: - type: string - nullable: true - additionalProperties: false - ProduceRequestHeader: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - format: byte - nullable: true - ProduceRequestData: - type: object - properties: - type: - type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - data: - $ref: '#/components/schemas/AnyValue' - nullable: true - ConfigData: - example: - name: name - value: value - properties: - name: - type: string - value: - nullable: true - type: string - required: - - name - - value - BrokerReplicaExclusionRequestData: - type: object - required: - - broker_id - - reason - properties: - broker_id: - type: integer - reason: - type: string - networking.v1.ConnectionType: - type: string - description: Network connection type. - x-extensible-enum: - - PEERING - - TRANSITGATEWAY - - PRIVATELINK - example: PRIVATELINK - networking.v1.ZoneInfo: - type: object - description: Cloud provider zone metadata. - properties: - zone_id: - description: Cloud provider zone id - type: string - example: use1-az3 - cidr: - description: | - The IPv4 [CIDR block](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) to used for this network. - Must be a `/27`. Required for VPC peering and AWS TransitGateway. - type: string - example: 10.20.0.0/27 - networking.v1.DnsConfig: - type: object - description: The network DNS config - required: - - resolution - properties: - resolution: - type: string - description: Network DNS resolution type. - x-extensible-enum: - - CHASED_PRIVATE - - PRIVATE - ObjectReference: - type: object - description: ObjectReference provides information for you to locate the referred object - required: - - id - - related - - resource_name - properties: - id: - type: string - description: ID of the referred resource - minLength: 1 - maxLength: 255 - environment: - type: string - description: 'Environment of the referred resource, if env-scoped' - minLength: 1 - maxLength: 255 - related: - type: string - format: uri - description: API URL for accessing or modifying the referred object - minLength: 1 - readOnly: true - resource_name: - type: string - format: uri - description: CRN reference to the referred resource - minLength: 1 - readOnly: true - api_version: - type: string - description: API group and version of the referred resource - minLength: 1 - readOnly: true - kind: - type: string - description: Kind of the referred resource - minLength: 1 - readOnly: true - TypedEnvScopedObjectReference: - type: object - description: ObjectReference provides information for you to locate the referred object - required: - - id - - related - - resource_name - properties: - id: - type: string - description: ID of the referred resource - minLength: 1 - maxLength: 255 - environment: - type: string - description: 'Environment of the referred resource, if env-scoped' - minLength: 1 - maxLength: 255 - related: - type: string - format: uri - description: API URL for accessing or modifying the referred object - minLength: 1 - readOnly: true - resource_name: - type: string - format: uri - description: CRN reference to the referred resource - minLength: 1 - readOnly: true - api_version: - type: string - description: API group and version of the referred resource - minLength: 1 - readOnly: true - kind: - type: string - description: Kind of the referred resource - minLength: 1 - readOnly: true - networking.v1.AwsNetwork: - type: object - description: The AWS network details. - required: - - kind - - vpc - - account - properties: - kind: - description: Network kind type. - type: string - enum: - - AwsNetwork - vpc: - type: string - description: The Confluent Cloud VPC ID. - example: vpc-00000000000000000 - readOnly: true - account: - type: string - description: The AWS account ID associated with the Confluent Cloud VPC. - example: '000000000000' - readOnly: true - private_link_endpoint_service: - type: string - description: The endpoint service of the Confluent Cloud VPC. (used for PrivateLink) if available. - example: com.amazonaws.vpce.eu-west-3.vpce-00000000000000000 - readOnly: true - networking.v1.GcpNetwork: - type: object - description: The GCP network details. - required: - - kind - - project - - vpc_network - properties: - kind: - description: Network kind type. - type: string - enum: - - GcpNetwork - project: - type: string - description: The GCP Project ID associated with the Confluent Cloud VPC. - example: cc-prod-3 - readOnly: true - vpc_network: - type: string - description: The network name of the Confluent Cloud VPC. - example: prod-network - readOnly: true - private_service_connect_service_attachments: - type: object - description: | - The mapping of zones to Private Service Connect Service - Attachments if available. Keys are zones and values are - [GCP Private Service Connect Service - Attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7) - additionalProperties: - type: string - example: - us-central1-a: projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-a - us-central1-b: projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-b - us-central1-c: projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-c - readOnly: true - networking.v1.AzureNetwork: - type: object - description: The Azure network details. - required: - - kind - - vnet - - subscription - properties: - kind: - description: Network kind type. - type: string - enum: - - AzureNetwork - vnet: - type: string - description: The resource ID of the Confluent Cloud VNet. - example: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/prod-group/providers/Microsoft.Network/virtualNetworks/prod-network - readOnly: true - subscription: - type: string - description: The Azure Subscription ID associated with the Confluent Cloud VPC. - example: 00000000-0000-0000-0000-000000000000 - readOnly: true - private_link_service_aliases: - type: object - description: | - The mapping of zones to Private Link Service Aliases if available. Keys are zones - and values are [Azure Private Link Service - Aliases](https://docs.microsoft.com/en-us/azure/private-link/private-link-service-overview#share-your-service). - additionalProperties: - type: string - example: - '1': 0-00000-privatelink-1.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice - '2': 0-00000-privatelink-2.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice - '3': 0-00000-privatelink-3.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice - readOnly: true - private_link_service_resource_ids: - type: object - description: | - The mapping of zones to Private Link Service Resource IDs if available. Keys are zones - and values are [Azure Private Link Service Resource - IDs](https://docs.microsoft.com/en-us/azure/private-link/private-link-service-overview#share-your-service). - additionalProperties: - type: string - example: - '1': /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/0-00000/providers/Microsoft.Network/privateLinkServices/0-00000-privatelink-1 - '2': /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/0-00000/providers/Microsoft.Network/privateLinkServices/0-00000-privatelink-2 - '3': /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/0-00000/providers/Microsoft.Network/privateLinkServices/0-00000-privatelink-3 - readOnly: true - AnyValue: - nullable: true - networking.v1.NetworkUpdate: - type: object - description: |- - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. - - The API allows you to list, create, read, update, and delete your networks. - - - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - - ## The Networks Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Network - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/networks/n-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-12345' - spec: - $ref: '#/components/schemas/networking.v1.NetworkSpecUpdate' - status: - $ref: '#/components/schemas/networking.v1.NetworkStatus' - networking.v1.NetworkSpecUpdate: - type: object - description: The desired state of the Network - properties: - display_name: - type: string - description: The name of the network - example: prod-aws-us-east1 - environment: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The environment to which this belongs. - gateway: - allOf: - - $ref: '#/components/schemas/TypedEnvScopedObjectReference' - nullable: true - description: The gateway associated with this object. The gateway can be one of networking.v1.Gateway. May be `null` or omitted if not associated with a gateway. - readOnly: true - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.PeeringList: - type: object - description: |- - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - - - ## The Peerings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - PeeringList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/networking/v1/peerings' - last: - example: 'https://api.confluent.cloud/networking/v1/peerings?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/networking/v1/peerings?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/networking/v1/peerings?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/networking.v1.Peering' - - type: object - required: - - id - - metadata - - spec - - status - properties: - spec: - type: object - required: - - cloud - - environment - - network - uniqueItems: true - networking.v1.Peering: - type: object - description: |- - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - - - ## The Peerings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Peering - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/peerings/p-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/peering=p-12345' - spec: - $ref: '#/components/schemas/networking.v1.PeeringSpec' - status: - $ref: '#/components/schemas/networking.v1.PeeringStatus' - networking.v1.PeeringSpec: - type: object - description: The desired state of the Peering - properties: - display_name: - type: string - description: The name of the peering - example: prod-peering-use1 - cloud: - type: object - oneOf: - - $ref: '#/components/schemas/networking.v1.AwsPeering' - - $ref: '#/components/schemas/networking.v1.GcpPeering' - - $ref: '#/components/schemas/networking.v1.AzurePeering' - discriminator: - propertyName: kind - mapping: - AwsPeering: '#/components/schemas/networking.v1.AwsPeering' - GcpPeering: '#/components/schemas/networking.v1.GcpPeering' - AzurePeering: '#/components/schemas/networking.v1.AzurePeering' - description: The cloud-specific peering details. - x-immutable: true - environment: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The environment to which this belongs. - network: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The network to which this belongs. - x-immutable: true - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.PeeringStatus: - type: object - required: - - phase - description: The status of the Peering - properties: - phase: - type: string - x-extensible-enum: - - PROVISIONING - - PENDING_ACCEPT - - READY - - FAILED - - DEPROVISIONING - - DISCONNECTED - description: | - The lifecycle phase of the peering: - - PROVISIONING: peering provisioning is in progress; - - PENDING_ACCEPT: peering connection request is pending acceptance by the customer; - - READY: peering is ready; - - FAILED: peering is in a failed state; - - DEPROVISIONING: peering deprovisioning is in progress; - - DISCONNECTED: peering has been disconnected in the cloud provider by the customer; - readOnly: true - example: READY - error_code: - type: string - description: Error code if peering is in a failed state. May be used for programmatic error checking. - readOnly: true - error_message: - type: string - description: Displayable error message if peering is in a failed state - readOnly: true - readOnly: true - networking.v1.AwsPeering: - type: object - title: AWS - description: AWS VPC Peering. - required: - - kind - - account - - vpc - - routes - - customer_region - properties: - kind: - description: Peering kind type. - type: string - enum: - - AwsPeering - account: - type: string - pattern: '^\d{12}$' - example: '000000000000' - description: The AWS account ID associated with the VPC you are peering with Confluent Cloud network. - vpc: - type: string - minLength: 1 - description: The VPC ID you are peering with Confluent Cloud network. - example: vpc-00000000000000000 - routes: - type: array - items: - $ref: '#/components/schemas/networking.v1.Cidr' - description: | - The [CIDR blocks](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) of the VPC you are peering - with Confluent Cloud network. This is used by Confluent Cloud network to route traffic back to your network. - The CIDR block must be a private range and cannot overlap with the Confluent Cloud CIDR block. - example: - - 10.108.16.0/21 - customer_region: - type: string - description: The region of the VPC you are peering with Confluent Cloud network. - example: us-east-1 - networking.v1.GcpPeering: - type: object - title: GCP - description: GCP VPC Peering. - required: - - kind - - project - - vpc_network - properties: - kind: - description: Peering kind type. - type: string - enum: - - GcpPeering - example: GcpPeering - project: - type: string - minLength: 1 - description: | - The Google Cloud project ID associated with the VPC that you are peering with Confluent Cloud network. - example: my-gcp-project - vpc_network: - type: string - minLength: 1 - description: The name of the VPC that you are peering with Confluent Cloud network. - example: my-gcp-network - import_custom_routes: - type: boolean - description: | - Enable customer route import. For more information, see - [Importing custom routes](https://cloud.google.com/vpc/docs/vpc-peering#importing-exporting-routes). - example: true - default: false - networking.v1.AzurePeering: - type: object - title: AZURE - description: Azure VNet Peering. - required: - - kind - - tenant - - vnet - - customer_region - properties: - kind: - description: Peering kind type. - type: string - enum: - - AzurePeering - tenant: - type: string - minLength: 1 - description: | - The Azure Tenant ID in which your Azure Subscription exists. - Represents an organization in Azure Active Directory. You can find your Azure Tenant ID in the Azure Portal - under - [Azure Active Directory](https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview). - Must be a valid **32 character UUID string**. - vnet: - type: string - minLength: 1 - description: 'The resource ID of the VNet that you are peering with Confluent Cloud. You can find the name of your Azure VNet in the [Azure Portal on the Overview tab of your Azure Virtual Network](https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FvirtualNetworks).' - example: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Network/virtualNetworks/my-vnet - customer_region: - type: string - description: The region of the VNet you are peering with Confluent Cloud network. - example: eastus2 - networking.v1.Cidr: - type: string - pattern: ^\d+\.\d+\.\d+\.\d+/\d+$ - description: IPv4 CIDR block - example: 10.200.0.0/16 - networking.v1.PeeringUpdate: - type: object - description: |- - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - - - ## The Peerings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Peering - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/peerings/p-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/peering=p-12345' - spec: - $ref: '#/components/schemas/networking.v1.PeeringSpecUpdate' - status: - $ref: '#/components/schemas/networking.v1.PeeringStatus' - networking.v1.PeeringSpecUpdate: - type: object - description: The desired state of the Peering - properties: - display_name: - type: string - description: The name of the peering - example: prod-peering-use1 - environment: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The environment to which this belongs. - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.TransitGatewayAttachmentList: - type: object - description: |- - AWS Transit Gateway Attachments - - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - - ## The Transit Gateway Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - TransitGatewayAttachmentList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/networking/v1/transit-gateway-attachments' - last: - example: 'https://api.confluent.cloud/networking/v1/transit-gateway-attachments?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/networking/v1/transit-gateway-attachments?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/networking/v1/transit-gateway-attachments?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/networking.v1.TransitGatewayAttachment' - - type: object - required: - - id - - metadata - - spec - - status - properties: - spec: - type: object - required: - - cloud - - environment - - network - uniqueItems: true - networking.v1.TransitGatewayAttachment: - type: object - description: |- - AWS Transit Gateway Attachments - - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - - ## The Transit Gateway Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - TransitGatewayAttachment - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/transit-gateway-attachments/tga-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/transit-gateway-attachment=tga-12345' - spec: - $ref: '#/components/schemas/networking.v1.TransitGatewayAttachmentSpec' - status: - $ref: '#/components/schemas/networking.v1.TransitGatewayAttachmentStatus' - networking.v1.TransitGatewayAttachmentSpec: - type: object - description: The desired state of the Transit Gateway Attachment - properties: - display_name: - type: string - description: The name of the TGW attachment - example: prod-tgw-use1 - cloud: - type: object - oneOf: - - $ref: '#/components/schemas/networking.v1.AwsTransitGatewayAttachment' - discriminator: - propertyName: kind - mapping: - AwsTransitGatewayAttachment: '#/components/schemas/networking.v1.AwsTransitGatewayAttachment' - description: The cloud-specific Transit Gateway details. - x-immutable: true - environment: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The environment to which this belongs. - network: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The network to which this belongs. - x-immutable: true - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.TransitGatewayAttachmentStatus: - type: object - required: - - phase - description: The status of the Transit Gateway Attachment - properties: - phase: - type: string - x-extensible-enum: - - PROVISIONING - - READY - - PENDING_ACCEPT - - FAILED - - DEPROVISIONING - - DISCONNECTED - - ERROR - description: | - The lifecycle phase of the TGW attachment: - - PROVISIONING: attachment provisioning is in progress; - - PENDING_ACCEPT: attachment request is pending acceptance by the customer; - - READY: attachment is ready; - - FAILED: attachment is in a failed state; - - DEPROVISIONING: attachment deprovisioning is in progress; - - DISCONNECTED: attachment was manually deleted directly in the cloud provider by the customer; - - ERROR: invalid customer input during attachment creation. - readOnly: true - example: READY - error_code: - type: string - description: Error code if TGW attachment is in a failed state. May be used for programmatic error checking. - readOnly: true - error_message: - type: string - description: Displayable error message if TGW attachment is in a failed state - readOnly: true - cloud: - type: object - oneOf: - - $ref: '#/components/schemas/networking.v1.AwsTransitGatewayAttachmentStatus' - description: The cloud-specific TGW attachment details. - discriminator: - propertyName: kind - mapping: - AwsTransitGatewayAttachmentStatus: '#/components/schemas/networking.v1.AwsTransitGatewayAttachmentStatus' - readOnly: true - readOnly: true - networking.v1.AwsTransitGatewayAttachment: - type: object - title: AWS - description: AWS Transit Gateway Attachment. - required: - - kind - - ram_share_arn - - transit_gateway_id - - routes - properties: - kind: - description: AWS Transit Gateway Attachment kind type. - type: string - enum: - - AwsTransitGatewayAttachment - ram_share_arn: - description: The full AWS Resource Name (ARN) for the AWS Resource Access Manager (RAM) Share of the Transit Gateways that you want Confluent Cloud to be attached to. - type: string - example: 'arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx' - transit_gateway_id: - description: The ID of the AWS Transit Gateway that you want Confluent CLoud to be attached to. - type: string - example: tgw-xxxxxxxxxxxxxxxxx - routes: - type: array - items: - $ref: '#/components/schemas/networking.v1.Cidr' - description: List of destination routes. - example: - - 100.64.0.0/10 - - 10.0.0.0/8 - - 192.168.0.0/16 - - 172.16.0.0/12 - networking.v1.AwsTransitGatewayAttachmentStatus: - type: object - title: AWS - description: AWS Transit Gateway Attachment details generated by AWS. - required: - - transit_gateway_attachment_id - properties: - kind: - description: AWS Transit Gateway Attachment Status kind type. - type: string - enum: - - AwsTransitGatewayAttachmentStatus - transit_gateway_attachment_id: - description: The ID of the AWS Transit Gateway VPC Attachment that attaches Confluent VPC to Transit Gateway. - type: string - example: tgw-attach-xxxxx - readOnly: true - networking.v1.TransitGatewayAttachmentUpdate: - type: object - description: |- - AWS Transit Gateway Attachments - - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - - ## The Transit Gateway Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - TransitGatewayAttachment - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/transit-gateway-attachments/tga-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/transit-gateway-attachment=tga-12345' - spec: - $ref: '#/components/schemas/networking.v1.TransitGatewayAttachmentSpecUpdate' - status: - $ref: '#/components/schemas/networking.v1.TransitGatewayAttachmentStatus' - networking.v1.TransitGatewayAttachmentSpecUpdate: - type: object - description: The desired state of the Transit Gateway Attachment - properties: - display_name: - type: string - description: The name of the TGW attachment - example: prod-tgw-use1 - environment: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The environment to which this belongs. - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.PrivateLinkAccessList: - type: object - description: |- - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. - - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). - - - ## The Private Link Accesses Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - PrivateLinkAccessList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/networking/v1/private-link-accesses' - last: - example: 'https://api.confluent.cloud/networking/v1/private-link-accesses?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/networking/v1/private-link-accesses?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/networking/v1/private-link-accesses?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAccess' - - type: object - required: - - id - - metadata - - spec - - status - properties: - spec: - type: object - required: - - cloud - - environment - - network - uniqueItems: true - networking.v1.PrivateLinkAccess: - type: object - description: |- - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. - - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). - - - ## The Private Link Accesses Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - PrivateLinkAccess - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/private-link-accesses/pla-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/private-link-access=pla-12345' - spec: - $ref: '#/components/schemas/networking.v1.PrivateLinkAccessSpec' - status: - $ref: '#/components/schemas/networking.v1.PrivateLinkAccessStatus' - networking.v1.PrivateLinkAccessSpec: - type: object - description: The desired state of the Private Link Access - properties: - display_name: - type: string - description: The name of the PrivateLink access - example: prod-pl-use1 - cloud: - type: object - oneOf: - - $ref: '#/components/schemas/networking.v1.AwsPrivateLinkAccess' - - $ref: '#/components/schemas/networking.v1.AzurePrivateLinkAccess' - - $ref: '#/components/schemas/networking.v1.GcpPrivateServiceConnectAccess' - discriminator: - propertyName: kind - mapping: - AwsPrivateLinkAccess: '#/components/schemas/networking.v1.AwsPrivateLinkAccess' - AzurePrivateLinkAccess: '#/components/schemas/networking.v1.AzurePrivateLinkAccess' - GcpPrivateServiceConnectAccess: '#/components/schemas/networking.v1.GcpPrivateServiceConnectAccess' - description: The cloud-specific PrivateLink details. - x-immutable: true - environment: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The environment to which this belongs. - network: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The network to which this belongs. - x-immutable: true - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.PrivateLinkAccessStatus: - type: object - required: - - phase - description: The status of the Private Link Access - properties: - phase: - type: string - x-extensible-enum: - - PROVISIONING - - READY - - FAILED - - DEPROVISIONING - description: | - The lifecycle phase of the PrivateLink access configuration: - - PROVISIONING: PrivateLink access provisioning is in progress; - - READY: PrivateLink access is ready; - - FAILED: PrivateLink access is in a failed state; - - DEPROVISIONING: PrivateLink access deprovisioning is in progress; - readOnly: true - example: READY - error_code: - type: string - description: Error code if PrivateLink access is in a failed state. May be used for programmatic error checking. - readOnly: true - error_message: - type: string - description: Displayable error message if PrivateLink access is in a failed state - readOnly: true - readOnly: true - networking.v1.AwsPrivateLinkAccess: - type: object - title: AWS - description: AWS PrivateLink access configuration. - required: - - kind - - account - properties: - kind: - description: PrivateLink kind type. - type: string - enum: - - AwsPrivateLinkAccess - account: - type: string - pattern: '^\d{12}$' - example: '000000000000' - description: | - The AWS account ID for the account containing the VPCs you want to connect from using AWS PrivateLink. - You can find your AWS account ID [here](https://console.aws.amazon.com/billing/home?#/account) - under **My Account** in your AWS Management Console. Must be a **12 character string**. - networking.v1.AzurePrivateLinkAccess: - type: object - title: AZURE - description: Azure PrivateLink access configuration. - required: - - kind - - subscription - properties: - kind: - description: PrivateLink kind type. - type: string - enum: - - AzurePrivateLinkAccess - subscription: - type: string - minLength: 1 - description: | - The Azure subscription ID for the account containing the VNets you want to connect from using - Azure Private Link. You can find your Azure subscription ID in the subscription section of your - [Microsoft Azure Portal](https://portal.azure.com/#blade/Microsoft_Azure_Billing/SubscriptionsBlade). - Must be a valid **32 character UUID string**. - networking.v1.GcpPrivateServiceConnectAccess: - type: object - title: GCP - description: GCP Private Service Connect access configuration. - required: - - kind - - project - properties: - kind: - description: PrivateLink kind type. - type: string - enum: - - GcpPrivateServiceConnectAccess - project: - type: string - minLength: 1 - description: | - The GCP project ID for the account containing the VPCs that you want to connect from - using Private Service Connect. You can find your Google Cloud Project ID under **Project ID** section of - your [Google Cloud Console dashboard](https://console.cloud.google.com/home/dashboard). - networking.v1.PrivateLinkAccessUpdate: - type: object - description: |- - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. - - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). - - - ## The Private Link Accesses Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - PrivateLinkAccess - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/private-link-accesses/pla-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/private-link-access=pla-12345' - spec: - $ref: '#/components/schemas/networking.v1.PrivateLinkAccessSpecUpdate' - status: - $ref: '#/components/schemas/networking.v1.PrivateLinkAccessStatus' - networking.v1.PrivateLinkAccessSpecUpdate: - type: object - description: The desired state of the Private Link Access - properties: - display_name: - type: string - description: The name of the PrivateLink access - example: prod-pl-use1 - environment: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The environment to which this belongs. - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.NetworkLinkServiceList: - type: object - description: |- - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Services Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - NetworkLinkServiceList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/networking/v1/network-link-services' - last: - example: 'https://api.confluent.cloud/networking/v1/network-link-services?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/networking/v1/network-link-services?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/networking/v1/network-link-services?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/networking.v1.NetworkLinkService' - - type: object - required: - - id - - metadata - - spec - - status - properties: - spec: - type: object - required: - - environment - - network - uniqueItems: true - networking.v1.NetworkLinkService: - type: object - description: |- - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Services Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - NetworkLinkService - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/network-link-services/nls-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/network-link-service=nls-12345' - spec: - $ref: '#/components/schemas/networking.v1.NetworkLinkServiceSpec' - status: - $ref: '#/components/schemas/networking.v1.NetworkLinkServiceStatus' - networking.v1.NetworkLinkServiceSpec: - type: object - description: The desired state of the Network Link Service - properties: - display_name: - type: string - description: The name of the network link service - example: prod-net-1-nls - description: - type: string - description: The description of the network link service - example: Allow connections from analytics hub - accept: - description: Network Link Service Accept policy - allOf: - - $ref: '#/components/schemas/networking.v1.NetworkLinkServiceAcceptPolicy' - environment: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' - description: The environment to which this belongs. - network: - allOf: - - $ref: '#/components/schemas/EnvScopedObjectReference' - description: The network to which this belongs. - x-immutable: true - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.NetworkLinkServiceStatus: - type: object - required: - - phase - description: The status of the Network Link Service - properties: - phase: - type: string - x-extensible-enum: - - READY - description: | - The lifecycle phase of the network link service: - - READY: network link service is ready; - readOnly: true - example: READY - error_code: - type: string - description: | - Error code if network link service is in a failed state. - May be used for programmatic error checking. - readOnly: true - error_message: - type: string - description: Displayable error message if network link service is in a failed state - readOnly: true - readOnly: true - networking.v1.NetworkLinkServiceAcceptPolicy: - type: object - title: Network Link Service - description: | - List of environments/networks from which connections can be accepted on this network link service. - properties: - environments: - description: | - List of environments from which connections can be accepted. - All networks win the list of environment will be allowed. - type: array - items: - type: string - uniqueItems: true - networks: - description: | - List of networks from which connections can be accepted. - type: array - items: - type: string - uniqueItems: true - GlobalObjectReference: - type: object - description: ObjectReference provides information for you to locate the referred object - required: - - id - - related - - resource_name - properties: - id: - type: string - description: ID of the referred resource - minLength: 1 - maxLength: 255 - related: - type: string - format: uri - description: API URL for accessing or modifying the referred object - minLength: 1 - readOnly: true - resource_name: - type: string - format: uri - description: CRN reference to the referred resource - minLength: 1 - readOnly: true - EnvScopedObjectReference: - type: object - description: ObjectReference provides information for you to locate the referred object - required: - - id - - related - - resource_name - properties: - id: - type: string - description: ID of the referred resource - minLength: 1 - maxLength: 255 - environment: - type: string - description: 'Environment of the referred resource, if env-scoped' - minLength: 1 - maxLength: 255 - related: - type: string - format: uri - description: API URL for accessing or modifying the referred object - minLength: 1 - readOnly: true - resource_name: - type: string - format: uri - description: CRN reference to the referred resource - minLength: 1 - readOnly: true - networking.v1.NetworkLinkServiceUpdate: - type: object - description: |- - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Services Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - NetworkLinkService - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/network-link-services/nls-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/network-link-service=nls-12345' - spec: - $ref: '#/components/schemas/networking.v1.NetworkLinkServiceSpecUpdate' - status: - $ref: '#/components/schemas/networking.v1.NetworkLinkServiceStatus' - networking.v1.NetworkLinkServiceSpecUpdate: - type: object - description: The desired state of the Network Link Service - properties: - display_name: - type: string - description: The name of the network link service - example: prod-net-1-nls - description: - type: string - description: The description of the network link service - example: Allow connections from analytics hub - accept: - description: Network Link Service Accept policy - allOf: - - $ref: '#/components/schemas/networking.v1.NetworkLinkServiceAcceptPolicy' - environment: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' - description: The environment to which this belongs. - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.NetworkLinkEndpointList: - type: object - description: |- - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Endpoints Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - NetworkLinkEndpointList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/networking/v1/network-link-endpoints' - last: - example: 'https://api.confluent.cloud/networking/v1/network-link-endpoints?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/networking/v1/network-link-endpoints?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/networking/v1/network-link-endpoints?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/networking.v1.NetworkLinkEndpoint' - - type: object - required: - - id - - metadata - - spec - - status - properties: - spec: - type: object - required: - - environment - - network - - network_link_service - uniqueItems: true - networking.v1.NetworkLinkEndpoint: - type: object - description: |- - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Endpoints Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - NetworkLinkEndpoint - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/network-link-endpoints/nle-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/network-link-endpoint=nle-12345' - spec: - $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointSpec' - status: - $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointStatus' - networking.v1.NetworkLinkEndpointSpec: - type: object - description: The desired state of the Network Link Endpoint - properties: - display_name: - type: string - description: The name of the network link endpoint - example: prod-net-1-nle - description: - type: string - description: The description of the network link endpoint - example: Connect to Network - analytics hub - environment: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' - description: The environment to which this belongs. - network: - allOf: - - $ref: '#/components/schemas/EnvScopedObjectReference' - description: The network to which this belongs. - x-immutable: true - network_link_service: - allOf: - - $ref: '#/components/schemas/EnvScopedObjectReference' - description: The network_link_service to which this belongs. - x-immutable: true - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.NetworkLinkEndpointStatus: - type: object - required: - - phase - description: The status of the Network Link Endpoint - properties: - phase: - type: string - x-extensible-enum: - - PROVISIONING - - PENDING_ACCEPT - - READY - - FAILED - - DEPROVISIONING - - EXPIRED - - DISCONNECTED - - DISCONNECTING - - INACTIVE - description: | - The lifecycle phase of the network link endpoint: - - PROVISIONING: network link endpoint provisioning is in progress; - - PENDING_ACCEPT: network link endpoint request is pending acceptance by the the owner of the target; - - READY: network link endpoint is ready; - - FAILED: network link endpoint is in a failed state; - - DEPROVISIONING: network link endpoint deprovisioning is in progress; - - EXPIRED: network link endpoint request is expired, can only be deleted; - - DISCONNECTED: network link endpoint is in a disconnected state, target owner has removed the permissions; - - DISCONNECTING: network link endpoint disconnection is in progress; - - INACTIVE: network link endpoint is created, but not active since there are no clusters in the network; - readOnly: true - example: READY - error_code: - type: string - description: Error code if network link is in a failed state. May be used for programmatic error checking. - readOnly: true - error_message: - type: string - description: Displayable error message if network link is in a failed state - readOnly: true - expires_at: - type: string - format: date-time - example: '2024-01-01T00:00:00Z' - description: The date and time when the request expires if it is not accepted by the target network admin. - readOnly: true - readOnly: true - networking.v1.NetworkLinkEndpointUpdate: - type: object - description: |- - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Endpoints Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - NetworkLinkEndpoint - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/network-link-endpoints/nle-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/network-link-endpoint=nle-12345' - spec: - $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointSpecUpdate' - status: - $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointStatus' - networking.v1.NetworkLinkEndpointSpecUpdate: - type: object - description: The desired state of the Network Link Endpoint - properties: - display_name: - type: string - description: The name of the network link endpoint - example: prod-net-1-nle - description: - type: string - description: The description of the network link endpoint - example: Connect to Network - analytics hub - environment: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' - description: The environment to which this belongs. - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.NetworkLinkServiceAssociationList: - type: object - description: |- - List of incoming Network Link Enpoints associated with the Network Link Service. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Service Associations Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - NetworkLinkServiceAssociationList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/networking/v1/network-link-service-associations' - last: - example: 'https://api.confluent.cloud/networking/v1/network-link-service-associations?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/networking/v1/network-link-service-associations?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/networking/v1/network-link-service-associations?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/networking.v1.NetworkLinkServiceAssociation' - - type: object - required: - - id - - metadata - - spec - - status - properties: - spec: - type: object - required: - - display_name - - network_link_endpoint - - network_link_service - - environment - uniqueItems: true - networking.v1.NetworkLinkServiceAssociation: - type: object - description: |- - List of incoming Network Link Enpoints associated with the Network Link Service. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Service Associations Model - - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - NetworkLinkServiceAssociation - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/network-link-service-associations/nlsa-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/network-link-service=nls-12345/network-link-endpoint=nle-12345' - spec: - $ref: '#/components/schemas/networking.v1.NetworkLinkServiceAssociationSpec' - status: - $ref: '#/components/schemas/networking.v1.NetworkLinkServiceAssociationStatus' - networking.v1.NetworkLinkServiceAssociationSpec: - type: object - description: The desired state of the Network Link Service Association - properties: - display_name: - type: string - description: The name of the network link endpoint - readOnly: true - example: prod-net-1-nle - description: - type: string - description: The description of the network link endpoint - readOnly: true - example: Connect to Network - analytics hub - network_link_endpoint: - type: string - description: ID of the Network link endpoint. - readOnly: true - example: prod-net-1-nle - network_link_service: - allOf: - - $ref: '#/components/schemas/EnvScopedObjectReference' - description: The network_link_service to which this belongs. - x-immutable: true - environment: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' - description: The environment to which this belongs. - x-immutable: true - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.NetworkLinkServiceAssociationStatus: - type: object - required: - - phase - description: The status of the Network Link Service Association - properties: - phase: - type: string - x-extensible-enum: - - PROVISIONING - - PENDING_ACCEPT - - READY - - FAILED - - DEPROVISIONING - - EXPIRED - - DISCONNECTED - - DISCONNECTING - - INACTIVE - description: | - The lifecycle phase of the network link endpoint: - - PROVISIONING: network link endpoint provisioning is in progress; - - PENDING_ACCEPT: network link endpoint request is pending acceptance by the the owner of the target; - - READY: network link endpoint is ready; - - FAILED: network link endpoint is in a failed state; - - DEPROVISIONING: network link endpoint deprovisioning is in progress; - - EXPIRED: network link endpoint request is expired, can only be deleted; - - DISCONNECTED: network link endpoint is in a disconnected state, target owner has removed the permissions; - - DISCONNECTING: network link endpoint disconnection is in progress; - - INACTIVE: network link endpoint is created, but not active since there are no clusters in the network; - example: READY - readOnly: true - error_code: - type: string - description: Error code if network link is in a failed state. May be used for programmatic error checking. - readOnly: true - error_message: - type: string - description: Displayable error message if network link is in a failed state - readOnly: true - expires_at: - type: string - format: date-time - example: '2024-01-01T00:00:00Z' - description: The date and time when the request expires if it is not accepted by the target network admin. - readOnly: true - readOnly: true - networking.v1.GatewayList: - type: object - description: |- - A gateway is a resource that defines network access to Confluent cloud resources. - - - ## The Gateways Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - GatewayList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/networking/v1/gateways' - last: - example: 'https://api.confluent.cloud/networking/v1/gateways?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/networking/v1/gateways?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/networking/v1/gateways?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/networking.v1.Gateway' - - type: object - required: - - id - - metadata - - spec - - status - properties: - spec: - type: object - required: - - config - - environment - uniqueItems: true - networking.v1.Gateway: - type: object - description: |- - A gateway is a resource that defines network access to Confluent cloud resources. - - - ## The Gateways Model - - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Gateway - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/gateways/g-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=g-12345' - spec: - $ref: '#/components/schemas/networking.v1.GatewaySpec' - status: - $ref: '#/components/schemas/networking.v1.GatewayStatus' - networking.v1.GatewaySpec: - type: object - description: The desired state of the Gateway - properties: - display_name: - type: string - description: The name of the gateway - example: prod-gateway - config: - type: object - description: Gateway type specific configuration - oneOf: - - $ref: '#/components/schemas/networking.v1.AwsPeeringGatewaySpec' - - $ref: '#/components/schemas/networking.v1.AwsEgressPrivateLinkGatewaySpec' - - $ref: '#/components/schemas/networking.v1.AzurePeeringGatewaySpec' - - $ref: '#/components/schemas/networking.v1.AzureEgressPrivateLinkGatewaySpec' - discriminator: - propertyName: kind - mapping: - AwsPeeringGatewaySpec: '#/components/schemas/networking.v1.AwsPeeringGatewaySpec' - AwsEgressPrivateLinkGatewaySpec: '#/components/schemas/networking.v1.AwsEgressPrivateLinkGatewaySpec' - AzurePeeringGatewaySpec: '#/components/schemas/networking.v1.AzurePeeringGatewaySpec' - AzureEgressPrivateLinkGatewaySpec: '#/components/schemas/networking.v1.AzureEgressPrivateLinkGatewaySpec' - environment: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The environment to which this belongs. - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.GatewayStatus: - type: object - required: - - phase - description: The status of the Gateway - properties: - phase: - type: string - x-extensible-enum: - - PROVISIONING - - READY - - FAILED - - DEPROVISIONING - description: | - The lifecycle phase of the gateway: - - PROVISIONING: gateway provisioning is in progress; - - READY: gateway is ready; - - FAILED: gateway is in a failed state; - - DEPROVISIONING: gateway deprovisioning is in progress; - readOnly: true - example: READY - error_code: - type: string - description: Error code if gateway is in a failed state. May be used for programmatic error checking. - readOnly: true - error_message: - type: string - description: Displayable error message if gateway is in a failed state - readOnly: true - cloud_gateway: - type: object - description: Gateway type specific status - oneOf: - - $ref: '#/components/schemas/networking.v1.AwsEgressPrivateLinkGatewayStatus' - - $ref: '#/components/schemas/networking.v1.AzureEgressPrivateLinkGatewayStatus' - readOnly: true - discriminator: - propertyName: kind - mapping: - AwsEgressPrivateLinkGatewayStatus: '#/components/schemas/networking.v1.AwsEgressPrivateLinkGatewayStatus' - AzureEgressPrivateLinkGatewayStatus: '#/components/schemas/networking.v1.AzureEgressPrivateLinkGatewayStatus' - readOnly: true - networking.v1.AwsPeeringGatewaySpec: - type: object - description: AWS Peering Gateway details from AWS. - required: - - kind - - region - properties: - kind: - description: AWS Peering Gateway Spec kind type. - type: string - enum: - - AwsPeeringGatewaySpec - region: - type: string - description: AWS region of the Peering Gateway. - networking.v1.AwsEgressPrivateLinkGatewaySpec: - type: object - description: AWS Egress Private Link Gateway details from AWS. - required: - - kind - - region - properties: - kind: - description: AWS Egress Private Link Gateway Spec kind type. - type: string - enum: - - AwsEgressPrivateLinkGatewaySpec - region: - type: string - description: AWS region of the Egress Private Link Gateway. - networking.v1.AzurePeeringGatewaySpec: - type: object - description: Azure Peering Gateway details from Azure. - required: - - kind - - region - properties: - kind: - description: Azure Peering Gateway Spec kind type. - type: string - enum: - - AzurePeeringGatewaySpec - region: - type: string - description: Azure region of the Peering Gateway. - networking.v1.AzureEgressPrivateLinkGatewaySpec: - type: object - description: Azure Egress Private Link Gateway details from Azure. - required: - - kind - - region - properties: - kind: - description: Azure Egress Private Link Gateway Spec kind type. - type: string - enum: - - AzureEgressPrivateLinkGatewaySpec - region: - type: string - description: Azure region of the Egress Private Link Gateway. - networking.v1.AwsEgressPrivateLinkGatewayStatus: - type: object - required: - - kind - description: AWS Egress Private Link Gateway details from AWS. - properties: - kind: - description: AWS Egress Private Link Gateway Status kind type. - type: string - enum: - - AwsEgressPrivateLinkGatewayStatus - principal_arn: - description: The principal ARN used by the AWS Egress Private Link Gateway. - type: string - example: 'arn:aws:iam::123456789012:cc-tenant-1-role' - readOnly: true - networking.v1.AzureEgressPrivateLinkGatewayStatus: - type: object - required: - - kind - description: Azure Egress Private Link Gateway details from Azure. - properties: - kind: - description: Azure Egress Private Link Gateway Status kind type. - type: string - enum: - - AzureEgressPrivateLinkGatewayStatus - subscription: - type: string - description: The Azure Subscription ID associated with the Confluent Cloud VPC. - example: 00000000-0000-0000-0000-000000000000 - readOnly: true - networking.v1.IpAddressList: - type: object - description: |- - IP Addresses - - Related guide: [Use Public Egress IP Addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) - - ## The IP Addresses Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - IpAddressList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/networking/v1/ip-addresses' - last: - example: 'https://api.confluent.cloud/networking/v1/ip-addresses?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/networking/v1/ip-addresses?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/networking/v1/ip-addresses?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/networking.v1.IpAddress' - - type: object - uniqueItems: true - networking.v1.IpAddress: - type: object - description: |- - IP Addresses - - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) - - ## The IP Addresses Model - - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - IpAddress - ip_prefix: - type: string - pattern: ^\d+\.\d+\.\d+\.\d+/\d+$ - description: The IP Address range. - example: 10.200.0.0/28 - cloud: - type: string - description: The cloud service provider in which the address exists. - x-extensible-enum: - - AWS - - GCP - - AZURE - - ANY - example: AWS - region: - type: string - description: The region/location where the IP Address is in use. - example: us-east-1 - services: - type: array - description: The service types that will use the address. - items: - type: string - description: Address service type. - x-extensible-enum: - - KAFKA - - CONNECT - - EXTERNAL_OAUTH - example: CONNECT - uniqueItems: true - minItems: 1 - address_type: - type: string - description: Whether the address is used for egress or ingress. - x-extensible-enum: - - INGRESS - - EGRESS - example: EGRESS - networking.v1.PrivateLinkAttachmentList: - type: object - description: |- - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. - - - ## The Private Link Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - PrivateLinkAttachmentList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/networking/v1/private-link-attachments' - last: - example: 'https://api.confluent.cloud/networking/v1/private-link-attachments?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/networking/v1/private-link-attachments?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/networking/v1/private-link-attachments?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachment' - - type: object - required: - - id - - metadata - - spec - - status - properties: - spec: - type: object - required: - - cloud - - region - - environment - uniqueItems: true - networking.v1.PrivateLinkAttachment: - type: object - description: |- - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. - - - ## The Private Link Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - PrivateLinkAttachment - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/private-link-attachments/platt-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/private-link-attachment=platt-12345' - spec: - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentSpec' - status: - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentStatus' - networking.v1.PrivateLinkAttachmentSpec: - type: object - description: The desired state of the Private Link Attachment - properties: - display_name: - type: string - description: The name of the PrivateLink attachment. - example: prod-aws-us-east1 - cloud: - type: string - description: | - The cloud service provider that hosts the resources to access with the PrivateLink attachment. - x-extensible-enum: - - AWS - - GCP - - AZURE - example: AWS - x-immutable: true - region: - type: string - description: | - The cloud service provider region where the resources to be accessed - using the PrivateLink attachment are located. - example: us-east-1 - x-immutable: true - environment: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The environment to which this belongs. - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.PrivateLinkAttachmentStatus: - type: object - required: - - phase - description: The status of the Private Link Attachment - properties: - phase: - type: string - x-extensible-enum: - - PROVISIONING - - WAITING_FOR_CONNECTIONS - - READY - - FAILED - - EXPIRED - - DEPROVISIONING - description: | - The lifecycle phase of the PrivateLink attachment: - - PROVISIONING: PrivateLink attachment provisioning is in progress; - - WAITING_FOR_CONNECTIONS: PrivateLink attachment is waiting for connections; - - READY: PrivateLink attachment is ready; - - FAILED: PrivateLink attachment is in a failed state; - - EXPIRED: PrivateLink attachment has timed out waiting for connections, can only be deleted; - - DEPROVISIONING: PrivateLink attachment deprovisioning is in progress; - readOnly: true - example: READY - error_code: - type: string - description: Error code if PrivateLink attachment is in a failed state. May be used for programmatic error checking. - readOnly: true - error_message: - type: string - description: Displayable error message if PrivateLink attachment is in a failed state. - readOnly: true - dns_domain: - type: string - description: The root DNS domain for the PrivateLink attachment. - example: us-east-1.aws.private.confluent.cloud - readOnly: true - cloud: - type: object - description: The cloud specific status of the PrivateLink attachment. These will be populated when the PrivateLink attachment reaches the WAITING_FOR_CONNECTIONS state. - oneOf: - - $ref: '#/components/schemas/networking.v1.AwsPrivateLinkAttachmentStatus' - - $ref: '#/components/schemas/networking.v1.AzurePrivateLinkAttachmentStatus' - - $ref: '#/components/schemas/networking.v1.GcpPrivateLinkAttachmentStatus' - discriminator: - propertyName: kind - mapping: - AwsPrivateLinkAttachmentStatus: '#/components/schemas/networking.v1.AwsPrivateLinkAttachmentStatus' - AzurePrivateLinkAttachmentStatus: '#/components/schemas/networking.v1.AzurePrivateLinkAttachmentStatus' - GcpPrivateLinkAttachmentStatus: '#/components/schemas/networking.v1.GcpPrivateLinkAttachmentStatus' - readOnly: true - readOnly: true - networking.v1.AwsPrivateLinkAttachmentStatus: - description: | - AWS PrivateLink attachment represents reserved capacity in an - AWS VPC Endpoint Service that can be used to establish PrivateLink - connections. - type: object - required: - - kind - - vpc_endpoint_service - properties: - kind: - type: string - description: PrivateLinkAttachmentStatus kind. - enum: - - AwsPrivateLinkAttachmentStatus - readOnly: true - vpc_endpoint_service: - description: | - AWS VPC Endpoint Service that can be used to establish connections for all zones. - type: object - readOnly: true - allOf: - - $ref: '#/components/schemas/networking.v1.AwsVpcEndpointService' - networking.v1.AzurePrivateLinkAttachmentStatus: - type: object - description: | - Azure PrivateLink attachment represents reserved capacity in a - PrivateLink service that can be used to establish PrivateLink - required: - - kind - - private_link_service - properties: - kind: - type: string - description: PrivateLinkAttachmentStatus kind. - enum: - - AzurePrivateLinkAttachmentStatus - readOnly: true - private_link_service: - description: | - Azure PrivateLink service that can be used to connect to a PrivateEndpoint. - type: object - readOnly: true - allOf: - - $ref: '#/components/schemas/networking.v1.AzurePrivateLinkService' - networking.v1.GcpPrivateLinkAttachmentStatus: - type: object - description: | - GCP PrivateLink attachment represents reserved capacity in zonal - GCP PSC Service attachments. A PSC Endpoint can be connected to - the Service attachment corresponding to each zone. - required: - - kind - - service_attachments - properties: - kind: - type: string - description: PrivateLinkAttachmentStatus kind. - enum: - - GcpPrivateLinkAttachmentStatus - readOnly: true - service_attachments: - description: | - Array of GCP PSC Service attachments that can be used to connect - PSC Endpoints for each zone. - type: array - readOnly: true - items: - $ref: '#/components/schemas/networking.v1.GcpPscServiceAttachment' - networking.v1.AwsVpcEndpointService: - description: | - AWS VPC Endpoint service that can be used to create VPC Endpoints. - type: object - required: - - vpc_endpoint_service_name - properties: - vpc_endpoint_service_name: - type: string - description: Id of the VPC Endpoint service. - readOnly: true - networking.v1.AzurePrivateLinkService: - type: object - description: | - Azure Private Link Service with reserved capacity to connect a Private Endpoint. - required: - - private_link_service_alias - - private_link_service_resource_id - properties: - private_link_service_alias: - description: Azure PrivateLink service alias. - type: string - minLength: 1 - readOnly: true - example: pls-plt-abcdef-az3.38748da8-3322-42f7-b97a-6448c21af653.centralus.azure.privatelinkservice - private_link_service_resource_id: - description: Azure PrivateLink service resource id. - type: string - minLength: 1 - readOnly: true - example: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/s-abcde/providers/Microsoft.Network/privateLinkServices/pls-plt-abcdef - networking.v1.GcpPscServiceAttachment: - type: object - description: | - GCP PSC Service attachment for a zone with reserved capacity to - connect a PSC Endpoint. - required: - - zone - - private_service_connect_service_attachment - properties: - zone: - description: Zone associated with the PSC Service attachment. - type: string - minLength: 1 - readOnly: true - example: us-central1-a - private_service_connect_service_attachment: - description: Id of a Private Service Connect Service Attachment in Confluent Cloud. - type: string - minLength: 1 - readOnly: true - example: projects/example-project/regions/us-central1/serviceAttachments/plt-abcdef-service-attachment-us-central1-a - networking.v1.PrivateLinkAttachmentUpdate: - type: object - description: |- - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. - - - ## The Private Link Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - PrivateLinkAttachment - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/private-link-attachments/platt-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/private-link-attachment=platt-12345' - spec: - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentSpecUpdate' - status: - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentStatus' - networking.v1.PrivateLinkAttachmentSpecUpdate: - type: object - description: The desired state of the Private Link Attachment - properties: - display_name: - type: string - description: The name of the PrivateLink attachment. - example: prod-aws-us-east1 - environment: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The environment to which this belongs. - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.PrivateLinkAttachmentConnectionList: - type: object - description: |- - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. - - - ## The Private Link Attachment Connections Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - PrivateLinkAttachmentConnectionList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/networking/v1/private-link-attachment-connections' - last: - example: 'https://api.confluent.cloud/networking/v1/private-link-attachment-connections?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/networking/v1/private-link-attachment-connections?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/networking/v1/private-link-attachment-connections?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentConnection' - - type: object - required: - - id - - metadata - - spec - - status - properties: - spec: - type: object - required: - - cloud - - environment - - private_link_attachment - uniqueItems: true - networking.v1.PrivateLinkAttachmentConnection: - type: object - description: |- - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. - - - ## The Private Link Attachment Connections Model - - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - PrivateLinkAttachmentConnection - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/private-link-attachment-connections/plattc-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/private-link-attachment-connection=plattc-12345' - spec: - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentConnectionSpec' - status: - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentConnectionStatus' - networking.v1.PrivateLinkAttachmentConnectionSpec: - type: object - description: The desired state of the Private Link Attachment Connection - properties: - display_name: - type: string - description: The name of the PrivateLink attachment connection. - example: prod-gcp-us-central1-a - cloud: - type: object - description: The cloud-specific PrivateLink attachment connection details. - oneOf: - - $ref: '#/components/schemas/networking.v1.AwsPrivateLinkAttachmentConnection' - - $ref: '#/components/schemas/networking.v1.AzurePrivateLinkAttachmentConnection' - - $ref: '#/components/schemas/networking.v1.GcpPrivateLinkAttachmentConnection' - discriminator: - propertyName: kind - mapping: - AwsPrivateLinkAttachmentConnection: '#/components/schemas/networking.v1.AwsPrivateLinkAttachmentConnection' - AzurePrivateLinkAttachmentConnection: '#/components/schemas/networking.v1.AzurePrivateLinkAttachmentConnection' - GcpPrivateLinkAttachmentConnection: '#/components/schemas/networking.v1.GcpPrivateLinkAttachmentConnection' - x-immutable: true - environment: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The environment to which this belongs. - private_link_attachment: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The private_link_attachment to which this belongs. - x-immutable: true - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.PrivateLinkAttachmentConnectionStatus: - type: object - required: - - phase - description: The status of the Private Link Attachment Connection - properties: - phase: - type: string - x-extensible-enum: - - PROVISIONING - - READY - - FAILED - - DEPROVISIONING - - DISCONNECTED - description: | - The lifecycle phase of the PrivateLink attachment: - - PROVISIONING: PrivateLink attachment connection provisioning is in progress; - - READY: PrivateLink attachment connection is ready; - - FAILED: PrivateLink attachment connection is in a failed state; - - DEPROVISIONING: PrivateLink attachment connection deprovisioning is in progress; - - DISCONNECTED:| - PrivateLink attachment connection is in a disconnected state. This means the - private endpoint associated with this PrivateLink attachment connection has been deleted; - readOnly: true - example: READY - error_code: - type: string - description: Error code if PrivateLink attachment connection is in a failed state. May be used for programmatic error checking. - readOnly: true - error_message: - type: string - description: Displayable error message if PrivateLink attachment connection is in a failed state. - readOnly: true - cloud: - type: object - description: The cloud specific status of the PrivateLink attachment connection. - oneOf: - - $ref: '#/components/schemas/networking.v1.AwsPrivateLinkAttachmentConnectionStatus' - - $ref: '#/components/schemas/networking.v1.AzurePrivateLinkAttachmentConnectionStatus' - - $ref: '#/components/schemas/networking.v1.GcpPrivateLinkAttachmentConnectionStatus' - discriminator: - propertyName: kind - mapping: - AwsPrivateLinkAttachmentConnectionStatus: '#/components/schemas/networking.v1.AwsPrivateLinkAttachmentConnectionStatus' - AzurePrivateLinkAttachmentConnectionStatus: '#/components/schemas/networking.v1.AzurePrivateLinkAttachmentConnectionStatus' - GcpPrivateLinkAttachmentConnectionStatus: '#/components/schemas/networking.v1.GcpPrivateLinkAttachmentConnectionStatus' - readOnly: true - readOnly: true - networking.v1.AwsPrivateLinkAttachmentConnection: - description: Represents a connection between an AWS VPC Endpoint and an Endpoint service. - type: object - required: - - kind - - vpc_endpoint_id - properties: - kind: - type: string - description: PrivateLinkAttachmentConnection kind. - enum: - - AwsPrivateLinkAttachmentConnection - vpc_endpoint_id: - description: Id of a VPC Endpoint that is connected to the VPC Endpoint service. - type: string - minLength: 1 - example: vpce-00000000000000000 - networking.v1.AzurePrivateLinkAttachmentConnection: - description: Represents a connection between an Azure PrivateLink service and a PrivateEndpoint. - type: object - required: - - kind - - private_endpoint_resource_id - properties: - kind: - type: string - description: PrivateLinkAttachmentConnection kind. - enum: - - AzurePrivateLinkAttachmentConnection - private_endpoint_resource_id: - description: | - Resource Id of the PrivateEndpoint that is connected to the PrivateLink service. - type: string - minLength: 1 - example: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testvpc/providers/Microsoft.Network/privateEndpoints/pe-plt-abcdef-az3 - networking.v1.GcpPrivateLinkAttachmentConnection: - type: object - description: Represents a connection between a GCP PSC Service Attachment and a PSC Endpoint. - required: - - kind - - private_service_connect_connection_id - properties: - kind: - type: string - description: PrivateLinkAttachmentConnection kind. - enum: - - GcpPrivateLinkAttachmentConnection - private_service_connect_connection_id: - description: Id of the Private Service connection. - type: string - minLength: 1 - readOnly: true - example: '00000000000000000' - networking.v1.AwsPrivateLinkAttachmentConnectionStatus: - description: Status of a connection to an AWS PrivateLink attachment. - type: object - required: - - kind - - vpc_endpoint_service_name - - vpc_endpoint_id - properties: - kind: - type: string - description: PrivateLinkAttachmentConnectionStatus kind. - enum: - - AwsPrivateLinkAttachmentConnectionStatus - vpc_endpoint_service_name: - description: Id of the VPC Endpoint service used for PrivateLink. - type: string - minLength: 1 - example: com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000 - readOnly: true - vpc_endpoint_id: - description: Id of the VPC Endpoint (if any) that is connected to the VPC Endpoint service. - type: string - minLength: 1 - readOnly: true - example: vpce-00000000000000000 - networking.v1.AzurePrivateLinkAttachmentConnectionStatus: - description: Status of an Azure PrivateLink attachment connection for an availability zone. - type: object - required: - - kind - - zone - - private_link_service_alias - - private_link_service_resource_id - - private_endpoint_resource_id - properties: - kind: - type: string - description: PrivateLinkAttachmentConnectionStatus kind. - enum: - - AzurePrivateLinkAttachmentConnectionStatus - zone: - description: Availability zone associated with the Azure PrivateLink service. - type: string - minLength: 1 - readOnly: true - example: '1' - private_link_service_alias: - description: Azure PrivateLink service alias for the availability zone. - type: string - minLength: 1 - readOnly: true - example: pls-plt-abcdef-az3.38748da8-3322-42f7-b97a-6448c21af653.centralus.azure.privatelinkservice - private_link_service_resource_id: - description: Azure PrivateLink service resource id for the availability zone. - type: string - minLength: 1 - readOnly: true - example: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/s-abcde/providers/Microsoft.Network/privateLinkServices/pls-plt-abcdef-az3 - private_endpoint_resource_id: - description: | - Resource Id of the PrivateEndpoint (if any) that is connected to - the PrivateLink service for this availability zone. - type: string - minLength: 1 - readOnly: true - example: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testvpc/providers/Microsoft.Network/privateEndpoints/pe-plt-abcdef-az3 - networking.v1.GcpPrivateLinkAttachmentConnectionStatus: - description: Status of a GCP PrivateLink attachment connection for a zone. - type: object - required: - - kind - - zone - - private_service_connect_service_attachment - - private_service_connect_connection_id - properties: - kind: - type: string - description: PrivateLinkAttachmentConnectionStatus kind. - enum: - - GcpPrivateLinkAttachmentConnectionStatus - zone: - description: Zone associated with the GCP PrivateLink attachment connection. - type: string - minLength: 1 - readOnly: true - example: us-central1-a - private_service_connect_service_attachment: - description: GCP Private Service Connect ServiceAttachment for the zone. - type: string - minLength: 1 - readOnly: true - example: projects/example-project/regions/us-central1/serviceAttachments/plt-abcdef-service-attachment-us-central1-a - private_service_connect_connection_id: - description: Id of the Private Service connection. - type: string - minLength: 1 - readOnly: true - example: '00000000000000000' - networking.v1.PrivateLinkAttachmentConnectionUpdate: - type: object - description: |- - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. - - - ## The Private Link Attachment Connections Model - - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - PrivateLinkAttachmentConnection - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/private-link-attachment-connections/plattc-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/private-link-attachment-connection=plattc-12345' - spec: - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentConnectionSpecUpdate' - status: - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentConnectionStatus' - networking.v1.PrivateLinkAttachmentConnectionSpecUpdate: - type: object - description: The desired state of the Private Link Attachment Connection - properties: - display_name: - type: string - description: The name of the PrivateLink attachment connection. - example: prod-gcp-us-central1-a - environment: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The environment to which this belongs. - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.DnsForwarderList: - type: object - description: |- - Add, remove, and update DNS forwarder for your gateway. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - - - ## The DNS Forwarders Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - DnsForwarderList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/networking/v1/dns-forwarders' - last: - example: 'https://api.confluent.cloud/networking/v1/dns-forwarders?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/networking/v1/dns-forwarders?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/networking/v1/dns-forwarders?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/networking.v1.DnsForwarder' - - type: object - required: - - id - - metadata - - spec - - status - properties: - spec: - type: object - required: - - domains - - config - - environment - - gateway - uniqueItems: true - networking.v1.DnsForwarder: - type: object - description: |- - Add, remove, and update DNS forwarder for your gateway. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - - - ## The DNS Forwarders Model - - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - DnsForwarder - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/dns-forwarders/df-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-456xyz/dns-forwarder=df-12345' - spec: - $ref: '#/components/schemas/networking.v1.DnsForwarderSpec' - status: - $ref: '#/components/schemas/networking.v1.DnsForwarderStatus' - networking.v1.DnsForwarderSpec: - type: object - description: The desired state of the Dns Forwarder - properties: - display_name: - type: string - description: The name of the DNS forwarder - example: prod-dnsf-1 - domains: - type: array - items: - type: string - uniqueItems: true - minItems: 0 - maxItems: 10 - description: List of domains for the DNS forwarder to use - example: - - example.com - - domainname.com - config: - type: object - oneOf: - - $ref: '#/components/schemas/networking.v1.ForwardViaIp' - discriminator: - propertyName: kind - mapping: - ForwardViaIp: '#/components/schemas/networking.v1.ForwardViaIp' - description: The specific details of different kinds of configuration for DNS Forwarder. - environment: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The environment to which this belongs. - gateway: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The gateway to which this belongs. - x-immutable: true - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.DnsForwarderStatus: - type: object - required: - - phase - description: The status of the Dns Forwarder - properties: - phase: - type: string - x-extensible-enum: - - PROVISIONING - - CREATED - - READY - - DEGRADED - - FAILED - - DEPROVISIONING - description: | - The lifecycle phase of the DNS forwarder: - - PROVISIONING: DNS forwarder provisioning is in progress; - - CREATED: DNS forwarder is created. It will automatically become ready once a Kafka cluster is provisioned; - - READY: DNS forwarder is ready; - - FAILED: DNS forwarder is in a failed state; - - DEGRADED: DNS forwarder is in a degraded state, transitioning from 'READY' due to unreachable DNS resolvers; - - DEPROVISIONING: DNS forwarder deprovisioning is in progress; - readOnly: true - example: READY - error_code: - type: string - description: Error code if dns forwarder is in a failed state. May be used for programmatic error checking. - readOnly: true - error_message: - type: string - description: Displayable error message if dns forwarder is in a failed state - readOnly: true - readOnly: true - networking.v1.ForwardViaIp: - type: object - title: ForwardViaIp - description: DNS Forwarder Configured via DNS Server IPs. - required: - - kind - - dns_server_ips - properties: - kind: - description: DNS Forwarder Configured via DNS Server IPs kind type. - type: string - enum: - - ForwardViaIp - dns_server_ips: - type: array - items: - $ref: '#/components/schemas/networking.v1.Ip' - uniqueItems: true - minItems: 1 - maxItems: 3 - description: List of IP addresses of the DNS server - example: - - 10.200.0.0 - - 10.200.0.1 - networking.v1.Ip: - type: string - pattern: ^\d+\.\d+\.\d+\.\d+$ - description: IPv4 Address - example: 10.200.0.0 - networking.v1.DnsForwarderUpdate: - type: object - description: |- - Add, remove, and update DNS forwarder for your gateway. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - - - ## The DNS Forwarders Model - - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - DnsForwarder - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/dns-forwarders/df-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-456xyz/dns-forwarder=df-12345' - spec: - $ref: '#/components/schemas/networking.v1.DnsForwarderSpecUpdate' - status: - $ref: '#/components/schemas/networking.v1.DnsForwarderStatus' - networking.v1.DnsForwarderSpecUpdate: - type: object - description: The desired state of the Dns Forwarder - properties: - display_name: - type: string - description: The name of the DNS forwarder - example: prod-dnsf-1 - domains: - type: array - items: - type: string - uniqueItems: true - minItems: 0 - maxItems: 10 - description: List of domains for the DNS forwarder to use - example: - - example.com - - domainname.com - config: - type: object - oneOf: - - $ref: '#/components/schemas/networking.v1.ForwardViaIp' - discriminator: - propertyName: kind - mapping: - ForwardViaIp: '#/components/schemas/networking.v1.ForwardViaIp' - description: The specific details of different kinds of configuration for DNS Forwarder. - environment: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The environment to which this belongs. - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.AccessPointList: - type: object - description: |- - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. - - - ## The Access Points Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - AccessPointList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/networking/v1/access-points' - last: - example: 'https://api.confluent.cloud/networking/v1/access-points?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/networking/v1/access-points?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/networking/v1/access-points?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/networking.v1.AccessPoint' - - type: object - required: - - id - - metadata - - spec - - status - properties: - spec: - type: object - required: - - config - - environment - - gateway - uniqueItems: true - networking.v1.AccessPoint: - type: object - description: |- - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. - - - ## The Access Points Model - - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - AccessPoint - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/access-points/ap-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-456xyz/access-point=ap-12345' - spec: - $ref: '#/components/schemas/networking.v1.AccessPointSpec' - status: - $ref: '#/components/schemas/networking.v1.AccessPointStatus' - networking.v1.AccessPointSpec: - type: object - description: The desired state of the Access Point - properties: - display_name: - type: string - description: The name of the access point. - example: prod-ap-egress-usw2 - config: - type: object - oneOf: - - $ref: '#/components/schemas/networking.v1.AwsEgressPrivateLinkEndpoint' - - $ref: '#/components/schemas/networking.v1.AzureEgressPrivateLinkEndpoint' - discriminator: - propertyName: kind - mapping: - AwsEgressPrivateLinkEndpoint: '#/components/schemas/networking.v1.AwsEgressPrivateLinkEndpoint' - AzureEgressPrivateLinkEndpoint: '#/components/schemas/networking.v1.AzureEgressPrivateLinkEndpoint' - description: The specific details of the different access point configurations. - x-immutable: true - environment: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The environment to which this belongs. - gateway: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The gateway to which this belongs. - x-immutable: true - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.AccessPointStatus: - type: object - required: - - phase - description: The status of the Access Point - properties: - phase: - type: string - x-extensible-enum: - - PROVISIONING - - PENDING_ACCEPT - - READY - - FAILED - - DEPROVISIONING - description: | - The lifecycle phase of the access point: - - PROVISIONING: Access point provisioning is in progress; - - PENDING_ACCEPT: Access point connection request is pending acceptance by the customer; - - READY: Access point is ready; - - FAILED: Access point is in a failed state; - - DEPROVISIONING: Access point deprovisioning is in progress; - readOnly: true - example: READY - error_code: - type: string - description: Error code if access point is in a failed state. May be used for programmatic error checking. - readOnly: true - error_message: - type: string - description: Displayable error message if access point is in a failed state. - readOnly: true - config: - type: object - oneOf: - - $ref: '#/components/schemas/networking.v1.AwsEgressPrivateLinkEndpointStatus' - - $ref: '#/components/schemas/networking.v1.AzureEgressPrivateLinkEndpointStatus' - description: Cloud specific status of the access point. - discriminator: - propertyName: kind - mapping: - AwsEgressPrivateLinkEndpointStatus: '#/components/schemas/networking.v1.AwsEgressPrivateLinkEndpointStatus' - AzureEgressPrivateLinkEndpointStatus: '#/components/schemas/networking.v1.AzureEgressPrivateLinkEndpointStatus' - readOnly: true - readOnly: true - networking.v1.AwsEgressPrivateLinkEndpoint: - type: object - description: AWS VPC Endpoint. - required: - - kind - - vpc_endpoint_service_name - properties: - kind: - type: string - description: AwsEgressPrivateLinkEndpoint kind. - enum: - - AwsEgressPrivateLinkEndpoint - vpc_endpoint_service_name: - description: ID of the VPC Endpoint service used for PrivateLink. - type: string - minLength: 1 - example: com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000 - enable_high_availability: - type: boolean - description: Whether a resource should be provisioned with high availability. Endpoints deployed with high availability have network interfaces deployed in multiple AZs. - example: false - x-immutable: true - networking.v1.AzureEgressPrivateLinkEndpoint: - type: object - description: Azure Private Endpoint. - required: - - kind - - private_link_service_resource_id - properties: - kind: - type: string - description: AzureEgressPrivateLinkEndpoint kind. - enum: - - AzureEgressPrivateLinkEndpoint - private_link_service_resource_id: - description: Resource ID of the Azure Private Link service. - type: string - minLength: 1 - example: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/s-abcde/providers/Microsoft.Network/privateLinkServices/pls-plt-abcdef-az3 - private_link_subresource_name: - type: string - description: Name of the subresource for the Private Endpoint to connect to. - example: sqlServer - networking.v1.AwsEgressPrivateLinkEndpointStatus: - type: object - title: AWS - description: Status of an AWS PrivateLink Endpoint. - required: - - kind - - vpc_endpoint_id - - vpc_endpoint_dns_name - properties: - kind: - description: AwsEgressPrivateLinkEndpointStatus kind. - type: string - enum: - - AwsEgressPrivateLinkEndpointStatus - vpc_endpoint_id: - description: ID of a VPC Endpoint (if any) that is connected to the VPC Endpoint service. - type: string - example: vpce-00000000000000000 - readOnly: true - vpc_endpoint_dns_name: - description: DNS name of a VPC Endpoint (if any) that is connected to the VPC Endpoint service. - type: string - example: vpce-00000000000000000-00000000.vpce-svc-00000000000000000.us-west-2.vpce.amazonaws.com - readOnly: true - networking.v1.AzureEgressPrivateLinkEndpointStatus: - type: object - description: Status of an Azure Private Endpoint. - required: - - kind - - private_endpoint_resource_id - - private_endpoint_ip_address - properties: - kind: - description: AzureEgressPrivateLinkEndpointStatus kind. - type: string - enum: - - AzureEgressPrivateLinkEndpointStatus - private_endpoint_resource_id: - description: Resource ID of the Private Endpoint (if any) that is connected to the Private Link service. - type: string - readOnly: true - example: /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testvpc/providers/Microsoft.Network/privateEndpoints/pe-plt-abcdef-az3 - private_endpoint_domain: - description: Domain of the Private Endpoint (if any) that is connected to the Private Link service. - type: string - readOnly: true - example: dbname.database.windows.net - private_endpoint_ip_address: - description: IP address of the Private Endpoint (if any) that is connected to the Private Link service. - type: string - readOnly: true - example: 10.2.0.68 - networking.v1.AccessPointUpdate: - type: object - description: |- - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. - - - ## The Access Points Model - - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - AccessPoint - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/access-points/ap-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-456xyz/access-point=ap-12345' - spec: - $ref: '#/components/schemas/networking.v1.AccessPointSpecUpdate' - status: - $ref: '#/components/schemas/networking.v1.AccessPointStatus' - networking.v1.AccessPointSpecUpdate: - type: object - description: The desired state of the Access Point - properties: - display_name: - type: string - description: The name of the access point. - example: prod-ap-egress-usw2 - environment: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The environment to which this belongs. - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.DnsRecordList: - type: object - description: |- - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - - ## The DNS Records Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - DnsRecordList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/networking/v1/dns-records' - last: - example: 'https://api.confluent.cloud/networking/v1/dns-records?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/networking/v1/dns-records?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/networking/v1/dns-records?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/networking.v1.DnsRecord' - - type: object - required: - - id - - metadata - - spec - - status - properties: - spec: - type: object - required: - - domain - - config - - environment - - gateway - uniqueItems: true - networking.v1.DnsRecord: - type: object - description: |- - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - - ## The DNS Records Model - - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - DnsRecord - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/dns-records/dnsrec-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-456xyz/dns-record=dnsrec-12345' - spec: - $ref: '#/components/schemas/networking.v1.DnsRecordSpec' - status: - $ref: '#/components/schemas/networking.v1.DnsRecordStatus' - networking.v1.DnsRecordSpec: - type: object - description: The desired state of the Dns Record - properties: - display_name: - type: string - description: The name of the DNS record. - example: prod-dnsrec-1 - domain: - type: string - description: The fully qualified domain name of the DNS record. - example: example.com - x-immutable: true - config: - type: object - description: The config of the DNS record. - oneOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAccessPoint' - discriminator: - propertyName: kind - mapping: - PrivateLinkAccessPoint: '#/components/schemas/networking.v1.PrivateLinkAccessPoint' - environment: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The environment to which this belongs. - gateway: - allOf: - - $ref: '#/components/schemas/TypedEnvScopedObjectReference' - description: The gateway to which this belongs. - x-immutable: true - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - networking.v1.DnsRecordStatus: - type: object - required: - - phase - description: The status of the Dns Record - properties: - phase: - type: string - x-extensible-enum: - - PROVISIONING - - CREATED - - READY - - FAILED - - DEPROVISIONING - description: | - The lifecycle phase of the DNS record: - - PROVISIONING: DNS record provisioning is in progress; - - CREATED: DNS record is created. It will automatically become ready once a Kafka cluster is provisioned; - - READY: DNS record is ready; - - FAILED: DNS record is in a failed state; - - DEPROVISIONING: DNS record deprovisioning is in progress; - readOnly: true - example: READY - error_code: - type: string - description: Error code if the DNS record is in a failed state. May be used for programmatic error checking. - readOnly: true - error_message: - type: string - description: Displayable error message if the DNS record is in a failed state. - readOnly: true - readOnly: true - networking.v1.PrivateLinkAccessPoint: - type: object - description: DNS record that is associated with a PrivateLink access point. - required: - - kind - - resource_id - properties: - kind: - description: PrivateLinkAccessPoint kind. - type: string - enum: - - PrivateLinkAccessPoint - resource_id: - description: ID of the target resource. - type: string - minLength: 1 - example: ap-12345 - networking.v1.DnsRecordUpdate: - type: object - description: |- - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - - ## The DNS Records Model - - properties: - api_version: - type: string - enum: - - networking/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - DnsRecord - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/networking/v1/dns-records/dnsrec-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-456xyz/dns-record=dnsrec-12345' - spec: - $ref: '#/components/schemas/networking.v1.DnsRecordSpecUpdate' - status: - $ref: '#/components/schemas/networking.v1.DnsRecordStatus' - networking.v1.DnsRecordSpecUpdate: - type: object - description: The desired state of the Dns Record - properties: - display_name: - type: string - description: The name of the DNS record. - example: prod-dnsrec-1 - config: - type: object - description: The config of the DNS record. - oneOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAccessPoint' - discriminator: - propertyName: kind - mapping: - PrivateLinkAccessPoint: '#/components/schemas/networking.v1.PrivateLinkAccessPoint' - environment: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The environment to which this belongs. - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - parameters: - AclHost: - name: host - description: The ACL host. - in: query - required: false - schema: - type: string - AclOperation: - name: operation - description: The ACL operation. - in: query - required: false - schema: - $ref: '#/components/schemas/AclOperation' - AclOperationRequired: - name: operation - description: The ACL operation. - in: query - required: true - schema: - $ref: '#/components/schemas/AclOperation' - AclPatternType: - name: pattern_type - description: The ACL pattern type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPatternType' - AclPatternTypeRequired: - name: pattern_type - description: The ACL pattern type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPatternType' - AclPermission: - name: permission - description: The ACL permission. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPermission' - AclPermissionRequired: - name: permission - description: The ACL permission. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPermission' - AclPrincipal: - name: principal - description: The ACL principal. This is the Service Account name or user name. - in: query - required: false - schema: - type: string - AclResourceName: - name: resource_name - description: The ACL resource name. - in: query - required: false - schema: - type: string - AclResourceType: - name: resource_type - description: The ACL resource type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclResourceType' - AclResourceTypeRequired: - name: resource_type - description: The ACL resource type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclResourceType' - BrokerId: - name: broker_id - description: The Kafka broker ID. - in: path - required: true - schema: - type: integer - example: 1 - ClusterId: - name: cluster_id - description: The Kafka cluster ID. - in: path - required: true - schema: - type: string - example: cluster-1 - ConfigName: - name: name - description: The configuration parameter name. - in: path - required: true - schema: - type: string - example: compression.type - ConsumerGroupId: - name: consumer_group_id - description: The consumer group ID. - in: path - required: true - schema: - type: string - example: consumer-group-1 - ConsumerId: - name: consumer_id - description: The consumer ID. - in: path - required: true - schema: - type: string - example: consumer-1 - IncludeAuthorizedOperations: - name: include_authorized_operations - description: Specify if authorized operations should be included in the response. - in: query - required: false - schema: - type: boolean - PartitionId: - name: partition_id - description: The partition ID. - in: path - required: true - schema: - type: integer - example: 0 - TopicName: - name: topic_name - description: The topic name. - in: path - required: true - schema: - type: string - example: topic-1 - BrokerTaskType: - name: task_type - description: The Kafka broker task type. - in: path - required: true - schema: - $ref: '#/components/schemas/BrokerTaskType' - example: remove-broker - ShouldShutdown: - name: should_shutdown - description: 'To shutdown the broker or not, Default: true' - in: query - required: false - schema: - type: boolean - example: true - ValidateOnly: - name: validate_only - description: 'To validate the action can be performed successfully or not. Default: false' - in: query - required: false - schema: - type: boolean - example: false - ValidateLink: - name: validate_link - description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' - in: query - required: false - schema: - type: boolean - example: false - IncludeTasks: - name: include_tasks - description: 'Whether to include cluster linking tasks in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludeStateTransitionErrors: - name: include_state_transition_errors - description: 'Whether to include mirror state transition errors in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - Force: - name: force - description: 'Force the action. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludePartitionLevelTruncationData: - name: include_partition_level_truncation_data - description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - LinkName: - name: link_name - description: The link name - in: path - required: true - schema: - type: string - example: link-sb1 - LinkConfigName: - name: config_name - description: The link config name - in: path - required: true - schema: - type: string - example: consumer.offset.sync.enable - MirrorTopicStatus: - name: mirror_status - description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' - in: query - required: false - schema: - $ref: '#/components/schemas/MirrorTopicStatus' - example: ACTIVE - MirrorTopicName: - name: mirror_topic_name - description: Cluster Linking mirror topic name - in: path - required: true - schema: - type: string - example: topic-1 - QueryParamLinkName: - name: link_name - description: The link name - in: query - required: true - schema: - type: string - example: link-sb1 - responses: - BadRequestError: - description: Bad Request - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '400' - code: invalid_filter - title: Invalid Filter - detail: The 'delorean' resource can't be filtered by 'num_doors' - source: - parameter: num_doors - UnauthenticatedError: - x-summary: Unauthorized - description: The request lacks valid authentication credentials for this resource. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - WWW-Authenticate: - schema: - type: string - description: The unique identifier for the API request. - example: 'Basic error="invalid_key", error_description="The API Key is invalid"' - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '401' - code: user_unauthenticated - title: Authentication Required - detail: Valid authentication credentials must be provided - UnauthorizedError: - x-summary: Forbidden - description: The access credentials were considered insufficient to grant access - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '403' - code: user_unauthorized - title: User Access Unauthorized - detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. - RateLimitError: - description: Rate Limit Exceeded - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Retry-After: - schema: - type: integer - description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. - DefaultSystemError: - description: 'Oops, something went wrong!' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '500' - code: out_of_gas - title: DeLorean Out Of Gas - detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' - OverQuotaError: - x-summary: Over Quota - description: The request would exceed one or more quotas. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '402' - code: quota_exceeded - title: Kafka Clusters Per Org Quota Exceeded - detail: 'The request would exceed the quota: kafka_clusters_per_environment' - ConflictError: - x-summary: Conflict - description: The request is in conflict with the current server state - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/{object}/{id}' - description: Resource URI of conflicting resource - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '409' - code: resource_already_exists - title: Resource Already exists - detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. - ValidationError: - description: Validation Failed - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - NotFoundError: - description: Not Found - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '404' - title: Not Found - securitySchemes: - cloud-api-key: - type: http - scheme: basic - description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. - confluent-sts-access-token: - type: oauth2 - description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' - scopes: {} - api-key: - type: http - scheme: basic - description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. - resource-api-key: - type: http - scheme: basic - description: | - Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID - as the username and resource-specific API Key Secret as the password. - external-access-token: - type: oauth2 - description: Authenticate with OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https:///token' - scopes: {} - oauth: - type: oauth2 - description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. - flows: - clientCredentials: - tokenUrl: /oauth2/token - scopes: - 'partner:alter': enables partners to alter entitlements - 'partner:create': enables partners to create entitlements and signup on behalf of customers - 'partner:delete': enables partners to delete entitlements and organizations - 'partner:describe': enables partners to read and list entitlements and organizations - requestBodies: - AlterBrokerConfigBatchRequest: - description: The alter broker configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterClusterConfigBatchRequest: - description: The alter cluster configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterTopicConfigBatchRequest: - description: The alter topic configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - examples: - batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only_batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only: true - CreateAclRequest: - description: The ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestData' - example: - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - BatchCreateAclRequest: - description: The batch ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestDataList' - example: - data: - - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - - resource_type: TOPIC - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: READ - permission: ALLOW - CreateTopicRequest: - description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTopicRequestData' - examples: - uniform_replication: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - configs: - - name: cleanup.policy - value: compact - - name: compression.type - value: gzip - dry_run_create_topic: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - validate_only: true - ProduceRequest: - description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' - content: - application/json: - schema: - $ref: '#/components/schemas/ProduceRequest' - examples: - binary_and_json: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - partition_id: 1 - headers: - - name: Header-1 - value: SGVhZGVyLTE= - - name: Header-2 - value: SGVhZGVyLTI= - key: - type: BINARY - data: Zm9vYmFy - value: - type: JSON - data: - foo: bar - timestamp: '2021-02-05T19:14:42Z' - string: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - value: - type: STRING - data: My message - empty_value: - description: key or value can be omitted entirely. - value: - key: - data: 1000 - UpdateBrokerConfigRequest: - description: The broker configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateClusterConfigRequest: - description: The cluster configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateTopicConfigRequest: - description: The topic configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - CreateLinkRequest: - description: Create a cluster link - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLinkRequestData' - examples: - destination_initiated_link: - description: Create a destination initiated cluster link - value: - source_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: acl.sync.enable - value: 'false' - - name: consumer.offset.sync.ms - value: '30000' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_source_cluster: - description: Create a source initiated cluster link at source cluster - value: - destination_cluster_id: cluster-2 - configs: - - name: bootstrap.servers - value: cluster-2-bootstrap-server - - name: link.mode - value: SOURCE - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_destination_cluster: - description: Create a source initiated cluster link at destination cluster - value: - destination_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: link.mode - value: DESTINATION - - name: connection.mode - value: INBOUND - - name: acl.sync.enable - value: 'false' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_east: - description: Create a bidirectional cluster link in east - value: - remote_cluster_id: cluster-west - configs: - - name: bootstrap.servers - value: cluster-west-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: west. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_west: - description: Create a bidirectional cluster link in west - value: - remote_cluster_id: cluster-east - cluster_link_id: eEBkTffYSESld6EO898x3w - configs: - - name: bootstrap.servers - value: cluster-east-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: east. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - UpdateLinkConfigRequest: - content: - application/json: - example: - value: '300000' - schema: - $ref: '#/components/schemas/UpdateLinkConfigRequestData' - description: Link config value to update - AlterLinkConfigBatchRequest: - content: - application/json: - example: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - CreateMirrorTopicRequest: - description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateMirrorTopicRequestData' - examples: - generic_example: - description: Generic example of creating a mirror topic - value: - source_topic_name: topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 1 - example_with_mirror_topic_name: - description: Example using optional mirror_topic_name flag - value: - source_topic_name: topic-1 - mirror_topic_name: link1_topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 3 - AlterMirrorsRequest: - description: Mirror topics to be altered. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterMirrorsRequestData' - examples: - mirror_topic_names: - description: Example using mirror topic names - value: - mirror_topic_names: - - topic-1 - - topic-2 - mirror_topic_name_pattern: - description: Example using mirror topic name pattern - value: - mirror_topic_name_pattern: .* - RemoveBrokersRequest: - content: - application/json: - example: - broker_ids: - - 1 - - 2 - - 3 - schema: - $ref: '#/components/schemas/RemoveBrokersRequestData' - description: Broker ids to remove - BrokerReplicaExclusionBatchRequest: - description: Alter Broker Replica Exclusions. - content: - application/json: - schema: - $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' - example: - data: - - broker_id: 1 - reason: The broker is to be removed. - - broker_id: 2 - reason: The broker is to be removed. - x-stackQL-resources: - networks: - id: confluent.networking.networks - name: networks - title: Networks - methods: - list_networking_v1networks: - operation: - $ref: '#/paths/~1networking~1v1~1networks/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_networking_v1network: - operation: - $ref: '#/paths/~1networking~1v1~1networks/post' - response: - mediaType: application/json - openAPIDocKey: '202' - get_networking_v1network: - operation: - $ref: '#/paths/~1networking~1v1~1networks~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_networking_v1network: - operation: - $ref: '#/paths/~1networking~1v1~1networks~1{id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_networking_v1network: - operation: - $ref: '#/paths/~1networking~1v1~1networks~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/networks/methods/get_networking_v1network' - - $ref: '#/components/x-stackQL-resources/networks/methods/list_networking_v1networks' - insert: - - $ref: '#/components/x-stackQL-resources/networks/methods/create_networking_v1network' - update: - - $ref: '#/components/x-stackQL-resources/networks/methods/update_networking_v1network' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/networks/methods/delete_networking_v1network' - peerings: - id: confluent.networking.peerings - name: peerings - title: Peerings - methods: - list_networking_v1peerings: - operation: - $ref: '#/paths/~1networking~1v1~1peerings/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_networking_v1peering: - operation: - $ref: '#/paths/~1networking~1v1~1peerings/post' - response: - mediaType: application/json - openAPIDocKey: '202' - get_networking_v1peering: - operation: - $ref: '#/paths/~1networking~1v1~1peerings~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_networking_v1peering: - operation: - $ref: '#/paths/~1networking~1v1~1peerings~1{id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_networking_v1peering: - operation: - $ref: '#/paths/~1networking~1v1~1peerings~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/peerings/methods/get_networking_v1peering' - - $ref: '#/components/x-stackQL-resources/peerings/methods/list_networking_v1peerings' - insert: - - $ref: '#/components/x-stackQL-resources/peerings/methods/create_networking_v1peering' - update: - - $ref: '#/components/x-stackQL-resources/peerings/methods/update_networking_v1peering' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/peerings/methods/delete_networking_v1peering' - transit_gateway_attachments: - id: confluent.networking.transit_gateway_attachments - name: transit_gateway_attachments - title: Transit Gateway Attachments - methods: - list_networking_v1transit_gateway_attachments: - operation: - $ref: '#/paths/~1networking~1v1~1transit-gateway-attachments/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_networking_v1transit_gateway_attachment: - operation: - $ref: '#/paths/~1networking~1v1~1transit-gateway-attachments/post' - response: - mediaType: application/json - openAPIDocKey: '202' - get_networking_v1transit_gateway_attachment: - operation: - $ref: '#/paths/~1networking~1v1~1transit-gateway-attachments~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_networking_v1transit_gateway_attachment: - operation: - $ref: '#/paths/~1networking~1v1~1transit-gateway-attachments~1{id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_networking_v1transit_gateway_attachment: - operation: - $ref: '#/paths/~1networking~1v1~1transit-gateway-attachments~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/transit_gateway_attachments/methods/get_networking_v1transit_gateway_attachment' - - $ref: '#/components/x-stackQL-resources/transit_gateway_attachments/methods/list_networking_v1transit_gateway_attachments' - insert: - - $ref: '#/components/x-stackQL-resources/transit_gateway_attachments/methods/create_networking_v1transit_gateway_attachment' - update: - - $ref: '#/components/x-stackQL-resources/transit_gateway_attachments/methods/update_networking_v1transit_gateway_attachment' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/transit_gateway_attachments/methods/delete_networking_v1transit_gateway_attachment' - private_link_accesses: - id: confluent.networking.private_link_accesses - name: private_link_accesses - title: Private Link Accesses - methods: - list_networking_v1private_link_accesses: - operation: - $ref: '#/paths/~1networking~1v1~1private-link-accesses/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_networking_v1private_link_access: - operation: - $ref: '#/paths/~1networking~1v1~1private-link-accesses/post' - response: - mediaType: application/json - openAPIDocKey: '202' - get_networking_v1private_link_access: - operation: - $ref: '#/paths/~1networking~1v1~1private-link-accesses~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_networking_v1private_link_access: - operation: - $ref: '#/paths/~1networking~1v1~1private-link-accesses~1{id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_networking_v1private_link_access: - operation: - $ref: '#/paths/~1networking~1v1~1private-link-accesses~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/private_link_accesses/methods/get_networking_v1private_link_access' - - $ref: '#/components/x-stackQL-resources/private_link_accesses/methods/list_networking_v1private_link_accesses' - insert: - - $ref: '#/components/x-stackQL-resources/private_link_accesses/methods/create_networking_v1private_link_access' - update: - - $ref: '#/components/x-stackQL-resources/private_link_accesses/methods/update_networking_v1private_link_access' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/private_link_accesses/methods/delete_networking_v1private_link_access' - network_link_services: - id: confluent.networking.network_link_services - name: network_link_services - title: Network Link Services - methods: - list_networking_v1network_link_services: - operation: - $ref: '#/paths/~1networking~1v1~1network-link-services/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_networking_v1network_link_service: - operation: - $ref: '#/paths/~1networking~1v1~1network-link-services/post' - response: - mediaType: application/json - openAPIDocKey: '202' - get_networking_v1network_link_service: - operation: - $ref: '#/paths/~1networking~1v1~1network-link-services~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_networking_v1network_link_service: - operation: - $ref: '#/paths/~1networking~1v1~1network-link-services~1{id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_networking_v1network_link_service: - operation: - $ref: '#/paths/~1networking~1v1~1network-link-services~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/network_link_services/methods/get_networking_v1network_link_service' - - $ref: '#/components/x-stackQL-resources/network_link_services/methods/list_networking_v1network_link_services' - insert: - - $ref: '#/components/x-stackQL-resources/network_link_services/methods/create_networking_v1network_link_service' - update: - - $ref: '#/components/x-stackQL-resources/network_link_services/methods/update_networking_v1network_link_service' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/network_link_services/methods/delete_networking_v1network_link_service' - network_link_endpoints: - id: confluent.networking.network_link_endpoints - name: network_link_endpoints - title: Network Link Endpoints - methods: - list_networking_v1network_link_endpoints: - operation: - $ref: '#/paths/~1networking~1v1~1network-link-endpoints/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_networking_v1network_link_endpoint: - operation: - $ref: '#/paths/~1networking~1v1~1network-link-endpoints/post' - response: - mediaType: application/json - openAPIDocKey: '202' - get_networking_v1network_link_endpoint: - operation: - $ref: '#/paths/~1networking~1v1~1network-link-endpoints~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_networking_v1network_link_endpoint: - operation: - $ref: '#/paths/~1networking~1v1~1network-link-endpoints~1{id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_networking_v1network_link_endpoint: - operation: - $ref: '#/paths/~1networking~1v1~1network-link-endpoints~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/network_link_endpoints/methods/get_networking_v1network_link_endpoint' - - $ref: '#/components/x-stackQL-resources/network_link_endpoints/methods/list_networking_v1network_link_endpoints' - insert: - - $ref: '#/components/x-stackQL-resources/network_link_endpoints/methods/create_networking_v1network_link_endpoint' - update: - - $ref: '#/components/x-stackQL-resources/network_link_endpoints/methods/update_networking_v1network_link_endpoint' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/network_link_endpoints/methods/delete_networking_v1network_link_endpoint' - network_link_service_associations: - id: confluent.networking.network_link_service_associations - name: network_link_service_associations - title: Network Link Service Associations - methods: - list_networking_v1network_link_service_associations: - operation: - $ref: '#/paths/~1networking~1v1~1network-link-service-associations/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - get_networking_v1network_link_service_association: - operation: - $ref: '#/paths/~1networking~1v1~1network-link-service-associations~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/network_link_service_associations/methods/get_networking_v1network_link_service_association' - - $ref: '#/components/x-stackQL-resources/network_link_service_associations/methods/list_networking_v1network_link_service_associations' - insert: [] - update: [] - replace: [] - delete: [] - gateways: - id: confluent.networking.gateways - name: gateways - title: Gateways - methods: - list_networking_v1gateways: - operation: - $ref: '#/paths/~1networking~1v1~1gateways/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - get_networking_v1gateway: - operation: - $ref: '#/paths/~1networking~1v1~1gateways~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/gateways/methods/get_networking_v1gateway' - - $ref: '#/components/x-stackQL-resources/gateways/methods/list_networking_v1gateways' - insert: [] - update: [] - replace: [] - delete: [] - ip_addresses: - id: confluent.networking.ip_addresses - name: ip_addresses - title: Ip Addresses - methods: - list_networking_v1ip_addresses: - operation: - $ref: '#/paths/~1networking~1v1~1ip-addresses/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/ip_addresses/methods/list_networking_v1ip_addresses' - insert: [] - update: [] - replace: [] - delete: [] - private_link_attachments: - id: confluent.networking.private_link_attachments - name: private_link_attachments - title: Private Link Attachments - methods: - list_networking_v1private_link_attachments: - operation: - $ref: '#/paths/~1networking~1v1~1private-link-attachments/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_networking_v1private_link_attachment: - operation: - $ref: '#/paths/~1networking~1v1~1private-link-attachments/post' - response: - mediaType: application/json - openAPIDocKey: '202' - get_networking_v1private_link_attachment: - operation: - $ref: '#/paths/~1networking~1v1~1private-link-attachments~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_networking_v1private_link_attachment: - operation: - $ref: '#/paths/~1networking~1v1~1private-link-attachments~1{id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_networking_v1private_link_attachment: - operation: - $ref: '#/paths/~1networking~1v1~1private-link-attachments~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/private_link_attachments/methods/get_networking_v1private_link_attachment' - - $ref: '#/components/x-stackQL-resources/private_link_attachments/methods/list_networking_v1private_link_attachments' - insert: - - $ref: '#/components/x-stackQL-resources/private_link_attachments/methods/create_networking_v1private_link_attachment' - update: - - $ref: '#/components/x-stackQL-resources/private_link_attachments/methods/update_networking_v1private_link_attachment' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/private_link_attachments/methods/delete_networking_v1private_link_attachment' - private_link_attachment_connections: - id: confluent.networking.private_link_attachment_connections - name: private_link_attachment_connections - title: Private Link Attachment Connections - methods: - list_networking_v1private_link_attachment_connections: - operation: - $ref: '#/paths/~1networking~1v1~1private-link-attachment-connections/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_networking_v1private_link_attachment_connection: - operation: - $ref: '#/paths/~1networking~1v1~1private-link-attachment-connections/post' - response: - mediaType: application/json - openAPIDocKey: '202' - get_networking_v1private_link_attachment_connection: - operation: - $ref: '#/paths/~1networking~1v1~1private-link-attachment-connections~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_networking_v1private_link_attachment_connection: - operation: - $ref: '#/paths/~1networking~1v1~1private-link-attachment-connections~1{id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_networking_v1private_link_attachment_connection: - operation: - $ref: '#/paths/~1networking~1v1~1private-link-attachment-connections~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/private_link_attachment_connections/methods/get_networking_v1private_link_attachment_connection' - - $ref: '#/components/x-stackQL-resources/private_link_attachment_connections/methods/list_networking_v1private_link_attachment_connections' - insert: - - $ref: '#/components/x-stackQL-resources/private_link_attachment_connections/methods/create_networking_v1private_link_attachment_connection' - update: - - $ref: '#/components/x-stackQL-resources/private_link_attachment_connections/methods/update_networking_v1private_link_attachment_connection' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/private_link_attachment_connections/methods/delete_networking_v1private_link_attachment_connection' - dns_forwarders: - id: confluent.networking.dns_forwarders - name: dns_forwarders - title: Dns Forwarders - methods: - list_networking_v1dns_forwarders: - operation: - $ref: '#/paths/~1networking~1v1~1dns-forwarders/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_networking_v1dns_forwarder: - operation: - $ref: '#/paths/~1networking~1v1~1dns-forwarders/post' - response: - mediaType: application/json - openAPIDocKey: '202' - get_networking_v1dns_forwarder: - operation: - $ref: '#/paths/~1networking~1v1~1dns-forwarders~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_networking_v1dns_forwarder: - operation: - $ref: '#/paths/~1networking~1v1~1dns-forwarders~1{id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_networking_v1dns_forwarder: - operation: - $ref: '#/paths/~1networking~1v1~1dns-forwarders~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/dns_forwarders/methods/get_networking_v1dns_forwarder' - - $ref: '#/components/x-stackQL-resources/dns_forwarders/methods/list_networking_v1dns_forwarders' - insert: - - $ref: '#/components/x-stackQL-resources/dns_forwarders/methods/create_networking_v1dns_forwarder' - update: - - $ref: '#/components/x-stackQL-resources/dns_forwarders/methods/update_networking_v1dns_forwarder' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/dns_forwarders/methods/delete_networking_v1dns_forwarder' - access_points: - id: confluent.networking.access_points - name: access_points - title: Access Points - methods: - list_networking_v1access_points: - operation: - $ref: '#/paths/~1networking~1v1~1access-points/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_networking_v1access_point: - operation: - $ref: '#/paths/~1networking~1v1~1access-points/post' - response: - mediaType: application/json - openAPIDocKey: '202' - get_networking_v1access_point: - operation: - $ref: '#/paths/~1networking~1v1~1access-points~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_networking_v1access_point: - operation: - $ref: '#/paths/~1networking~1v1~1access-points~1{id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_networking_v1access_point: - operation: - $ref: '#/paths/~1networking~1v1~1access-points~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/access_points/methods/get_networking_v1access_point' - - $ref: '#/components/x-stackQL-resources/access_points/methods/list_networking_v1access_points' - insert: - - $ref: '#/components/x-stackQL-resources/access_points/methods/create_networking_v1access_point' - update: - - $ref: '#/components/x-stackQL-resources/access_points/methods/update_networking_v1access_point' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/access_points/methods/delete_networking_v1access_point' - dns_records: - id: confluent.networking.dns_records - name: dns_records - title: Dns Records - methods: - list_networking_v1dns_records: - operation: - $ref: '#/paths/~1networking~1v1~1dns-records/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_networking_v1dns_record: - operation: - $ref: '#/paths/~1networking~1v1~1dns-records/post' - response: - mediaType: application/json - openAPIDocKey: '202' - get_networking_v1dns_record: - operation: - $ref: '#/paths/~1networking~1v1~1dns-records~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_networking_v1dns_record: - operation: - $ref: '#/paths/~1networking~1v1~1dns-records~1{id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_networking_v1dns_record: - operation: - $ref: '#/paths/~1networking~1v1~1dns-records~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/dns_records/methods/get_networking_v1dns_record' - - $ref: '#/components/x-stackQL-resources/dns_records/methods/list_networking_v1dns_records' - insert: - - $ref: '#/components/x-stackQL-resources/dns_records/methods/create_networking_v1dns_record' - update: - - $ref: '#/components/x-stackQL-resources/dns_records/methods/update_networking_v1dns_record' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/dns_records/methods/delete_networking_v1dns_record' -paths: - /networking/v1/networks: + description: The unique identifier for the transit gateway attachment. + tags: + - Transit Gateway Attachments (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Transit Gateway Attachment is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/private-link-accesses: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listNetworkingV1PrivateLinkAccesses + summary: List of Private Link Accesses + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all private link + accesses. + parameters: + - name: spec.display_name + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - prod-pl-use1 + - prod-pl-usw2 + description: >- + Filter the results by exact match for spec.display_name. Pass + multiple times to see results matching any of the values. + style: form + explode: true + - name: status.phase + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - PROVISIONING + - READY + description: >- + Filter the results by exact match for status.phase. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.network + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - n-00000 + - n-00001 + description: >- + Filter the results by exact match for spec.network. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 1000 + x-max-page-items: 1000 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Private Link Accesses (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Private Link Access. + content: + application/json: + schema: + type: object + description: >- + Add or remove access to PrivateLink endpoints by AWS account, + Azure subscription and GCP project ID. + + + Related guides: + + * [Use Google Cloud Private Service Connect with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + + * [Use Azure Private Link with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + + * [Use AWS PrivateLink with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + + ## The Private Link Accesses Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `private_link_accounts_per_network` | Number of AWS accounts + per network | + + | `private_link_subscriptions_per_network` | Number of Azure + subscriptions per network | + + | `private_service_connect_projects_per_network` | Number of + GCP projects per network | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAccessList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + Add or remove access to PrivateLink endpoints by AWS + account, Azure subscription and GCP project ID. + + + Related guides: + + * [Use Google Cloud Private Service Connect with + Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + + * [Use Azure Private Link with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + + * [Use AWS PrivateLink with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + + ## The Private Link Accesses Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `private_link_accounts_per_network` | Number of AWS + accounts per network | + + | `private_link_subscriptions_per_network` | Number of + Azure subscriptions per network | + + | `private_service_connect_projects_per_network` | + Number of GCP projects per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - PrivateLinkAccess + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAccessSpec + status: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAccessStatus + required: + - id + - metadata + - spec + - status + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createNetworkingV1PrivateLinkAccess + summary: Create a Private Link Access + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create a private link access. + tags: + - Private Link Accesses (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + Add or remove access to PrivateLink endpoints by AWS account, + Azure subscription and GCP project ID. + + + Related guides: + + * [Use Google Cloud Private Service Connect with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + + * [Use Azure Private Link with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + + * [Use AWS PrivateLink with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + + ## The Private Link Accesses Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `private_link_accounts_per_network` | Number of AWS accounts + per network | + + | `private_link_subscriptions_per_network` | Number of Azure + subscriptions per network | + + | `private_service_connect_projects_per_network` | Number of GCP + projects per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAccess + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.PrivateLinkAccessSpec' + status: + $ref: '#/components/schemas/networking.v1.PrivateLinkAccessStatus' + required: + - spec + responses: + '202': + description: A Private Link Access is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: >- + https://api.confluent.cloud/networking/v1/private-link-accesses/{id} + description: PrivateLinkAccess resource uri + content: + application/json: + schema: + type: object + description: >- + Add or remove access to PrivateLink endpoints by AWS account, + Azure subscription and GCP project ID. + + + Related guides: + + * [Use Google Cloud Private Service Connect with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + + * [Use Azure Private Link with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + + * [Use AWS PrivateLink with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + + ## The Private Link Accesses Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `private_link_accounts_per_network` | Number of AWS accounts + per network | + + | `private_link_subscriptions_per_network` | Number of Azure + subscriptions per network | + + | `private_service_connect_projects_per_network` | Number of + GCP projects per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAccess + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.PrivateLinkAccessSpec' + status: + $ref: '#/components/schemas/networking.v1.PrivateLinkAccessStatus' + required: + - spec + - status + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/private-link-accesses/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getNetworkingV1PrivateLinkAccess + summary: Read a Private Link Access + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read a private link access. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the private link access. + tags: + - Private Link Accesses (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Private Link Access. + content: + application/json: + schema: + type: object + description: >- + Add or remove access to PrivateLink endpoints by AWS account, + Azure subscription and GCP project ID. + + + Related guides: + + * [Use Google Cloud Private Service Connect with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + + * [Use Azure Private Link with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + + * [Use AWS PrivateLink with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + + ## The Private Link Accesses Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `private_link_accounts_per_network` | Number of AWS accounts + per network | + + | `private_link_subscriptions_per_network` | Number of Azure + subscriptions per network | + + | `private_service_connect_projects_per_network` | Number of + GCP projects per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAccess + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.PrivateLinkAccessSpec' + status: + $ref: '#/components/schemas/networking.v1.PrivateLinkAccessStatus' + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateNetworkingV1PrivateLinkAccess + summary: Update a Private Link Access + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update a private link access. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the private link access. + tags: + - Private Link Accesses (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + Add or remove access to PrivateLink endpoints by AWS account, + Azure subscription and GCP project ID. + + + Related guides: + + * [Use Google Cloud Private Service Connect with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + + * [Use Azure Private Link with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + + * [Use AWS PrivateLink with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + + ## The Private Link Accesses Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `private_link_accounts_per_network` | Number of AWS accounts + per network | + + | `private_link_subscriptions_per_network` | Number of Azure + subscriptions per network | + + | `private_service_connect_projects_per_network` | Number of GCP + projects per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAccess + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.PrivateLinkAccessSpec' + status: + $ref: '#/components/schemas/networking.v1.PrivateLinkAccessStatus' + required: + - spec + responses: + '200': + description: Private Link Access. + content: + application/json: + schema: + type: object + description: >- + Add or remove access to PrivateLink endpoints by AWS account, + Azure subscription and GCP project ID. + + + Related guides: + + * [Use Google Cloud Private Service Connect with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + + * [Use Azure Private Link with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + + * [Use AWS PrivateLink with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + + ## The Private Link Accesses Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `private_link_accounts_per_network` | Number of AWS accounts + per network | + + | `private_link_subscriptions_per_network` | Number of Azure + subscriptions per network | + + | `private_service_connect_projects_per_network` | Number of + GCP projects per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAccess + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.PrivateLinkAccessSpec' + status: + $ref: '#/components/schemas/networking.v1.PrivateLinkAccessStatus' + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteNetworkingV1PrivateLinkAccess + summary: Delete a Private Link Access + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete a private link access. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the private link access. + tags: + - Private Link Accesses (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Private Link Access is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/network-link-services: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listNetworkingV1NetworkLinkServices + summary: List of Network Link Services + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all network link + services. + parameters: + - name: spec.display_name + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - prod-net-1-nls + - dev-net-1-nls + description: >- + Filter the results by exact match for spec.display_name. Pass + multiple times to see results matching any of the values. + style: form + explode: true + - name: status.phase + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - READY + description: >- + Filter the results by exact match for status.phase. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.network + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - n-00000 + - n-00001 + description: >- + Filter the results by exact match for spec.network. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 1000 + x-max-page-items: 1000 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Network Link Services (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Network Link Service. + content: + application/json: + schema: + type: object + description: >- + Network Link Service is associated with a Private Link + Confluent Cloud Network. + + It enables connectivity from other Private Link Confluent + Cloud Networks based on + + the configured accept policies. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Services Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `network_link_service_per_network` | Number of network link + services per network | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkServiceList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + Network Link Service is associated with a Private Link + Confluent Cloud Network. + + It enables connectivity from other Private Link + Confluent Cloud Networks based on + + the configured accept policies. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Services Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `network_link_service_per_network` | Number of network + link services per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - NetworkLinkService + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.NetworkLinkServiceSpec + status: + $ref: >- + #/components/schemas/networking.v1.NetworkLinkServiceStatus + required: + - id + - metadata + - spec + - status + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createNetworkingV1NetworkLinkService + summary: Create a Network Link Service + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create a network link service. + tags: + - Network Link Services (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + Network Link Service is associated with a Private Link Confluent + Cloud Network. + + It enables connectivity from other Private Link Confluent Cloud + Networks based on + + the configured accept policies. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Services Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `network_link_service_per_network` | Number of network link + services per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkService + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkLinkServiceSpec' + status: + $ref: '#/components/schemas/networking.v1.NetworkLinkServiceStatus' + required: + - spec + responses: + '202': + description: A Network Link Service is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: >- + https://api.confluent.cloud/networking/v1/network-link-services/{id} + description: NetworkLinkService resource uri + content: + application/json: + schema: + type: object + description: >- + Network Link Service is associated with a Private Link + Confluent Cloud Network. + + It enables connectivity from other Private Link Confluent + Cloud Networks based on + + the configured accept policies. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Services Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `network_link_service_per_network` | Number of network link + services per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkService + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkLinkServiceSpec' + status: + $ref: >- + #/components/schemas/networking.v1.NetworkLinkServiceStatus + required: + - spec + - status + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/network-link-services/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getNetworkingV1NetworkLinkService + summary: Read a Network Link Service + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read a network link service. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the network link service. + tags: + - Network Link Services (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Network Link Service. + content: + application/json: + schema: + type: object + description: >- + Network Link Service is associated with a Private Link + Confluent Cloud Network. + + It enables connectivity from other Private Link Confluent + Cloud Networks based on + + the configured accept policies. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Services Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `network_link_service_per_network` | Number of network link + services per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkService + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkLinkServiceSpec' + status: + $ref: >- + #/components/schemas/networking.v1.NetworkLinkServiceStatus + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateNetworkingV1NetworkLinkService + summary: Update a Network Link Service + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update a network link service. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the network link service. + tags: + - Network Link Services (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + Network Link Service is associated with a Private Link Confluent + Cloud Network. + + It enables connectivity from other Private Link Confluent Cloud + Networks based on + + the configured accept policies. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Services Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `network_link_service_per_network` | Number of network link + services per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkService + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkLinkServiceSpec' + status: + $ref: '#/components/schemas/networking.v1.NetworkLinkServiceStatus' + required: + - spec + responses: + '200': + description: Network Link Service. + content: + application/json: + schema: + type: object + description: >- + Network Link Service is associated with a Private Link + Confluent Cloud Network. + + It enables connectivity from other Private Link Confluent + Cloud Networks based on + + the configured accept policies. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Services Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `network_link_service_per_network` | Number of network link + services per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkService + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkLinkServiceSpec' + status: + $ref: >- + #/components/schemas/networking.v1.NetworkLinkServiceStatus + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteNetworkingV1NetworkLinkService + summary: Delete a Network Link Service + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete a network link service. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the network link service. + tags: + - Network Link Services (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Network Link Service is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/network-link-endpoints: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listNetworkingV1NetworkLinkEndpoints + summary: List of Network Link Endpoints + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all network link + endpoints. + parameters: + - name: spec.display_name + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - prod-net-1-nle + - dev-net-1-nle + description: >- + Filter the results by exact match for spec.display_name. Pass + multiple times to see results matching any of the values. + style: form + explode: true + - name: status.phase + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - READY + - PENDING_ACCEPT + description: >- + Filter the results by exact match for status.phase. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.network + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - n-00000 + - n-00001 + description: >- + Filter the results by exact match for spec.network. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: spec.network_link_service + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - nls-abcde + - nls-00000 + description: >- + Filter the results by exact match for spec.network_link_service. + Pass multiple times to see results matching any of the values. + style: form + explode: true + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 1000 + x-max-page-items: 1000 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Network Link Endpoints (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Network Link Endpoint. + content: + application/json: + schema: + type: object + description: >- + A Network Link Enpoint is associated with a Private Link + Confluent Cloud Network at the origin and a + + Network Link Service (associated with another Private Link + Confluent Cloud Network) at the target. + + It enables connectivity between the origin network and the + target network. + + It can only be associated with a Private Link network. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Endpoints Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `network_link_endpoints_per_network` | Number of network + link endpoints per network | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkEndpointList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + A Network Link Enpoint is associated with a Private Link + Confluent Cloud Network at the origin and a + + Network Link Service (associated with another Private + Link Confluent Cloud Network) at the target. + + It enables connectivity between the origin network and + the target network. + + It can only be associated with a Private Link network. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Endpoints Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `network_link_endpoints_per_network` | Number of + network link endpoints per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - NetworkLinkEndpoint + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.NetworkLinkEndpointSpec + status: + $ref: >- + #/components/schemas/networking.v1.NetworkLinkEndpointStatus + required: + - id + - metadata + - spec + - status + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createNetworkingV1NetworkLinkEndpoint + summary: Create a Network Link Endpoint + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create a network link endpoint. + tags: + - Network Link Endpoints (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + A Network Link Enpoint is associated with a Private Link + Confluent Cloud Network at the origin and a + + Network Link Service (associated with another Private Link + Confluent Cloud Network) at the target. + + It enables connectivity between the origin network and the + target network. + + It can only be associated with a Private Link network. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Endpoints Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `network_link_endpoints_per_network` | Number of network link + endpoints per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkEndpoint + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointSpec' + status: + $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointStatus' + required: + - spec + responses: + '202': + description: A Network Link Endpoint is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: >- + https://api.confluent.cloud/networking/v1/network-link-endpoints/{id} + description: NetworkLinkEndpoint resource uri + content: + application/json: + schema: + type: object + description: >- + A Network Link Enpoint is associated with a Private Link + Confluent Cloud Network at the origin and a + + Network Link Service (associated with another Private Link + Confluent Cloud Network) at the target. + + It enables connectivity between the origin network and the + target network. + + It can only be associated with a Private Link network. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Endpoints Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `network_link_endpoints_per_network` | Number of network + link endpoints per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkEndpoint + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointSpec' + status: + $ref: >- + #/components/schemas/networking.v1.NetworkLinkEndpointStatus + required: + - spec + - status + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/network-link-endpoints/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getNetworkingV1NetworkLinkEndpoint + summary: Read a Network Link Endpoint + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read a network link endpoint. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the network link endpoint. + tags: + - Network Link Endpoints (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Network Link Endpoint. + content: + application/json: + schema: + type: object + description: >- + A Network Link Enpoint is associated with a Private Link + Confluent Cloud Network at the origin and a + + Network Link Service (associated with another Private Link + Confluent Cloud Network) at the target. + + It enables connectivity between the origin network and the + target network. + + It can only be associated with a Private Link network. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Endpoints Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `network_link_endpoints_per_network` | Number of network + link endpoints per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkEndpoint + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointSpec' + status: + $ref: >- + #/components/schemas/networking.v1.NetworkLinkEndpointStatus + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateNetworkingV1NetworkLinkEndpoint + summary: Update a Network Link Endpoint + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update a network link endpoint. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the network link endpoint. + tags: + - Network Link Endpoints (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + A Network Link Enpoint is associated with a Private Link + Confluent Cloud Network at the origin and a + + Network Link Service (associated with another Private Link + Confluent Cloud Network) at the target. + + It enables connectivity between the origin network and the + target network. + + It can only be associated with a Private Link network. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Endpoints Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `network_link_endpoints_per_network` | Number of network link + endpoints per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkEndpoint + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointSpec' + status: + $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointStatus' + required: + - spec + responses: + '200': + description: Network Link Endpoint. + content: + application/json: + schema: + type: object + description: >- + A Network Link Enpoint is associated with a Private Link + Confluent Cloud Network at the origin and a + + Network Link Service (associated with another Private Link + Confluent Cloud Network) at the target. + + It enables connectivity between the origin network and the + target network. + + It can only be associated with a Private Link network. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Endpoints Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `network_link_endpoints_per_network` | Number of network + link endpoints per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkEndpoint + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointSpec' + status: + $ref: >- + #/components/schemas/networking.v1.NetworkLinkEndpointStatus + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteNetworkingV1NetworkLinkEndpoint + summary: Delete a Network Link Endpoint + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete a network link endpoint. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the network link endpoint. + tags: + - Network Link Endpoints (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Network Link Endpoint is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/network-link-service-associations: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listNetworkingV1NetworkLinkServiceAssociations + summary: List of Network Link Service Associations + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all network link service + associations. + parameters: + - name: status.phase + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - READY + - PENDING_ACCEPT + description: >- + Filter the results by exact match for status.phase. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: spec.network_link_service + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: nls-abcde + description: Filter the results by exact match for spec.network_link_service. + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 1000 + x-max-page-items: 1000 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Network Link Service Associations (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Network Link Service Association. + content: + application/json: + schema: + type: object + description: >- + List of incoming Network Link Enpoints associated with the + Network Link Service. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Service Associations Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkServiceAssociationList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + List of incoming Network Link Enpoints associated with + the Network Link Service. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Service Associations Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - NetworkLinkServiceAssociation + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.NetworkLinkServiceAssociationSpec + status: + $ref: >- + #/components/schemas/networking.v1.NetworkLinkServiceAssociationStatus + required: + - id + - metadata + - spec + - status + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/network-link-service-associations/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getNetworkingV1NetworkLinkServiceAssociation + summary: Read a Network Link Service Association + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read a network link service association. + parameters: + - name: spec.network_link_service + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: nls-abcde + description: Scope the operation to the given spec.network_link_service. + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the network link service association. + tags: + - Network Link Service Associations (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Network Link Service Association. + content: + application/json: + schema: + type: object + description: >- + List of incoming Network Link Enpoints associated with the + Network Link Service. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Service Associations Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkServiceAssociation + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.NetworkLinkServiceAssociationSpec + status: + $ref: >- + #/components/schemas/networking.v1.NetworkLinkServiceAssociationStatus + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/ip-addresses: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listNetworkingV1IpAddresses + summary: List of IP Addresses + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Related guide: [Use Public Egress IP addresses on Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + + Retrieve a sorted, filtered, paginated list of all IP Addresses. + parameters: + - name: cloud + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - GCP + - AWS + description: >- + Filter the results by exact match for cloud. Pass multiple times to + see results matching any of the values. + style: form + explode: true + - name: region + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - us-central1 + - us-east-1 + description: >- + Filter the results by exact match for region. Pass multiple times to + see results matching any of the values. + style: form + explode: true + - name: services + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - KAFKA + - CONNECT + description: >- + Filter the results by exact match for services. Pass multiple times + to see results matching any of the values. + style: form + explode: true + - name: address_type + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - INGRESS + - EGRESS + description: >- + Filter the results by exact match for address_type. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - IP Addresses (networking/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: IP Address. + content: + application/json: + schema: + type: object + description: >- + IP Addresses + + + Related guide: [Use Public Egress IP Addresses on Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + + ## The IP Addresses Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IpAddressList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + IP Addresses + + + Related guide: [Use Public Egress IP addresses on + Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + + ## The IP Addresses Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - IpAddress + ip_prefix: + type: string + pattern: ^\d+\.\d+\.\d+\.\d+/\d+$ + description: The IP Address range. + example: 10.200.0.0/28 + cloud: + type: string + description: >- + The cloud service provider in which the address + exists. + x-extensible-enum: + - AWS + - GCP + - AZURE + - ANY + example: AWS + region: + type: string + description: The region/location where the IP Address is in use. + example: us-east-1 + services: + type: array + description: The service types that will use the address. + items: + type: string + description: Address service type. + x-extensible-enum: + - KAFKA + - CONNECT + - EXTERNAL_OAUTH + example: CONNECT + uniqueItems: true + minItems: 1 + address_type: + type: string + description: Whether the address is used for egress or ingress. + x-extensible-enum: + - INGRESS + - EGRESS + example: EGRESS + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/private-link-attachments: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listNetworkingV1PrivateLinkAttachments + summary: List of Private Link Attachments + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all private link + attachments. + parameters: + - name: spec.display_name + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - prod-gcp-us-central1 + - prod-aws-useast1 + description: >- + Filter the results by exact match for spec.display_name. Pass + multiple times to see results matching any of the values. + style: form + explode: true + - name: spec.cloud + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - GCP + - AWS + description: >- + Filter the results by exact match for spec.cloud. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: spec.region + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - us-central1 + - us-east-1 + description: >- + Filter the results by exact match for spec.region. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: status.phase + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - PROVISIONING + - READY + description: >- + Filter the results by exact match for status.phase. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Private Link Attachments (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Private Link Attachment. + content: + application/json: + schema: + type: object + description: >- + PrivateLink attachment objects represent reservations to + establish PrivateLink connections + + to a cloud region in order to access resources that belong to + a Confluent Cloud Environment. + + The API allows you to list, create, read update and delete + your PrivateLink attachments. + + + + ## The Private Link Attachments Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `private_link_attachments_per_environment` | Number of + PrivateLink Attachments per environment | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAttachmentList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + PrivateLink attachment objects represent reservations to + establish PrivateLink connections + + to a cloud region in order to access resources that + belong to a Confluent Cloud Environment. + + The API allows you to list, create, read update and + delete your PrivateLink attachments. + + + + ## The Private Link Attachments Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `private_link_attachments_per_environment` | Number of + PrivateLink Attachments per environment | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - PrivateLinkAttachment + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentSpec + status: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentStatus + required: + - id + - metadata + - spec + - status + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createNetworkingV1PrivateLinkAttachment + summary: Create a Private Link Attachment + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create a private link attachment. + tags: + - Private Link Attachments (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + PrivateLink attachment objects represent reservations to + establish PrivateLink connections + + to a cloud region in order to access resources that belong to a + Confluent Cloud Environment. + + The API allows you to list, create, read update and delete your + PrivateLink attachments. + + + + ## The Private Link Attachments Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `private_link_attachments_per_environment` | Number of + PrivateLink Attachments per environment | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAttachment + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentSpec' + status: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentStatus + required: + - spec + responses: + '202': + description: A Private Link Attachment is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: >- + https://api.confluent.cloud/networking/v1/private-link-attachments/{id} + description: PrivateLinkAttachment resource uri + content: + application/json: + schema: + type: object + description: >- + PrivateLink attachment objects represent reservations to + establish PrivateLink connections + + to a cloud region in order to access resources that belong to + a Confluent Cloud Environment. + + The API allows you to list, create, read update and delete + your PrivateLink attachments. + + + + ## The Private Link Attachments Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `private_link_attachments_per_environment` | Number of + PrivateLink Attachments per environment | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAttachment + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentSpec + status: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentStatus + required: + - spec + - status + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/private-link-attachments/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getNetworkingV1PrivateLinkAttachment + summary: Read a Private Link Attachment + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read a private link attachment. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the private link attachment. + tags: + - Private Link Attachments (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Private Link Attachment. + content: + application/json: + schema: + type: object + description: >- + PrivateLink attachment objects represent reservations to + establish PrivateLink connections + + to a cloud region in order to access resources that belong to + a Confluent Cloud Environment. + + The API allows you to list, create, read update and delete + your PrivateLink attachments. + + + + ## The Private Link Attachments Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `private_link_attachments_per_environment` | Number of + PrivateLink Attachments per environment | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAttachment + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentSpec + status: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentStatus + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateNetworkingV1PrivateLinkAttachment + summary: Update a Private Link Attachment + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update a private link attachment. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the private link attachment. + tags: + - Private Link Attachments (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + PrivateLink attachment objects represent reservations to + establish PrivateLink connections + + to a cloud region in order to access resources that belong to a + Confluent Cloud Environment. + + The API allows you to list, create, read update and delete your + PrivateLink attachments. + + + + ## The Private Link Attachments Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `private_link_attachments_per_environment` | Number of + PrivateLink Attachments per environment | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAttachment + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentSpec' + status: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentStatus + required: + - spec + responses: + '200': + description: Private Link Attachment. + content: + application/json: + schema: + type: object + description: >- + PrivateLink attachment objects represent reservations to + establish PrivateLink connections + + to a cloud region in order to access resources that belong to + a Confluent Cloud Environment. + + The API allows you to list, create, read update and delete + your PrivateLink attachments. + + + + ## The Private Link Attachments Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `private_link_attachments_per_environment` | Number of + PrivateLink Attachments per environment | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAttachment + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentSpec + status: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentStatus + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteNetworkingV1PrivateLinkAttachment + summary: Delete a Private Link Attachment + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete a private link attachment. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the private link attachment. + tags: + - Private Link Attachments (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Private Link Attachment is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/private-link-attachment-connections: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listNetworkingV1PrivateLinkAttachmentConnections + summary: List of Private Link Attachment Connections + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all private link + attachment connections. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.private_link_attachment + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: platt-00000 + description: Filter the results by exact match for spec.private_link_attachment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Private Link Attachment Connections (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Private Link Attachment Connection. + content: + application/json: + schema: + type: object + description: >- + PrivateLink attachment connection objects represent + connections established to a cloud region + + in order to access resources that belong to a Confluent Cloud + Environment. + + The API allows you to list, create, read update and delete + your PrivateLink attachment connections. + + + + ## The Private Link Attachment Connections Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAttachmentConnectionList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + PrivateLink attachment connection objects represent + connections established to a cloud region + + in order to access resources that belong to a Confluent + Cloud Environment. + + The API allows you to list, create, read update and + delete your PrivateLink attachment connections. + + + + ## The Private Link Attachment Connections Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - PrivateLinkAttachmentConnection + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentConnectionSpec + status: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentConnectionStatus + required: + - id + - metadata + - spec + - status + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createNetworkingV1PrivateLinkAttachmentConnection + summary: Create a Private Link Attachment Connection + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create a private link attachment connection. + tags: + - Private Link Attachment Connections (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + PrivateLink attachment connection objects represent connections + established to a cloud region + + in order to access resources that belong to a Confluent Cloud + Environment. + + The API allows you to list, create, read update and delete your + PrivateLink attachment connections. + + + + ## The Private Link Attachment Connections Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAttachmentConnection + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentConnectionSpec + status: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentConnectionStatus + required: + - spec + responses: + '202': + description: A Private Link Attachment Connection is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: >- + https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id} + description: PrivateLinkAttachmentConnection resource uri + content: + application/json: + schema: + type: object + description: >- + PrivateLink attachment connection objects represent + connections established to a cloud region + + in order to access resources that belong to a Confluent Cloud + Environment. + + The API allows you to list, create, read update and delete + your PrivateLink attachment connections. + + + + ## The Private Link Attachment Connections Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAttachmentConnection + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentConnectionSpec + status: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentConnectionStatus + required: + - spec + - status + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/private-link-attachment-connections/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getNetworkingV1PrivateLinkAttachmentConnection + summary: Read a Private Link Attachment Connection + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read a private link attachment connection. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the private link attachment connection. + tags: + - Private Link Attachment Connections (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Private Link Attachment Connection. + content: + application/json: + schema: + type: object + description: >- + PrivateLink attachment connection objects represent + connections established to a cloud region + + in order to access resources that belong to a Confluent Cloud + Environment. + + The API allows you to list, create, read update and delete + your PrivateLink attachment connections. + + + + ## The Private Link Attachment Connections Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAttachmentConnection + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentConnectionSpec + status: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentConnectionStatus + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateNetworkingV1PrivateLinkAttachmentConnection + summary: Update a Private Link Attachment Connection + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update a private link attachment connection. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the private link attachment connection. + tags: + - Private Link Attachment Connections (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + PrivateLink attachment connection objects represent connections + established to a cloud region + + in order to access resources that belong to a Confluent Cloud + Environment. + + The API allows you to list, create, read update and delete your + PrivateLink attachment connections. + + + + ## The Private Link Attachment Connections Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAttachmentConnection + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentConnectionSpec + status: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentConnectionStatus + required: + - spec + responses: + '200': + description: Private Link Attachment Connection. + content: + application/json: + schema: + type: object + description: >- + PrivateLink attachment connection objects represent + connections established to a cloud region + + in order to access resources that belong to a Confluent Cloud + Environment. + + The API allows you to list, create, read update and delete + your PrivateLink attachment connections. + + + + ## The Private Link Attachment Connections Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAttachmentConnection + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentConnectionSpec + status: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentConnectionStatus + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteNetworkingV1PrivateLinkAttachmentConnection + summary: Delete a Private Link Attachment Connection + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete a private link attachment connection. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the private link attachment connection. + tags: + - Private Link Attachment Connections (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Private Link Attachment Connection is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/dns-forwarders: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listNetworkingV1DnsForwarders + summary: List of DNS Forwarders + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all DNS forwarders. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - DNS Forwarders (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: DNS Forwarder. + content: + application/json: + schema: + type: object + description: >- + Add, remove, and update DNS forwarder for your gateway. + + + Related guides: + + * [Use VPC peering connections with Confluent Cloud on + AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + + * [Use VNet peering connections with Confluent Cloud on + Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + + ## The DNS Forwarders Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - DnsForwarderList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + Add, remove, and update DNS forwarder for your gateway. + + + Related guides: + + * [Use VPC peering connections with Confluent Cloud on + AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + + * [Use VNet peering connections with Confluent Cloud on + Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + + ## The DNS Forwarders Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - DnsForwarder + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.DnsForwarderSpec' + status: + $ref: >- + #/components/schemas/networking.v1.DnsForwarderStatus + required: + - id + - metadata + - spec + - status + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createNetworkingV1DnsForwarder + summary: Create a DNS Forwarder + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create a DNS forwarder. + tags: + - DNS Forwarders (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + Add, remove, and update DNS forwarder for your gateway. + + + Related guides: + + * [Use VPC peering connections with Confluent Cloud on + AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + + * [Use VNet peering connections with Confluent Cloud on + Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + + ## The DNS Forwarders Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - DnsForwarder + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.DnsForwarderSpec' + status: + $ref: '#/components/schemas/networking.v1.DnsForwarderStatus' + required: + - spec + responses: + '202': + description: A DNS Forwarder is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/networking/v1/dns-forwarders/{id} + description: DnsForwarder resource uri + content: + application/json: + schema: + type: object + description: >- + Add, remove, and update DNS forwarder for your gateway. + + + Related guides: + + * [Use VPC peering connections with Confluent Cloud on + AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + + * [Use VNet peering connections with Confluent Cloud on + Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + + ## The DNS Forwarders Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - DnsForwarder + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.DnsForwarderSpec' + status: + $ref: '#/components/schemas/networking.v1.DnsForwarderStatus' + required: + - spec + - status + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/dns-forwarders/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getNetworkingV1DnsForwarder + summary: Read a DNS Forwarder + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read a DNS forwarder. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the DNS forwarder. + tags: + - DNS Forwarders (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: DNS Forwarder. + content: + application/json: + schema: + type: object + description: >- + Add, remove, and update DNS forwarder for your gateway. + + + Related guides: + + * [Use VPC peering connections with Confluent Cloud on + AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + + * [Use VNet peering connections with Confluent Cloud on + Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + + ## The DNS Forwarders Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - DnsForwarder + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.DnsForwarderSpec' + status: + $ref: '#/components/schemas/networking.v1.DnsForwarderStatus' + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateNetworkingV1DnsForwarder + summary: Update a DNS Forwarder + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update a DNS forwarder. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the DNS forwarder. + tags: + - DNS Forwarders (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + Add, remove, and update DNS forwarder for your gateway. + + + Related guides: + + * [Use VPC peering connections with Confluent Cloud on + AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + + * [Use VNet peering connections with Confluent Cloud on + Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + + ## The DNS Forwarders Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - DnsForwarder + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.DnsForwarderSpec' + status: + $ref: '#/components/schemas/networking.v1.DnsForwarderStatus' + required: + - spec + responses: + '200': + description: DNS Forwarder. + content: + application/json: + schema: + type: object + description: >- + Add, remove, and update DNS forwarder for your gateway. + + + Related guides: + + * [Use VPC peering connections with Confluent Cloud on + AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + + * [Use VNet peering connections with Confluent Cloud on + Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + + ## The DNS Forwarders Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - DnsForwarder + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.DnsForwarderSpec' + status: + $ref: '#/components/schemas/networking.v1.DnsForwarderStatus' + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteNetworkingV1DnsForwarder + summary: Delete a DNS Forwarder + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete a DNS forwarder. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the DNS forwarder. + tags: + - DNS Forwarders (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A DNS Forwarder is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/access-points: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listNetworkingV1AccessPoints + summary: List of Access Points + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all access points. + parameters: + - name: spec.display_name + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - prod-ap-egress-use1 + - prod-ap-egress-usw2 + description: >- + Filter the results by exact match for spec.display_name. Pass + multiple times to see results matching any of the values. + style: form + explode: true + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.gateway + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - gw-00000 + - gw-00001 + description: >- + Filter the results by exact match for spec.gateway. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: id + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - ap-1 + - ap-2 + description: >- + Filter the results by exact match for id. Pass multiple times to see + results matching any of the values. + style: form + explode: true + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Access Points (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Access Point. + content: + application/json: + schema: + type: object + description: >- + AccessPoint objects represent network connections in and out + of Gateways. + + This API allows you to list, create, read, update, and delete + your access points. + + + + ## The Access Points Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - AccessPointList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + AccessPoint objects represent network connections in and + out of Gateways. + + This API allows you to list, create, read, update, and + delete your access points. + + + + ## The Access Points Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - AccessPoint + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.AccessPointSpec' + status: + $ref: '#/components/schemas/networking.v1.AccessPointStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createNetworkingV1AccessPoint + summary: Create an Access Point + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create an access point. + tags: + - Access Points (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + AccessPoint objects represent network connections in and out of + Gateways. + + This API allows you to list, create, read, update, and delete + your access points. + + + + ## The Access Points Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - AccessPoint + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.AccessPointSpec' + status: + $ref: '#/components/schemas/networking.v1.AccessPointStatus' + required: + - spec + responses: + '202': + description: An Access Point is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/networking/v1/access-points/{id} + description: AccessPoint resource uri + content: + application/json: + schema: + type: object + description: >- + AccessPoint objects represent network connections in and out + of Gateways. + + This API allows you to list, create, read, update, and delete + your access points. + + + + ## The Access Points Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - AccessPoint + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.AccessPointSpec' + status: + $ref: '#/components/schemas/networking.v1.AccessPointStatus' + required: + - spec + - status + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/access-points/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getNetworkingV1AccessPoint + summary: Read an Access Point + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read an access point. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the access point. + tags: + - Access Points (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Access Point. + content: + application/json: + schema: + type: object + description: >- + AccessPoint objects represent network connections in and out + of Gateways. + + This API allows you to list, create, read, update, and delete + your access points. + + + + ## The Access Points Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - AccessPoint + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.AccessPointSpec' + status: + $ref: '#/components/schemas/networking.v1.AccessPointStatus' + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateNetworkingV1AccessPoint + summary: Update an Access Point + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update an access point. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the access point. + tags: + - Access Points (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + AccessPoint objects represent network connections in and out of + Gateways. + + This API allows you to list, create, read, update, and delete + your access points. + + + + ## The Access Points Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - AccessPoint + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.AccessPointSpec' + status: + $ref: '#/components/schemas/networking.v1.AccessPointStatus' + required: + - spec + responses: + '200': + description: Access Point. + content: + application/json: + schema: + type: object + description: >- + AccessPoint objects represent network connections in and out + of Gateways. + + This API allows you to list, create, read, update, and delete + your access points. + + + + ## The Access Points Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - AccessPoint + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.AccessPointSpec' + status: + $ref: '#/components/schemas/networking.v1.AccessPointStatus' + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteNetworkingV1AccessPoint + summary: Delete an Access Point + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete an access point. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the access point. + tags: + - Access Points (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: An Access Point is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/dns-records: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listNetworkingV1DnsRecords + summary: List of DNS Records + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all DNS records. + parameters: + - name: spec.display_name + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - prod-dnsrec-1 + - prod-dnsrec-2 + description: >- + Filter the results by exact match for spec.display_name. Pass + multiple times to see results matching any of the values. + style: form + explode: true + - name: spec.domain + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - example.com + - example2.com + description: >- + Filter the results by exact match for spec.domain. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.gateway + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - gw-00000 + - gw-00001 + description: >- + Filter the results by exact match for spec.gateway. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: resource + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - ap-11111 + - ap-22222 + description: >- + Filter the results by exact match for resource. Pass multiple times + to see results matching any of the values. + style: form + explode: true + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - DNS Records (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: DNS Record. + content: + application/json: + schema: + type: object + description: >- + DNS record objects are associated with Confluent Cloud + networking resources. This API allows you to list, create, + read, update, and delete your DNS records. + + + ## The DNS Records Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - DnsRecordList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + DNS record objects are associated with Confluent Cloud + networking resources. This API allows you to list, + create, read, update, and delete your DNS records. + + + ## The DNS Records Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - DnsRecord + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.DnsRecordSpec' + status: + $ref: '#/components/schemas/networking.v1.DnsRecordStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createNetworkingV1DnsRecord + summary: Create a DNS Record + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create a DNS record. + tags: + - DNS Records (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + DNS record objects are associated with Confluent Cloud + networking resources. This API allows you to list, create, read, + update, and delete your DNS records. + + + ## The DNS Records Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - DnsRecord + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.DnsRecordSpec' + status: + $ref: '#/components/schemas/networking.v1.DnsRecordStatus' + required: + - spec + responses: + '202': + description: A DNS Record is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/networking/v1/dns-records/{id} + description: DnsRecord resource uri + content: + application/json: + schema: + type: object + description: >- + DNS record objects are associated with Confluent Cloud + networking resources. This API allows you to list, create, + read, update, and delete your DNS records. + + + ## The DNS Records Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - DnsRecord + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.DnsRecordSpec' + status: + $ref: '#/components/schemas/networking.v1.DnsRecordStatus' + required: + - spec + - status + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/dns-records/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getNetworkingV1DnsRecord + summary: Read a DNS Record + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read a DNS record. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the DNS record. + tags: + - DNS Records (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: DNS Record. + content: + application/json: + schema: + type: object + description: >- + DNS record objects are associated with Confluent Cloud + networking resources. This API allows you to list, create, + read, update, and delete your DNS records. + + + ## The DNS Records Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - DnsRecord + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.DnsRecordSpec' + status: + $ref: '#/components/schemas/networking.v1.DnsRecordStatus' + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateNetworkingV1DnsRecord + summary: Update a DNS Record + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update a DNS record. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the DNS record. + tags: + - DNS Records (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + DNS record objects are associated with Confluent Cloud + networking resources. This API allows you to list, create, read, + update, and delete your DNS records. + + + ## The DNS Records Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - DnsRecord + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.DnsRecordSpec' + status: + $ref: '#/components/schemas/networking.v1.DnsRecordStatus' + required: + - spec + responses: + '200': + description: DNS Record. + content: + application/json: + schema: + type: object + description: >- + DNS record objects are associated with Confluent Cloud + networking resources. This API allows you to list, create, + read, update, and delete your DNS records. + + + ## The DNS Records Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - DnsRecord + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.DnsRecordSpec' + status: + $ref: '#/components/schemas/networking.v1.DnsRecordStatus' + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteNetworkingV1DnsRecord + summary: Delete a DNS Record + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete a DNS record. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the DNS record. + tags: + - DNS Records (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A DNS Record is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/gateways: get: - operationId: listNetworkingV1Networks - summary: List of Networks - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listNetworkingV1Gateways + summary: List of Gateways + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all gateways. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: gateway_type + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - AwsEgressPrivateLink + - AzureEgressPrivateLink + description: >- + Filter the results by exact match for gateway_type. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: id + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - gw-1 + - gw-2 + description: >- + Filter the results by exact match for id. Pass multiple times to see + results matching any of the values. + style: form + explode: true + - name: spec.config.region + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - us-east-1 + - us-west-2 + description: >- + Filter the results by exact match for spec.config.region. Pass + multiple times to see results matching any of the values. + style: form + explode: true + - name: spec.display_name + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - prod-gateway-ingress-use1 + - prod-gateway-ingress-use2 + description: >- + Filter the results by exact match for spec.display_name. Pass + multiple times to see results matching any of the values. + style: form + explode: true + - name: status.phase + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - PROVISIONING + - READY + description: >- + Filter the results by exact match for status.phase. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: page_size + in: query + required: false + schema: + type: integer + default: 100 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Gateways (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Gateway. + content: + application/json: + schema: + type: object + description: >- + A Gateway represents a slice of traffic capacity in a region + that is reserved for a customer. + + + + ## The Gateways Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `gateways_per_region_per_environment` | Number of Gateways + per region per environment | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - GatewayList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + A Gateway represents a slice of traffic capacity in a + region that is reserved for a customer. + + + + ## The Gateways Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `gateways_per_region_per_environment` | Number of + Gateways per region per environment | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - Gateway + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.GatewaySpec' + status: + $ref: '#/components/schemas/networking.v1.GatewayStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createNetworkingV1Gateway + summary: Create a Gateway + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create a gateway. + tags: + - Gateways (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + A Gateway represents a slice of traffic capacity in a region + that is reserved for a customer. + + + + ## The Gateways Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `gateways_per_region_per_environment` | Number of Gateways per + region per environment | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Gateway + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.GatewaySpec' + status: + $ref: '#/components/schemas/networking.v1.GatewayStatus' + required: + - spec + responses: + '202': + description: A Gateway is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/networking/v1/gateways/{id} + description: Gateway resource uri + content: + application/json: + schema: + type: object + description: >- + A Gateway represents a slice of traffic capacity in a region + that is reserved for a customer. + + + + ## The Gateways Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `gateways_per_region_per_environment` | Number of Gateways + per region per environment | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Gateway + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.GatewaySpec' + status: + $ref: '#/components/schemas/networking.v1.GatewayStatus' + required: + - spec + - status + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /networking/v1/gateways/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getNetworkingV1Gateway + summary: Read a Gateway + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read a gateway. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the gateway. + tags: + - Gateways (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Gateway. + content: + application/json: + schema: + type: object + description: >- + A Gateway represents a slice of traffic capacity in a region + that is reserved for a customer. + + + + ## The Gateways Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `gateways_per_region_per_environment` | Number of Gateways + per region per environment | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Gateway + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.GatewaySpec' + status: + $ref: '#/components/schemas/networking.v1.GatewayStatus' + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateNetworkingV1Gateway + summary: Update a Gateway + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update a gateway. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the gateway. + tags: + - Gateways (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + A Gateway represents a slice of traffic capacity in a region + that is reserved for a customer. + + + + ## The Gateways Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `gateways_per_region_per_environment` | Number of Gateways per + region per environment | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Gateway + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.GatewaySpec' + status: + $ref: '#/components/schemas/networking.v1.GatewayStatus' + required: + - spec + responses: + '200': + description: Gateway. + content: + application/json: + schema: + type: object + description: >- + A Gateway represents a slice of traffic capacity in a region + that is reserved for a customer. + + + + ## The Gateways Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `gateways_per_region_per_environment` | Number of Gateways + per region per environment | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Gateway + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.GatewaySpec' + status: + $ref: '#/components/schemas/networking.v1.GatewayStatus' + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteNetworkingV1Gateway + summary: Delete a Gateway + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete a gateway. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the gateway. + tags: + - Gateways (networking/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Gateway is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true +components: + schemas: + MultipleSearchFilter: + description: Filter a collection by a string search for one or more values + type: array + items: + type: string + SearchFilter: + description: Filter a collection by a string search + type: string + networking.v1.NetworkList: + type: object + description: >- + `Network` represents a network (VPC) in Confluent Cloud. All Networks + exist within Confluent-managed cloud + + provider accounts. Dedicated networks support more networking options + but can only contain Dedicated clusters. + + Shared networks can contain any cluster type. + + + The API allows you to list, create, read, update, and delete your + networks. + + + + Related guide: [APIs to manage networks in Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + + ## The Networks Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `dedicated_networks_per_environment` | Number of dedicated networks + per Confluent Cloud environment | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `Network` represents a network (VPC) in Confluent Cloud. All + Networks exist within Confluent-managed cloud + + provider accounts. Dedicated networks support more networking + options but can only contain Dedicated clusters. + + Shared networks can contain any cluster type. + + + The API allows you to list, create, read, update, and delete your + networks. + + + + Related guide: [APIs to manage networks in Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + + ## The Networks Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `dedicated_networks_per_environment` | Number of dedicated + networks per Confluent Cloud environment | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Network + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkSpec' + status: + $ref: '#/components/schemas/networking.v1.NetworkStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + networking.v1.Network: + type: object + description: >- + `Network` represents a network (VPC) in Confluent Cloud. All Networks + exist within Confluent-managed cloud + + provider accounts. Dedicated networks support more networking options + but can only contain Dedicated clusters. + + Shared networks can contain any cluster type. + + + The API allows you to list, create, read, update, and delete your + networks. + + + + Related guide: [APIs to manage networks in Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + + + ## The Networks Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `dedicated_networks_per_environment` | Number of dedicated networks + per Confluent Cloud environment | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Network + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkSpec' + status: + $ref: '#/components/schemas/networking.v1.NetworkStatus' + networking.v1.PeeringList: + type: object + description: >- + Add or remove VPC/VNet peering connections between your VPC/VNet and + Confluent Cloud. + + + Related guides: + + * [Use VPC peering connections with Confluent Cloud on + AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + + * [Use VNet peering connections with Confluent Cloud on + Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + * [Use VPC peering connections with Confluent Cloud on Google + Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + + ## The Peerings Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `peerings_per_network` | Number of peerings per network | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PeeringList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + Add or remove VPC/VNet peering connections between your VPC/VNet + and Confluent Cloud. + + + Related guides: + + * [Use VPC peering connections with Confluent Cloud on + AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + + * [Use VNet peering connections with Confluent Cloud on + Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + * [Use VPC peering connections with Confluent Cloud on Google + Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + + ## The Peerings Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `peerings_per_network` | Number of peerings per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Peering + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.PeeringSpec' + status: + $ref: '#/components/schemas/networking.v1.PeeringStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + networking.v1.Peering: + type: object + description: >- + Add or remove VPC/VNet peering connections between your VPC/VNet and + Confluent Cloud. + + + Related guides: + + * [Use VPC peering connections with Confluent Cloud on + AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + + * [Use VNet peering connections with Confluent Cloud on + Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + * [Use VPC peering connections with Confluent Cloud on Google + Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + + + + ## The Peerings Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `peerings_per_network` | Number of peerings per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Peering + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.PeeringSpec' + status: + $ref: '#/components/schemas/networking.v1.PeeringStatus' + networking.v1.TransitGatewayAttachmentList: + type: object + description: >- + AWS Transit Gateway Attachments + + + Related guide: [APIs to manage AWS Transit Gateway + Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + + ## The Transit Gateway Attachments Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `tgw_attachments_per_network` | Number of TGW attachments per network + | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - TransitGatewayAttachmentList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + AWS Transit Gateway Attachments + + + Related guide: [APIs to manage AWS Transit Gateway + Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + + ## The Transit Gateway Attachments Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `tgw_attachments_per_network` | Number of TGW attachments per + network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - TransitGatewayAttachment + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.TransitGatewayAttachmentSpec + status: + $ref: >- + #/components/schemas/networking.v1.TransitGatewayAttachmentStatus + required: + - id + - metadata + - spec + - status + uniqueItems: true + networking.v1.TransitGatewayAttachment: + type: object + description: >- + AWS Transit Gateway Attachments + + + Related guide: [APIs to manage AWS Transit Gateway + Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + + + ## The Transit Gateway Attachments Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `tgw_attachments_per_network` | Number of TGW attachments per network + | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - TransitGatewayAttachment + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.TransitGatewayAttachmentSpec' + status: + $ref: '#/components/schemas/networking.v1.TransitGatewayAttachmentStatus' + networking.v1.PrivateLinkAccessList: + type: object + description: >- + Add or remove access to PrivateLink endpoints by AWS account, Azure + subscription and GCP project ID. + + + Related guides: + + * [Use Google Cloud Private Service Connect with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + + * [Use Azure Private Link with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + + * [Use AWS PrivateLink with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + + ## The Private Link Accesses Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `private_link_accounts_per_network` | Number of AWS accounts per + network | + + | `private_link_subscriptions_per_network` | Number of Azure + subscriptions per network | + + | `private_service_connect_projects_per_network` | Number of GCP + projects per network | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAccessList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + Add or remove access to PrivateLink endpoints by AWS account, + Azure subscription and GCP project ID. + + + Related guides: + + * [Use Google Cloud Private Service Connect with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + + * [Use Azure Private Link with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + + * [Use AWS PrivateLink with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + + ## The Private Link Accesses Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `private_link_accounts_per_network` | Number of AWS accounts per + network | + + | `private_link_subscriptions_per_network` | Number of Azure + subscriptions per network | + + | `private_service_connect_projects_per_network` | Number of GCP + projects per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAccess + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.PrivateLinkAccessSpec' + status: + $ref: '#/components/schemas/networking.v1.PrivateLinkAccessStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + networking.v1.PrivateLinkAccess: + type: object + description: >- + Add or remove access to PrivateLink endpoints by AWS account, Azure + subscription and GCP project ID. + + + Related guides: + + * [Use Google Cloud Private Service Connect with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). + + * [Use Azure Private Link with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). + + * [Use AWS PrivateLink with Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + + + + ## The Private Link Accesses Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `private_link_accounts_per_network` | Number of AWS accounts per + network | + + | `private_link_subscriptions_per_network` | Number of Azure + subscriptions per network | + + | `private_service_connect_projects_per_network` | Number of GCP + projects per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAccess + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.PrivateLinkAccessSpec' + status: + $ref: '#/components/schemas/networking.v1.PrivateLinkAccessStatus' + networking.v1.NetworkLinkServiceList: + type: object + description: >- + Network Link Service is associated with a Private Link Confluent Cloud + Network. + + It enables connectivity from other Private Link Confluent Cloud Networks + based on + + the configured accept policies. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Services Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `network_link_service_per_network` | Number of network link services + per network | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkServiceList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + Network Link Service is associated with a Private Link Confluent + Cloud Network. + + It enables connectivity from other Private Link Confluent Cloud + Networks based on - Retrieve a sorted, filtered, paginated list of all networks. - parameters: - - name: spec.display_name - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - prod-gcp-us-central1 - - prod-aws-us-east1 - description: Filter the results by exact match for spec.display_name. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: spec.cloud - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - GCP - - AWS - description: Filter the results by exact match for spec.cloud. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: spec.region - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - us-central1 - - us-east-1 - description: Filter the results by exact match for spec.region. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: spec.connection_types - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - peering - - privatelink - description: Filter the results by exact match for spec.connection_types. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: spec.cidr - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - 10.200.0.0/16 - description: Filter the results by exact match for spec.cidr. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: status.phase - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - PROVISIONING - - READY - description: Filter the results by exact match for status.phase. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Filter the results by exact match for environment. - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 1000 - x-max-page-items: 1000 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Networks (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Network. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.NetworkList' - - type: object - properties: - data: - type: array - items: - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - headers: - X-Request-Id: - schema: + the configured accept policies. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Services Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `network_link_service_per_network` | Number of network link + services per network | + properties: + api_version: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/networks?spec.display_name=prod-gcp-us-central1,prod-aws-us-east1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&spec.connection_types=peering,privatelink&spec.cidr=10.200.0.0/16&status.phase=PROVISIONING,READY&environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/networks?spec.display_name=prod-gcp-us-central1,prod-aws-us-east1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&spec.connection_types=peering,privatelink&spec.cidr=10.200.0.0/16&status.phase=PROVISIONING,READY&environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/networks?spec.display_name=prod-gcp-us-central1,prod-aws-us-east1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&spec.connection_types=peering,privatelink&spec.cidr=10.200.0.0/16&status.phase=PROVISIONING,READY&environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/networks?spec.display_name=prod-gcp-us-central1,prod-aws-us-east1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&spec.connection_types=peering,privatelink&spec.cidr=10.200.0.0/16&status.phase=PROVISIONING,READY&environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/networks?spec.display_name=prod-gcp-us-central1,prod-aws-us-east1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&spec.connection_types=peering,privatelink&spec.cidr=10.200.0.0/16&status.phase=PROVISIONING,READY&environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/networks?spec.display_name=prod-gcp-us-central1,prod-aws-us-east1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&spec.connection_types=peering,privatelink&spec.cidr=10.200.0.0/16&status.phase=PROVISIONING,READY&environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/networks?spec.display_name=prod-gcp-us-central1,prod-aws-us-east1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&spec.connection_types=peering,privatelink&spec.cidr=10.200.0.0/16&status.phase=PROVISIONING,READY&environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createNetworkingV1Network - summary: Create a Network - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkService + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkLinkServiceSpec' + status: + $ref: '#/components/schemas/networking.v1.NetworkLinkServiceStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + networking.v1.NetworkLinkService: + type: object + description: >- + Network Link Service is associated with a Private Link Confluent Cloud + Network. + + It enables connectivity from other Private Link Confluent Cloud Networks + based on + + the configured accept policies. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Services Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `network_link_service_per_network` | Number of network link services + per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkService + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkLinkServiceSpec' + status: + $ref: '#/components/schemas/networking.v1.NetworkLinkServiceStatus' + networking.v1.NetworkLinkEndpointList: + type: object + description: >- + A Network Link Enpoint is associated with a Private Link Confluent Cloud + Network at the origin and a + + Network Link Service (associated with another Private Link Confluent + Cloud Network) at the target. + + It enables connectivity between the origin network and the target + network. + + It can only be associated with a Private Link network. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Endpoints Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `network_link_endpoints_per_network` | Number of network link + endpoints per network | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkEndpointList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + A Network Link Enpoint is associated with a Private Link Confluent + Cloud Network at the origin and a + + Network Link Service (associated with another Private Link + Confluent Cloud Network) at the target. + + It enables connectivity between the origin network and the target + network. + + It can only be associated with a Private Link network. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Endpoints Model - Make a request to create a network. - tags: - - Networks (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.Network' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - cloud - - region - - connection_types - - environment - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - responses: - '202': - description: A Network is being created. - headers: - X-Request-Id: - schema: + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `network_link_endpoints_per_network` | Number of network link + endpoints per network | + properties: + api_version: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: type: string - format: uri - example: 'https://api.confluent.cloud/networking/v1/networks/{id}' - description: Network resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.Network' - - type: object - required: - - spec - - status - properties: - spec: - type: object - required: - - cloud - - region - - connection_types - - environment - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/networking/v1/networks \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"prod-aws-us-east1","cloud":"AWS","region":"us-east-1","connection_types":["PRIVATELINK"],"cidr":"10.200.0.0/16","zones":["use1-az1","use1-az2","use1-az3"],"zones_info":[{"zone_id":"use1-az3","cidr":"10.20.0.0/27"},{"zone_id":"use1-az3","cidr":"10.20.0.0/27"},{"zone_id":"use1-az3","cidr":"10.20.0.0/27"}],"dns_config":{"resolution":"string"},"reserved_cidr":"172.20.255.0/24","environment":{"id":"env-00000","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"connection_types\":[\"PRIVATELINK\"],\"cidr\":\"10.200.0.0/16\",\"zones\":[\"use1-az1\",\"use1-az2\",\"use1-az3\"],\"zones_info\":[{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"}],\"dns_config\":{\"resolution\":\"string\"},\"reserved_cidr\":\"172.20.255.0/24\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/networks") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/networks\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-aws-us-east1\\\",\\\"cloud\\\":\\\"AWS\\\",\\\"region\\\":\\\"us-east-1\\\",\\\"connection_types\\\":[\\\"PRIVATELINK\\\"],\\\"cidr\\\":\\\"10.200.0.0/16\\\",\\\"zones\\\":[\\\"use1-az1\\\",\\\"use1-az2\\\",\\\"use1-az3\\\"],\\\"zones_info\\\":[{\\\"zone_id\\\":\\\"use1-az3\\\",\\\"cidr\\\":\\\"10.20.0.0/27\\\"},{\\\"zone_id\\\":\\\"use1-az3\\\",\\\"cidr\\\":\\\"10.20.0.0/27\\\"},{\\\"zone_id\\\":\\\"use1-az3\\\",\\\"cidr\\\":\\\"10.20.0.0/27\\\"}],\\\"dns_config\\\":{\\\"resolution\\\":\\\"string\\\"},\\\"reserved_cidr\\\":\\\"172.20.255.0/24\\\",\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"connection_types\":[\"PRIVATELINK\"],\"cidr\":\"10.200.0.0/16\",\"zones\":[\"use1-az1\",\"use1-az2\",\"use1-az3\"],\"zones_info\":[{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"}],\"dns_config\":{\"resolution\":\"string\"},\"reserved_cidr\":\"172.20.255.0/24\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/networking/v1/networks", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/networks", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'prod-aws-us-east1', - cloud: 'AWS', - region: 'us-east-1', - connection_types: ['PRIVATELINK'], - cidr: '10.200.0.0/16', - zones: ['use1-az1', 'use1-az2', 'use1-az3'], - zones_info: [ - {zone_id: 'use1-az3', cidr: '10.20.0.0/27'}, - {zone_id: 'use1-az3', cidr: '10.20.0.0/27'}, - {zone_id: 'use1-az3', cidr: '10.20.0.0/27'} - ], - dns_config: {resolution: 'string'}, - reserved_cidr: '172.20.255.0/24', - environment: {id: 'env-00000', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/networks"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"connection_types\":[\"PRIVATELINK\"],\"cidr\":\"10.200.0.0/16\",\"zones\":[\"use1-az1\",\"use1-az2\",\"use1-az3\"],\"zones_info\":[{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"}],\"dns_config\":{\"resolution\":\"string\"},\"reserved_cidr\":\"172.20.255.0/24\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/networks"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"connection_types\":[\"PRIVATELINK\"],\"cidr\":\"10.200.0.0/16\",\"zones\":[\"use1-az1\",\"use1-az2\",\"use1-az3\"],\"zones_info\":[{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"}],\"dns_config\":{\"resolution\":\"string\"},\"reserved_cidr\":\"172.20.255.0/24\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/networking/v1/networks/{id}': - get: - operationId: getNetworkingV1Network - summary: Read a Network - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkEndpoint + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointSpec' + status: + $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + networking.v1.NetworkLinkEndpoint: + type: object + description: >- + A Network Link Enpoint is associated with a Private Link Confluent Cloud + Network at the origin and a - Make a request to read a network. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the network. - tags: - - Networks (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Network. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.Network' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - cloud - - region - - connection_types - - environment - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - headers: - X-Request-Id: - schema: + Network Link Service (associated with another Private Link Confluent + Cloud Network) at the target. + + It enables connectivity between the origin network and the target + network. + + It can only be associated with a Private Link network. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Endpoints Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `network_link_endpoints_per_network` | Number of network link + endpoints per network | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkEndpoint + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointSpec' + status: + $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointStatus' + networking.v1.NetworkLinkServiceAssociationList: + type: object + description: >- + List of incoming Network Link Enpoints associated with the Network Link + Service. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Service Associations Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkServiceAssociationList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + List of incoming Network Link Enpoints associated with the Network + Link Service. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Service Associations Model + + + properties: + api_version: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/networks/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/networks/{id}?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/networks/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/networks/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/networks/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/networks/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/networks/{id}?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateNetworkingV1Network - summary: Update a Network - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkServiceAssociation + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.NetworkLinkServiceAssociationSpec + status: + $ref: >- + #/components/schemas/networking.v1.NetworkLinkServiceAssociationStatus + required: + - id + - metadata + - spec + - status + uniqueItems: true + networking.v1.NetworkLinkServiceAssociation: + type: object + description: >- + List of incoming Network Link Enpoints associated with the Network Link + Service. + + + + Related guide: [Network Linking + Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + + + ## The Network Link Service Associations Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NetworkLinkServiceAssociation + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.NetworkLinkServiceAssociationSpec' + status: + $ref: >- + #/components/schemas/networking.v1.NetworkLinkServiceAssociationStatus + networking.v1.IpAddressList: + type: object + description: >- + IP Addresses - Make a request to update a network. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the network. - tags: - - Networks (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.NetworkUpdate' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - environment - properties: - environment: - example: - id: env-00000 - responses: - '200': - description: Network. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.Network' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - cloud - - region - - connection_types - - environment - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/networking/v1/networks/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"prod-aws-us-east1","cloud":"AWS","region":"us-east-1","connection_types":["PRIVATELINK"],"cidr":"10.200.0.0/16","zones":["use1-az1","use1-az2","use1-az3"],"zones_info":[{"zone_id":"use1-az3","cidr":"10.20.0.0/27"},{"zone_id":"use1-az3","cidr":"10.20.0.0/27"},{"zone_id":"use1-az3","cidr":"10.20.0.0/27"}],"dns_config":{"resolution":"string"},"reserved_cidr":"172.20.255.0/24","environment":{"id":"env-00000","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"connection_types\":[\"PRIVATELINK\"],\"cidr\":\"10.200.0.0/16\",\"zones\":[\"use1-az1\",\"use1-az2\",\"use1-az3\"],\"zones_info\":[{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"}],\"dns_config\":{\"resolution\":\"string\"},\"reserved_cidr\":\"172.20.255.0/24\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/networks/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/networks/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-aws-us-east1\\\",\\\"cloud\\\":\\\"AWS\\\",\\\"region\\\":\\\"us-east-1\\\",\\\"connection_types\\\":[\\\"PRIVATELINK\\\"],\\\"cidr\\\":\\\"10.200.0.0/16\\\",\\\"zones\\\":[\\\"use1-az1\\\",\\\"use1-az2\\\",\\\"use1-az3\\\"],\\\"zones_info\\\":[{\\\"zone_id\\\":\\\"use1-az3\\\",\\\"cidr\\\":\\\"10.20.0.0/27\\\"},{\\\"zone_id\\\":\\\"use1-az3\\\",\\\"cidr\\\":\\\"10.20.0.0/27\\\"},{\\\"zone_id\\\":\\\"use1-az3\\\",\\\"cidr\\\":\\\"10.20.0.0/27\\\"}],\\\"dns_config\\\":{\\\"resolution\\\":\\\"string\\\"},\\\"reserved_cidr\\\":\\\"172.20.255.0/24\\\",\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"connection_types\":[\"PRIVATELINK\"],\"cidr\":\"10.200.0.0/16\",\"zones\":[\"use1-az1\",\"use1-az2\",\"use1-az3\"],\"zones_info\":[{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"}],\"dns_config\":{\"resolution\":\"string\"},\"reserved_cidr\":\"172.20.255.0/24\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/networking/v1/networks/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/networks/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'prod-aws-us-east1', - cloud: 'AWS', - region: 'us-east-1', - connection_types: ['PRIVATELINK'], - cidr: '10.200.0.0/16', - zones: ['use1-az1', 'use1-az2', 'use1-az3'], - zones_info: [ - {zone_id: 'use1-az3', cidr: '10.20.0.0/27'}, - {zone_id: 'use1-az3', cidr: '10.20.0.0/27'}, - {zone_id: 'use1-az3', cidr: '10.20.0.0/27'} - ], - dns_config: {resolution: 'string'}, - reserved_cidr: '172.20.255.0/24', - environment: {id: 'env-00000', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/networks/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"connection_types\":[\"PRIVATELINK\"],\"cidr\":\"10.200.0.0/16\",\"zones\":[\"use1-az1\",\"use1-az2\",\"use1-az3\"],\"zones_info\":[{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"}],\"dns_config\":{\"resolution\":\"string\"},\"reserved_cidr\":\"172.20.255.0/24\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/networks/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"connection_types\":[\"PRIVATELINK\"],\"cidr\":\"10.200.0.0/16\",\"zones\":[\"use1-az1\",\"use1-az2\",\"use1-az3\"],\"zones_info\":[{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"},{\"zone_id\":\"use1-az3\",\"cidr\":\"10.20.0.0/27\"}],\"dns_config\":{\"resolution\":\"string\"},\"reserved_cidr\":\"172.20.255.0/24\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteNetworkingV1Network - summary: Delete a Network - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [Use Public Egress IP Addresses on Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) - Make a request to delete a network. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the network. - tags: - - Networks (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A Network is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/networking/v1/networks/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/networks/{id}?environment=env-00000") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/networks/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/networking/v1/networks/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/networks/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/networks/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/networks/{id}?environment=env-00000"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /networking/v1/peerings: - get: - operationId: listNetworkingV1Peerings - summary: List of Peerings - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Retrieve a sorted, filtered, paginated list of all peerings. - parameters: - - name: spec.display_name - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - prod-peering-uscentral1 - - prod-peering-use1 - description: Filter the results by exact match for spec.display_name. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: status.phase - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - PROVISIONING - - READY - description: Filter the results by exact match for status.phase. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Filter the results by exact match for environment. - - name: spec.network - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - n-00000 - - n-00001 - description: Filter the results by exact match for spec.network. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 1000 - x-max-page-items: 1000 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Peerings (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Peering. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.PeeringList' - - type: object - properties: - data: - type: array - items: - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/peerings?spec.display_name=prod-peering-uscentral1,prod-peering-use1&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/peerings?spec.display_name=prod-peering-uscentral1,prod-peering-use1&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/peerings?spec.display_name=prod-peering-uscentral1,prod-peering-use1&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/peerings?spec.display_name=prod-peering-uscentral1,prod-peering-use1&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/peerings?spec.display_name=prod-peering-uscentral1,prod-peering-use1&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/peerings?spec.display_name=prod-peering-uscentral1,prod-peering-use1&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/peerings?spec.display_name=prod-peering-uscentral1,prod-peering-use1&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createNetworkingV1Peering - summary: Create a Peering - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The IP Addresses Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IpAddressList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + IP Addresses - Make a request to create a peering. - tags: - - Peerings (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.Peering' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - cloud - - environment - - network - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - network: - example: - id: n-00000 - responses: - '202': - description: A Peering is being created. - headers: - X-Request-Id: - schema: + + Related guide: [Use Public Egress IP addresses on Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + + ## The IP Addresses Model + + + properties: + api_version: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: type: string - format: uri - example: 'https://api.confluent.cloud/networking/v1/peerings/{id}' - description: Peering resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.Peering' - - type: object - required: - - spec - - status - properties: - spec: - type: object - required: - - cloud - - environment - - network - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/networking/v1/peerings \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"prod-peering-use1","cloud":{"kind":"AwsPeering","account":"000000000000","vpc":"vpc-00000000000000000","routes":["10.108.16.0/21"],"customer_region":"us-east-1"},"environment":{"id":"env-00000","environment":"string"},"network":{"id":"n-00000","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-peering-use1\",\"cloud\":{\"kind\":\"AwsPeering\",\"account\":\"000000000000\",\"vpc\":\"vpc-00000000000000000\",\"routes\":[\"10.108.16.0/21\"],\"customer_region\":\"us-east-1\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/peerings") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/peerings\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-peering-use1\\\",\\\"cloud\\\":{\\\"kind\\\":\\\"AwsPeering\\\",\\\"account\\\":\\\"000000000000\\\",\\\"vpc\\\":\\\"vpc-00000000000000000\\\",\\\"routes\\\":[\\\"10.108.16.0/21\\\"],\\\"customer_region\\\":\\\"us-east-1\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"network\\\":{\\\"id\\\":\\\"n-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"prod-peering-use1\",\"cloud\":{\"kind\":\"AwsPeering\",\"account\":\"000000000000\",\"vpc\":\"vpc-00000000000000000\",\"routes\":[\"10.108.16.0/21\"],\"customer_region\":\"us-east-1\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/networking/v1/peerings", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/peerings", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'prod-peering-use1', - cloud: { - kind: 'AwsPeering', - account: '000000000000', - vpc: 'vpc-00000000000000000', - routes: ['10.108.16.0/21'], - customer_region: 'us-east-1' - }, - environment: {id: 'env-00000', environment: 'string'}, - network: {id: 'n-00000', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/peerings"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-peering-use1\",\"cloud\":{\"kind\":\"AwsPeering\",\"account\":\"000000000000\",\"vpc\":\"vpc-00000000000000000\",\"routes\":[\"10.108.16.0/21\"],\"customer_region\":\"us-east-1\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/peerings"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-peering-use1\",\"cloud\":{\"kind\":\"AwsPeering\",\"account\":\"000000000000\",\"vpc\":\"vpc-00000000000000000\",\"routes\":[\"10.108.16.0/21\"],\"customer_region\":\"us-east-1\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/networking/v1/peerings/{id}': - get: - operationId: getNetworkingV1Peering - summary: Read a Peering - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IpAddress + ip_prefix: + type: string + pattern: ^\d+\.\d+\.\d+\.\d+/\d+$ + description: The IP Address range. + example: 10.200.0.0/28 + cloud: + type: string + description: The cloud service provider in which the address exists. + x-extensible-enum: + - AWS + - GCP + - AZURE + - ANY + example: AWS + region: + type: string + description: The region/location where the IP Address is in use. + example: us-east-1 + services: + type: array + description: The service types that will use the address. + items: + type: string + description: Address service type. + x-extensible-enum: + - KAFKA + - CONNECT + - EXTERNAL_OAUTH + example: CONNECT + uniqueItems: true + minItems: 1 + address_type: + type: string + description: Whether the address is used for egress or ingress. + x-extensible-enum: + - INGRESS + - EGRESS + example: EGRESS + uniqueItems: true + networking.v1.PrivateLinkAttachmentList: + type: object + description: >- + PrivateLink attachment objects represent reservations to establish + PrivateLink connections - Make a request to read a peering. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the peering. - tags: - - Peerings (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Peering. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.Peering' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - cloud - - environment - - network - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - headers: - X-Request-Id: - schema: + to a cloud region in order to access resources that belong to a + Confluent Cloud Environment. + + The API allows you to list, create, read update and delete your + PrivateLink attachments. + + + + ## The Private Link Attachments Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `private_link_attachments_per_environment` | Number of PrivateLink + Attachments per environment | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAttachmentList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + PrivateLink attachment objects represent reservations to establish + PrivateLink connections + + to a cloud region in order to access resources that belong to a + Confluent Cloud Environment. + + The API allows you to list, create, read update and delete your + PrivateLink attachments. + + + + ## The Private Link Attachments Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `private_link_attachments_per_environment` | Number of + PrivateLink Attachments per environment | + properties: + api_version: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/peerings/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/peerings/{id}?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/peerings/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/peerings/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/peerings/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/peerings/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/peerings/{id}?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateNetworkingV1Peering - summary: Update a Peering - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAttachment + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentSpec' + status: + $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + networking.v1.PrivateLinkAttachment: + type: object + description: >- + PrivateLink attachment objects represent reservations to establish + PrivateLink connections + + to a cloud region in order to access resources that belong to a + Confluent Cloud Environment. + + The API allows you to list, create, read update and delete your + PrivateLink attachments. + + + + ## The Private Link Attachments Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `private_link_attachments_per_environment` | Number of PrivateLink + Attachments per environment | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAttachment + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentSpec' + status: + $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentStatus' + networking.v1.PrivateLinkAttachmentConnectionList: + type: object + description: >- + PrivateLink attachment connection objects represent connections + established to a cloud region - Make a request to update a peering. + in order to access resources that belong to a Confluent Cloud + Environment. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the peering. - tags: - - Peerings (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.PeeringUpdate' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - environment - properties: - environment: - example: - id: env-00000 - responses: - '200': - description: Peering. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.Peering' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - cloud - - environment - - network - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/networking/v1/peerings/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"prod-peering-use1","cloud":{"kind":"AwsPeering","account":"000000000000","vpc":"vpc-00000000000000000","routes":["10.108.16.0/21"],"customer_region":"us-east-1"},"environment":{"id":"env-00000","environment":"string"},"network":{"id":"string","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-peering-use1\",\"cloud\":{\"kind\":\"AwsPeering\",\"account\":\"000000000000\",\"vpc\":\"vpc-00000000000000000\",\"routes\":[\"10.108.16.0/21\"],\"customer_region\":\"us-east-1\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/peerings/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/peerings/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-peering-use1\\\",\\\"cloud\\\":{\\\"kind\\\":\\\"AwsPeering\\\",\\\"account\\\":\\\"000000000000\\\",\\\"vpc\\\":\\\"vpc-00000000000000000\\\",\\\"routes\\\":[\\\"10.108.16.0/21\\\"],\\\"customer_region\\\":\\\"us-east-1\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"network\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"prod-peering-use1\",\"cloud\":{\"kind\":\"AwsPeering\",\"account\":\"000000000000\",\"vpc\":\"vpc-00000000000000000\",\"routes\":[\"10.108.16.0/21\"],\"customer_region\":\"us-east-1\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/networking/v1/peerings/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/peerings/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'prod-peering-use1', - cloud: { - kind: 'AwsPeering', - account: '000000000000', - vpc: 'vpc-00000000000000000', - routes: ['10.108.16.0/21'], - customer_region: 'us-east-1' - }, - environment: {id: 'env-00000', environment: 'string'}, - network: {id: 'string', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/peerings/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-peering-use1\",\"cloud\":{\"kind\":\"AwsPeering\",\"account\":\"000000000000\",\"vpc\":\"vpc-00000000000000000\",\"routes\":[\"10.108.16.0/21\"],\"customer_region\":\"us-east-1\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/peerings/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-peering-use1\",\"cloud\":{\"kind\":\"AwsPeering\",\"account\":\"000000000000\",\"vpc\":\"vpc-00000000000000000\",\"routes\":[\"10.108.16.0/21\"],\"customer_region\":\"us-east-1\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteNetworkingV1Peering - summary: Delete a Peering - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to list, create, read update and delete your + PrivateLink attachment connections. - Make a request to delete a peering. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the peering. - tags: - - Peerings (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A Peering is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/networking/v1/peerings/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/peerings/{id}?environment=env-00000") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/peerings/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/networking/v1/peerings/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/peerings/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/peerings/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/peerings/{id}?environment=env-00000"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /networking/v1/transit-gateway-attachments: - get: - operationId: listNetworkingV1TransitGatewayAttachments - summary: List of Transit Gateway Attachments - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Retrieve a sorted, filtered, paginated list of all transit gateway attachments. - parameters: - - name: spec.display_name - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - prod-tgw-use1 - - prod-tgw-usw2 - description: Filter the results by exact match for spec.display_name. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: status.phase - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - PROVISIONING - - READY - description: Filter the results by exact match for status.phase. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Filter the results by exact match for environment. - - name: spec.network - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - n-00000 - - n-00001 - description: Filter the results by exact match for spec.network. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 1000 - x-max-page-items: 1000 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Transit Gateway Attachments (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Transit Gateway Attachment. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.TransitGatewayAttachmentList' - - type: object - properties: - data: - type: array - items: - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/transit-gateway-attachments?spec.display_name=prod-tgw-use1,prod-tgw-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/transit-gateway-attachments?spec.display_name=prod-tgw-use1,prod-tgw-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/transit-gateway-attachments?spec.display_name=prod-tgw-use1,prod-tgw-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/transit-gateway-attachments?spec.display_name=prod-tgw-use1,prod-tgw-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/transit-gateway-attachments?spec.display_name=prod-tgw-use1,prod-tgw-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/transit-gateway-attachments?spec.display_name=prod-tgw-use1,prod-tgw-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/transit-gateway-attachments?spec.display_name=prod-tgw-use1,prod-tgw-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createNetworkingV1TransitGatewayAttachment - summary: Create a Transit Gateway Attachment - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Make a request to create a transit gateway attachment. - tags: - - Transit Gateway Attachments (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.TransitGatewayAttachment' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - cloud - - environment - - network - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - network: - example: - id: n-00000 - responses: - '202': - description: A Transit Gateway Attachment is being created. - headers: - X-Request-Id: - schema: + ## The Private Link Attachment Connections Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAttachmentConnectionList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + PrivateLink attachment connection objects represent connections + established to a cloud region + + in order to access resources that belong to a Confluent Cloud + Environment. + + The API allows you to list, create, read update and delete your + PrivateLink attachment connections. + + + + ## The Private Link Attachment Connections Model + + + properties: + api_version: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: type: string - format: uri - example: 'https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}' - description: TransitGatewayAttachment resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.TransitGatewayAttachment' - - type: object - required: - - spec - - status - properties: - spec: - type: object - required: - - cloud - - environment - - network - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/networking/v1/transit-gateway-attachments \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"prod-tgw-use1","cloud":{"kind":"AwsTransitGatewayAttachment","ram_share_arn":"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx","transit_gateway_id":"tgw-xxxxxxxxxxxxxxxxx","routes":["100.64.0.0/10","10.0.0.0/8","192.168.0.0/16","172.16.0.0/12"]},"environment":{"id":"env-00000","environment":"string"},"network":{"id":"n-00000","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-tgw-use1\",\"cloud\":{\"kind\":\"AwsTransitGatewayAttachment\",\"ram_share_arn\":\"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx\",\"transit_gateway_id\":\"tgw-xxxxxxxxxxxxxxxxx\",\"routes\":[\"100.64.0.0/10\",\"10.0.0.0/8\",\"192.168.0.0/16\",\"172.16.0.0/12\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/transit-gateway-attachments") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/transit-gateway-attachments\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-tgw-use1\\\",\\\"cloud\\\":{\\\"kind\\\":\\\"AwsTransitGatewayAttachment\\\",\\\"ram_share_arn\\\":\\\"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx\\\",\\\"transit_gateway_id\\\":\\\"tgw-xxxxxxxxxxxxxxxxx\\\",\\\"routes\\\":[\\\"100.64.0.0/10\\\",\\\"10.0.0.0/8\\\",\\\"192.168.0.0/16\\\",\\\"172.16.0.0/12\\\"]},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"network\\\":{\\\"id\\\":\\\"n-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"prod-tgw-use1\",\"cloud\":{\"kind\":\"AwsTransitGatewayAttachment\",\"ram_share_arn\":\"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx\",\"transit_gateway_id\":\"tgw-xxxxxxxxxxxxxxxxx\",\"routes\":[\"100.64.0.0/10\",\"10.0.0.0/8\",\"192.168.0.0/16\",\"172.16.0.0/12\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/networking/v1/transit-gateway-attachments", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/transit-gateway-attachments", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'prod-tgw-use1', - cloud: { - kind: 'AwsTransitGatewayAttachment', - ram_share_arn: 'arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx', - transit_gateway_id: 'tgw-xxxxxxxxxxxxxxxxx', - routes: ['100.64.0.0/10', '10.0.0.0/8', '192.168.0.0/16', '172.16.0.0/12'] - }, - environment: {id: 'env-00000', environment: 'string'}, - network: {id: 'n-00000', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/transit-gateway-attachments"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-tgw-use1\",\"cloud\":{\"kind\":\"AwsTransitGatewayAttachment\",\"ram_share_arn\":\"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx\",\"transit_gateway_id\":\"tgw-xxxxxxxxxxxxxxxxx\",\"routes\":[\"100.64.0.0/10\",\"10.0.0.0/8\",\"192.168.0.0/16\",\"172.16.0.0/12\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/transit-gateway-attachments"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-tgw-use1\",\"cloud\":{\"kind\":\"AwsTransitGatewayAttachment\",\"ram_share_arn\":\"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx\",\"transit_gateway_id\":\"tgw-xxxxxxxxxxxxxxxxx\",\"routes\":[\"100.64.0.0/10\",\"10.0.0.0/8\",\"192.168.0.0/16\",\"172.16.0.0/12\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/networking/v1/transit-gateway-attachments/{id}': - get: - operationId: getNetworkingV1TransitGatewayAttachment - summary: Read a Transit Gateway Attachment - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAttachmentConnection + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentConnectionSpec + status: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentConnectionStatus + required: + - id + - metadata + - spec + - status + uniqueItems: true + networking.v1.PrivateLinkAttachmentConnection: + type: object + description: >- + PrivateLink attachment connection objects represent connections + established to a cloud region - Make a request to read a transit gateway attachment. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the transit gateway attachment. - tags: - - Transit Gateway Attachments (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Transit Gateway Attachment. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.TransitGatewayAttachment' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - cloud - - environment - - network - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - headers: - X-Request-Id: - schema: + in order to access resources that belong to a Confluent Cloud + Environment. + + The API allows you to list, create, read update and delete your + PrivateLink attachment connections. + + + + ## The Private Link Attachment Connections Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - PrivateLinkAttachmentConnection + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentConnectionSpec + status: + $ref: >- + #/components/schemas/networking.v1.PrivateLinkAttachmentConnectionStatus + networking.v1.DnsForwarderList: + type: object + description: >- + Add, remove, and update DNS forwarder for your gateway. + + + Related guides: + + * [Use VPC peering connections with Confluent Cloud on + AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + + * [Use VNet peering connections with Confluent Cloud on + Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + + ## The DNS Forwarders Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - DnsForwarderList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + Add, remove, and update DNS forwarder for your gateway. + + + Related guides: + + * [Use VPC peering connections with Confluent Cloud on + AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + + * [Use VNet peering connections with Confluent Cloud on + Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + + ## The DNS Forwarders Model + + + properties: + api_version: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/transit-gateway-attachments/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/transit-gateway-attachments/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateNetworkingV1TransitGatewayAttachment - summary: Update a Transit Gateway Attachment - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - DnsForwarder + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.DnsForwarderSpec' + status: + $ref: '#/components/schemas/networking.v1.DnsForwarderStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + networking.v1.DnsForwarder: + type: object + description: >- + Add, remove, and update DNS forwarder for your gateway. + + + Related guides: + + * [Use VPC peering connections with Confluent Cloud on + AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). + + * [Use VNet peering connections with Confluent Cloud on + Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + + + + ## The DNS Forwarders Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - DnsForwarder + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.DnsForwarderSpec' + status: + $ref: '#/components/schemas/networking.v1.DnsForwarderStatus' + networking.v1.AccessPointList: + type: object + description: >- + AccessPoint objects represent network connections in and out of + Gateways. - Make a request to update a transit gateway attachment. + This API allows you to list, create, read, update, and delete your + access points. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the transit gateway attachment. - tags: - - Transit Gateway Attachments (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.TransitGatewayAttachmentUpdate' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - environment - properties: - environment: - example: - id: env-00000 - responses: - '200': - description: Transit Gateway Attachment. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.TransitGatewayAttachment' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - cloud - - environment - - network - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"prod-tgw-use1","cloud":{"kind":"AwsTransitGatewayAttachment","ram_share_arn":"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx","transit_gateway_id":"tgw-xxxxxxxxxxxxxxxxx","routes":["100.64.0.0/10","10.0.0.0/8","192.168.0.0/16","172.16.0.0/12"]},"environment":{"id":"env-00000","environment":"string"},"network":{"id":"string","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-tgw-use1\",\"cloud\":{\"kind\":\"AwsTransitGatewayAttachment\",\"ram_share_arn\":\"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx\",\"transit_gateway_id\":\"tgw-xxxxxxxxxxxxxxxxx\",\"routes\":[\"100.64.0.0/10\",\"10.0.0.0/8\",\"192.168.0.0/16\",\"172.16.0.0/12\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-tgw-use1\\\",\\\"cloud\\\":{\\\"kind\\\":\\\"AwsTransitGatewayAttachment\\\",\\\"ram_share_arn\\\":\\\"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx\\\",\\\"transit_gateway_id\\\":\\\"tgw-xxxxxxxxxxxxxxxxx\\\",\\\"routes\\\":[\\\"100.64.0.0/10\\\",\\\"10.0.0.0/8\\\",\\\"192.168.0.0/16\\\",\\\"172.16.0.0/12\\\"]},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"network\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"prod-tgw-use1\",\"cloud\":{\"kind\":\"AwsTransitGatewayAttachment\",\"ram_share_arn\":\"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx\",\"transit_gateway_id\":\"tgw-xxxxxxxxxxxxxxxxx\",\"routes\":[\"100.64.0.0/10\",\"10.0.0.0/8\",\"192.168.0.0/16\",\"172.16.0.0/12\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/networking/v1/transit-gateway-attachments/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/transit-gateway-attachments/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'prod-tgw-use1', - cloud: { - kind: 'AwsTransitGatewayAttachment', - ram_share_arn: 'arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx', - transit_gateway_id: 'tgw-xxxxxxxxxxxxxxxxx', - routes: ['100.64.0.0/10', '10.0.0.0/8', '192.168.0.0/16', '172.16.0.0/12'] - }, - environment: {id: 'env-00000', environment: 'string'}, - network: {id: 'string', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-tgw-use1\",\"cloud\":{\"kind\":\"AwsTransitGatewayAttachment\",\"ram_share_arn\":\"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx\",\"transit_gateway_id\":\"tgw-xxxxxxxxxxxxxxxxx\",\"routes\":[\"100.64.0.0/10\",\"10.0.0.0/8\",\"192.168.0.0/16\",\"172.16.0.0/12\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-tgw-use1\",\"cloud\":{\"kind\":\"AwsTransitGatewayAttachment\",\"ram_share_arn\":\"arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx\",\"transit_gateway_id\":\"tgw-xxxxxxxxxxxxxxxxx\",\"routes\":[\"100.64.0.0/10\",\"10.0.0.0/8\",\"192.168.0.0/16\",\"172.16.0.0/12\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteNetworkingV1TransitGatewayAttachment - summary: Delete a Transit Gateway Attachment - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Make a request to delete a transit gateway attachment. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the transit gateway attachment. - tags: - - Transit Gateway Attachments (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A Transit Gateway Attachment is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}?environment=env-00000") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/networking/v1/transit-gateway-attachments/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/transit-gateway-attachments/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/transit-gateway-attachments/{id}?environment=env-00000"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /networking/v1/private-link-accesses: - get: - operationId: listNetworkingV1PrivateLinkAccesses - summary: List of Private Link Accesses - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Retrieve a sorted, filtered, paginated list of all private link accesses. - parameters: - - name: spec.display_name - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - prod-pl-use1 - - prod-pl-usw2 - description: Filter the results by exact match for spec.display_name. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: status.phase - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - PROVISIONING - - READY - description: Filter the results by exact match for status.phase. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Filter the results by exact match for environment. - - name: spec.network - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - n-00000 - - n-00001 - description: Filter the results by exact match for spec.network. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 1000 - x-max-page-items: 1000 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Private Link Accesses (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Private Link Access. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAccessList' - - type: object - properties: - data: - type: array - items: - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/private-link-accesses?spec.display_name=prod-pl-use1,prod-pl-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/private-link-accesses?spec.display_name=prod-pl-use1,prod-pl-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-accesses?spec.display_name=prod-pl-use1,prod-pl-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/private-link-accesses?spec.display_name=prod-pl-use1,prod-pl-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/private-link-accesses?spec.display_name=prod-pl-use1,prod-pl-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-accesses?spec.display_name=prod-pl-use1,prod-pl-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-accesses?spec.display_name=prod-pl-use1,prod-pl-usw2&status.phase=PROVISIONING,READY&environment=env-00000&spec.network=n-00000,n-00001"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createNetworkingV1PrivateLinkAccess - summary: Create a Private Link Access - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Access Points Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - AccessPointList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + AccessPoint objects represent network connections in and out of + Gateways. - Make a request to create a private link access. - tags: - - Private Link Accesses (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAccess' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - cloud - - environment - - network - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - network: - example: - id: n-00000 - responses: - '202': - description: A Private Link Access is being created. - headers: - X-Request-Id: - schema: + This API allows you to list, create, read, update, and delete your + access points. + + + + ## The Access Points Model + + + properties: + api_version: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: type: string - format: uri - example: 'https://api.confluent.cloud/networking/v1/private-link-accesses/{id}' - description: PrivateLinkAccess resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAccess' - - type: object - required: - - spec - - status - properties: - spec: - type: object - required: - - cloud - - environment - - network - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/networking/v1/private-link-accesses \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"prod-pl-use1","cloud":{"kind":"AwsPrivateLinkAccess","account":"000000000000"},"environment":{"id":"env-00000","environment":"string"},"network":{"id":"n-00000","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-pl-use1\",\"cloud\":{\"kind\":\"AwsPrivateLinkAccess\",\"account\":\"000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/private-link-accesses") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-accesses\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-pl-use1\\\",\\\"cloud\\\":{\\\"kind\\\":\\\"AwsPrivateLinkAccess\\\",\\\"account\\\":\\\"000000000000\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"network\\\":{\\\"id\\\":\\\"n-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"prod-pl-use1\",\"cloud\":{\"kind\":\"AwsPrivateLinkAccess\",\"account\":\"000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/networking/v1/private-link-accesses", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/private-link-accesses", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'prod-pl-use1', - cloud: {kind: 'AwsPrivateLinkAccess', account: '000000000000'}, - environment: {id: 'env-00000', environment: 'string'}, - network: {id: 'n-00000', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-accesses"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-pl-use1\",\"cloud\":{\"kind\":\"AwsPrivateLinkAccess\",\"account\":\"000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-accesses"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-pl-use1\",\"cloud\":{\"kind\":\"AwsPrivateLinkAccess\",\"account\":\"000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/networking/v1/private-link-accesses/{id}': - get: - operationId: getNetworkingV1PrivateLinkAccess - summary: Read a Private Link Access - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - AccessPoint + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.AccessPointSpec' + status: + $ref: '#/components/schemas/networking.v1.AccessPointStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + networking.v1.AccessPoint: + type: object + description: >- + AccessPoint objects represent network connections in and out of + Gateways. - Make a request to read a private link access. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the private link access. - tags: - - Private Link Accesses (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Private Link Access. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAccess' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - cloud - - environment - - network - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - headers: - X-Request-Id: - schema: + This API allows you to list, create, read, update, and delete your + access points. + + + + ## The Access Points Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - AccessPoint + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.AccessPointSpec' + status: + $ref: '#/components/schemas/networking.v1.AccessPointStatus' + networking.v1.DnsRecordList: + type: object + description: >- + DNS record objects are associated with Confluent Cloud networking + resources. This API allows you to list, create, read, update, and delete + your DNS records. + + + ## The DNS Records Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - DnsRecordList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + DNS record objects are associated with Confluent Cloud networking + resources. This API allows you to list, create, read, update, and + delete your DNS records. + + + ## The DNS Records Model + + + properties: + api_version: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/private-link-accesses/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/private-link-accesses/{id}?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-accesses/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/private-link-accesses/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/private-link-accesses/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-accesses/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-accesses/{id}?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateNetworkingV1PrivateLinkAccess - summary: Update a Private Link Access - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - DnsRecord + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.DnsRecordSpec' + status: + $ref: '#/components/schemas/networking.v1.DnsRecordStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + networking.v1.DnsRecord: + type: object + description: >- + DNS record objects are associated with Confluent Cloud networking + resources. This API allows you to list, create, read, update, and delete + your DNS records. + + + ## The DNS Records Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - DnsRecord + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.DnsRecordSpec' + status: + $ref: '#/components/schemas/networking.v1.DnsRecordStatus' + networking.v1.GatewayList: + type: object + description: >- + A Gateway represents a slice of traffic capacity in a region that is + reserved for a customer. - Make a request to update a private link access. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the private link access. - tags: - - Private Link Accesses (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAccessUpdate' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - environment - properties: - environment: - example: - id: env-00000 - responses: - '200': - description: Private Link Access. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAccess' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - cloud - - environment - - network - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - headers: - X-Request-Id: - schema: + + ## The Gateways Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `gateways_per_region_per_environment` | Number of Gateways per region + per environment | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - GatewayList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + A Gateway represents a slice of traffic capacity in a region that + is reserved for a customer. + + + + ## The Gateways Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `gateways_per_region_per_environment` | Number of Gateways per + region per environment | + properties: + api_version: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/networking/v1/private-link-accesses/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"prod-pl-use1","cloud":{"kind":"AwsPrivateLinkAccess","account":"000000000000"},"environment":{"id":"env-00000","environment":"string"},"network":{"id":"string","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-pl-use1\",\"cloud\":{\"kind\":\"AwsPrivateLinkAccess\",\"account\":\"000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/private-link-accesses/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-accesses/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-pl-use1\\\",\\\"cloud\\\":{\\\"kind\\\":\\\"AwsPrivateLinkAccess\\\",\\\"account\\\":\\\"000000000000\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"network\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"prod-pl-use1\",\"cloud\":{\"kind\":\"AwsPrivateLinkAccess\",\"account\":\"000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/networking/v1/private-link-accesses/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/private-link-accesses/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'prod-pl-use1', - cloud: {kind: 'AwsPrivateLinkAccess', account: '000000000000'}, - environment: {id: 'env-00000', environment: 'string'}, - network: {id: 'string', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-accesses/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-pl-use1\",\"cloud\":{\"kind\":\"AwsPrivateLinkAccess\",\"account\":\"000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-accesses/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-pl-use1\",\"cloud\":{\"kind\":\"AwsPrivateLinkAccess\",\"account\":\"000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteNetworkingV1PrivateLinkAccess - summary: Delete a Private Link Access - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Gateway + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.GatewaySpec' + status: + $ref: '#/components/schemas/networking.v1.GatewayStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + networking.v1.Gateway: + type: object + description: >- + A Gateway represents a slice of traffic capacity in a region that is + reserved for a customer. + + + + ## The Gateways Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `gateways_per_region_per_environment` | Number of Gateways per region + per environment | + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Gateway + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/networking.v1.GatewaySpec' + status: + $ref: '#/components/schemas/networking.v1.GatewayStatus' + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not contain + a first link, then direct navigation to the first page is not + supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not contain a + last link, then direct navigation to the last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not contain a + next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + Failure: + type: object + description: >- + Provides information about problems encountered while performing an + operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + ObjectMeta: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. It + is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + networking.v1.NetworkSpec: + type: object + description: The desired state of the Network + properties: + display_name: + type: string + description: The name of the network + example: prod-aws-us-east1 + cloud: + type: string + description: The cloud service provider in which the network exists. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + x-immutable: true + region: + type: string + description: The cloud service provider region in which the network exists. + example: us-east-1 + x-immutable: true + connection_types: + type: array + description: The connection types requested for use with the network. + items: + $ref: '#/components/schemas/networking.v1.ConnectionType' + uniqueItems: true + minItems: 1 + x-immutable: true + cidr: + type: string + pattern: ^\d+\.\d+\.\d+\.\d+/\d+$ + description: > + The IPv4 [CIDR + block](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + to used for this network. - Make a request to delete a private link access. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: + Must be `/16`. Required for VPC peering and AWS TransitGateway. + example: 10.200.0.0/16 + x-immutable: true + zones: + type: array + items: type: string - description: The unique identifier for the private link access. - tags: - - Private Link Accesses (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A Private Link Access is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/networking/v1/private-link-accesses/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/private-link-accesses/{id}?environment=env-00000") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-accesses/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/networking/v1/private-link-accesses/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/private-link-accesses/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-accesses/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-accesses/{id}?environment=env-00000"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /networking/v1/network-link-services: - get: - operationId: listNetworkingV1NetworkLinkServices - summary: List of Network Link Services - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + uniqueItems: true + minItems: 3 + maxItems: 3 + description: > + The 3 availability zones for this network. They can optionally be + specified for AWS networks - Retrieve a sorted, filtered, paginated list of all network link services. - parameters: - - name: spec.display_name - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - prod-net-1-nls - - dev-net-1-nls - description: Filter the results by exact match for spec.display_name. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: status.phase - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' + used with PrivateLink, for GCP networks used with Private Service + Connect, and for AWS and GCP + + networks used with Peering. + + Otherwise, they are automatically chosen by Confluent Cloud. + + + On AWS, zones are AWS [AZ + IDs](https://docs.aws.amazon.com/ram/latest/userguide/working-with-az-ids.html) + (e.g. use1-az3) + + On GCP, zones are GCP + [zones](https://cloud.google.com/compute/docs/regions-zones) + (e.g. us-central1-c). + + On Azure, zones are Confluent-chosen names (e.g. 1, 2, 3) since + Azure does not + have universal zone identifiers. example: + - use1-az1 + - use1-az2 + - use1-az3 + x-immutable: true + zones_info: + type: array + minItems: 3 + maxItems: 3 + uniqueItems: true + items: + $ref: '#/components/schemas/networking.v1.ZoneInfo' + description: > + Each item represents information related to a single zone. + + + Note - The attribute is in a [Limited Availability lifecycle + stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + x-immutable: true + dns_config: + description: > + DNS config only applies to PrivateLink network connection type. + + + When resolution is CHASED_PRIVATE, clusters in this network require + both public and private DNS + to resolve cluster endpoints. + + When resolution is PRIVATE, clusters in this network only require + private DNS + to resolve cluster endpoints. + x-immutable: true + type: object + required: + - resolution + properties: + resolution: + type: string + description: Network DNS resolution type. + x-extensible-enum: + - CHASED_PRIVATE + - PRIVATE + reserved_cidr: + type: string + description: > + The reserved CIDR config is used only by AWS networks with + connection_types = Vpc_Peering or Transit_Gateway + + + An IPv4 + [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + reserved for Confluent Cloud Network. Must be \24. + If not specified, Confluent Cloud Network uses 172.20.255.0/24 + + Note - The attribute is in a [Limited Availability lifecycle + stage](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + example: 172.20.255.0/24 + x-immutable: true + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + gateway: + nullable: true + description: >- + The gateway associated with this object. The gateway can be one of + networking.v1.Gateway. May be `null` or omitted if not associated + with a gateway. + readOnly: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.NetworkStatus: + type: object + required: + - phase + - supported_connection_types + - active_connection_types + description: The status of the Network + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING - READY - description: Filter the results by exact match for status.phase. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Filter the results by exact match for environment. - - name: spec.network - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - n-00000 - - n-00001 - description: Filter the results by exact match for spec.network. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 1000 - x-max-page-items: 1000 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Network Link Services (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Network Link Service. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.NetworkLinkServiceList' - - type: object - properties: - data: - type: array - items: - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/network-link-services?spec.display_name=prod-net-1-nls,dev-net-1-nls&status.phase=READY&environment=env-00000&spec.network=n-00000,n-00001' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/network-link-services?spec.display_name=prod-net-1-nls,dev-net-1-nls&status.phase=READY&environment=env-00000&spec.network=n-00000,n-00001") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-services?spec.display_name=prod-net-1-nls,dev-net-1-nls&status.phase=READY&environment=env-00000&spec.network=n-00000,n-00001\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/network-link-services?spec.display_name=prod-net-1-nls,dev-net-1-nls&status.phase=READY&environment=env-00000&spec.network=n-00000,n-00001", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/network-link-services?spec.display_name=prod-net-1-nls,dev-net-1-nls&status.phase=READY&environment=env-00000&spec.network=n-00000,n-00001", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-services?spec.display_name=prod-net-1-nls,dev-net-1-nls&status.phase=READY&environment=env-00000&spec.network=n-00000,n-00001"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-services?spec.display_name=prod-net-1-nls,dev-net-1-nls&status.phase=READY&environment=env-00000&spec.network=n-00000,n-00001"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createNetworkingV1NetworkLinkService - summary: Create a Network Link Service - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + - FAILED + - DEPROVISIONING + description: | + The lifecyle phase of the network: - Make a request to create a network link service. - tags: - - Network Link Services (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.NetworkLinkService' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - environment - - network - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - network: - example: - id: n-00000 - responses: - '202': - description: A Network Link Service is being created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/networking/v1/network-link-services/{id}' - description: NetworkLinkService resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.NetworkLinkService' - - type: object - required: - - spec - - status - properties: - spec: - type: object - required: - - environment - - network - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/networking/v1/network-link-services \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"prod-net-1-nls","description":"Allow connections from analytics hub","accept":{"environments":["string"],"networks":["string"]},"environment":{"id":"env-00000"},"network":{"id":"n-00000","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-net-1-nls\",\"description\":\"Allow connections from analytics hub\",\"accept\":{\"environments\":[\"string\"],\"networks\":[\"string\"]},\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/network-link-services") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-services\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-net-1-nls\\\",\\\"description\\\":\\\"Allow connections from analytics hub\\\",\\\"accept\\\":{\\\"environments\\\":[\\\"string\\\"],\\\"networks\\\":[\\\"string\\\"]},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\"},\\\"network\\\":{\\\"id\\\":\\\"n-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"prod-net-1-nls\",\"description\":\"Allow connections from analytics hub\",\"accept\":{\"environments\":[\"string\"],\"networks\":[\"string\"]},\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/networking/v1/network-link-services", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/network-link-services", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'prod-net-1-nls', - description: 'Allow connections from analytics hub', - accept: {environments: ['string'], networks: ['string']}, - environment: {id: 'env-00000'}, - network: {id: 'n-00000', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-services"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-net-1-nls\",\"description\":\"Allow connections from analytics hub\",\"accept\":{\"environments\":[\"string\"],\"networks\":[\"string\"]},\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-services"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-net-1-nls\",\"description\":\"Allow connections from analytics hub\",\"accept\":{\"environments\":[\"string\"],\"networks\":[\"string\"]},\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/networking/v1/network-link-services/{id}': - get: - operationId: getNetworkingV1NetworkLinkService - summary: Read a Network Link Service - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + PROVISIONING: network provisioning is in progress; - Make a request to read a network link service. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the network link service. - tags: - - Network Link Services (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Network Link Service. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.NetworkLinkService' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - environment - - network - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/network-link-services/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/network-link-services/{id}?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-services/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/network-link-services/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/network-link-services/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-services/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-services/{id}?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateNetworkingV1NetworkLinkService - summary: Update a Network Link Service - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + READY: network is ready; - Make a request to update a network link service. + FAILED: provisioning failed; - parameters: - - name: id - in: path - required: true - schema: + DEPROVISIONING: network deprovisioning is in progress; + readOnly: true + example: READY + supported_connection_types: + type: array + description: The connection types this network supports. + items: + $ref: '#/components/schemas/networking.v1.ConnectionType' + uniqueItems: true + minItems: 1 + readOnly: true + active_connection_types: + type: array + description: The connection types requested for use with the network. + items: + $ref: '#/components/schemas/networking.v1.ConnectionType' + uniqueItems: true + minItems: 1 + readOnly: true + error_code: + type: string + description: >- + Error code if network is in a failed state. May be used for + programmatic error checking. + readOnly: true + example: insufficient_capacity + error_message: + type: string + description: Displayable error message if network is in a failed state + readOnly: true + example: Could not provision cloud resources + dns_domain: + type: string + description: >- + The root DNS domain for the network if applicable. Present on + networks that support PrivateLink. + example: 00000.us-east-1.aws.glb.confluent.cloud + readOnly: true + endpoint_suffix: + type: string + description: > + The endpoint suffix for the network, if applicable. Full service + endpoints can be constructed by appending + + the service identifier to the beginning of the endpoint suffix. For + example, the Flink REST endpoint can be + + constructed by adding "flink" - 'https://flink' + 'endpoint_suffix'. + example: .00000.us-east-1.aws.glb.confluent.cloud + readOnly: true + zonal_subdomains: + type: object + additionalProperties: type: string - description: The unique identifier for the network link service. - tags: - - Network Link Services (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.NetworkLinkServiceUpdate' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - environment - properties: - environment: - example: - id: env-00000 - responses: - '200': - description: Network Link Service. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.NetworkLinkService' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - environment - - network - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/networking/v1/network-link-services/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"prod-net-1-nls","description":"Allow connections from analytics hub","accept":{"environments":["string"],"networks":["string"]},"environment":{"id":"env-00000"},"network":{"id":"string","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-net-1-nls\",\"description\":\"Allow connections from analytics hub\",\"accept\":{\"environments\":[\"string\"],\"networks\":[\"string\"]},\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/network-link-services/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-services/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-net-1-nls\\\",\\\"description\\\":\\\"Allow connections from analytics hub\\\",\\\"accept\\\":{\\\"environments\\\":[\\\"string\\\"],\\\"networks\\\":[\\\"string\\\"]},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\"},\\\"network\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"prod-net-1-nls\",\"description\":\"Allow connections from analytics hub\",\"accept\":{\"environments\":[\"string\"],\"networks\":[\"string\"]},\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/networking/v1/network-link-services/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/network-link-services/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'prod-net-1-nls', - description: 'Allow connections from analytics hub', - accept: {environments: ['string'], networks: ['string']}, - environment: {id: 'env-00000'}, - network: {id: 'string', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-services/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-net-1-nls\",\"description\":\"Allow connections from analytics hub\",\"accept\":{\"environments\":[\"string\"],\"networks\":[\"string\"]},\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-services/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-net-1-nls\",\"description\":\"Allow connections from analytics hub\",\"accept\":{\"environments\":[\"string\"],\"networks\":[\"string\"]},\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteNetworkingV1NetworkLinkService - summary: Delete a Network Link Service - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + description: > + The DNS subdomain for each zone. Present on networks that support + PrivateLink. Keys are zones and + + values are DNS domains. + example: + use1-az1: use1-az1.00000.us-east-1.aws.confluent.cloud + use1-az4: use1-az4.00000.us-east-1.aws.confluent.cloud + use1-az5: use1-az5.00000.us-east-1.aws.confluent.cloud + readOnly: true + cloud: + type: object + description: >- + The cloud-specific network details. These will be populated when the + network reaches the READY state. + discriminator: + propertyName: kind + mapping: + AwsNetwork: '#/components/schemas/networking.v1.AwsNetwork' + GcpNetwork: '#/components/schemas/networking.v1.GcpNetwork' + AzureNetwork: '#/components/schemas/networking.v1.AzureNetwork' + readOnly: true + required: + - kind + - vpc + - account + - project + - vpc_network + - vnet + - subscription + properties: + kind: + description: Network kind type. + type: string + enum: + - AwsNetwork + vpc: + type: string + description: The Confluent Cloud VPC ID. + example: vpc-00000000000000000 + readOnly: true + account: + type: string + description: The AWS account ID associated with the Confluent Cloud VPC. + example: '000000000000' + readOnly: true + private_link_endpoint_service: + type: string + description: >- + The endpoint service of the Confluent Cloud VPC. (used for + PrivateLink) if available. + example: com.amazonaws.vpce.eu-west-3.vpce-00000000000000000 + readOnly: true + project: + type: string + description: The GCP Project ID associated with the Confluent Cloud VPC. + example: cc-prod-3 + readOnly: true + vpc_network: + type: string + description: The network name of the Confluent Cloud VPC. + example: prod-network + readOnly: true + private_service_connect_service_attachments: + type: object + description: > + The mapping of zones to Private Service Connect Service - Make a request to delete a network link service. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the network link service. - tags: - - Network Link Services (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A Network Link Service is being deleted. - headers: - X-Request-Id: - schema: + Attachments if available. Keys are zones and values are + + [GCP Private Service Connect Service + + Attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7) + additionalProperties: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/networking/v1/network-link-services/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/network-link-services/{id}?environment=env-00000") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-services/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/networking/v1/network-link-services/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/network-link-services/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-services/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-services/{id}?environment=env-00000"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /networking/v1/network-link-endpoints: - get: - operationId: listNetworkingV1NetworkLinkEndpoints - summary: List of Network Link Endpoints - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + example: + us-central1-a: >- + projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-a + us-central1-b: >- + projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-b + us-central1-c: >- + projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-c + readOnly: true + vnet: + type: string + description: The resource ID of the Confluent Cloud VNet. + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/prod-group/providers/Microsoft.Network/virtualNetworks/prod-network + readOnly: true + subscription: + type: string + description: >- + The Azure Subscription ID associated with the Confluent Cloud + VPC. + example: 00000000-0000-0000-0000-000000000000 + readOnly: true + private_link_service_aliases: + type: object + description: > + The mapping of zones to Private Link Service Aliases if + available. Keys are zones + + and values are [Azure Private Link Service + + Aliases](https://docs.microsoft.com/en-us/azure/private-link/private-link-service-overview#share-your-service). + additionalProperties: + type: string + example: + '1': >- + 0-00000-privatelink-1.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice + '2': >- + 0-00000-privatelink-2.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice + '3': >- + 0-00000-privatelink-3.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice + readOnly: true + private_link_service_resource_ids: + type: object + description: > + The mapping of zones to Private Link Service Resource IDs if + available. Keys are zones + + and values are [Azure Private Link Service Resource + + IDs](https://docs.microsoft.com/en-us/azure/private-link/private-link-service-overview#share-your-service). + additionalProperties: + type: string + example: + '1': >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/0-00000/providers/Microsoft.Network/privateLinkServices/0-00000-privatelink-1 + '2': >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/0-00000/providers/Microsoft.Network/privateLinkServices/0-00000-privatelink-2 + '3': >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/0-00000/providers/Microsoft.Network/privateLinkServices/0-00000-privatelink-3 + readOnly: true + idle_since: + type: string + format: date-time + example: '2024-01-01T00:00:00.000Z' + description: The date and time when the network becomes idle + readOnly: true + readOnly: true + networking.v1.PeeringSpec: + type: object + description: The desired state of the Peering + properties: + display_name: + type: string + description: The name of the peering + example: prod-peering-use1 + cloud: + type: object + discriminator: + propertyName: kind + mapping: + AwsPeering: '#/components/schemas/networking.v1.AwsPeering' + GcpPeering: '#/components/schemas/networking.v1.GcpPeering' + AzurePeering: '#/components/schemas/networking.v1.AzurePeering' + description: The cloud-specific peering details. + x-immutable: true + title: AWS + required: + - kind + - account + - vpc + - routes + - customer_region + - project + - vpc_network + - tenant + - vnet + properties: + kind: + description: Peering kind type. + type: string + enum: + - AwsPeering + account: + type: string + pattern: ^\d{12}$ + example: '000000000000' + description: >- + The AWS account ID associated with the VPC you are peering with + Confluent Cloud network. + vpc: + type: string + minLength: 1 + description: The VPC ID you are peering with Confluent Cloud network. + example: vpc-00000000000000000 + routes: + type: array + items: + $ref: '#/components/schemas/networking.v1.Cidr' + description: > + The [CIDR + blocks](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + of the VPC you are peering + + with Confluent Cloud network. This is used by Confluent Cloud + network to route traffic back to your network. + + The CIDR block must be a private range and cannot overlap with + the Confluent Cloud CIDR block. + example: + - 10.108.16.0/21 + customer_region: + type: string + description: >- + The region of the VPC you are peering with Confluent Cloud + network. + example: us-east-1 + project: + type: string + minLength: 1 + description: > + The Google Cloud project ID associated with the VPC that you are + peering with Confluent Cloud network. + example: my-gcp-project + vpc_network: + type: string + minLength: 1 + description: >- + The name of the VPC that you are peering with Confluent Cloud + network. + example: my-gcp-network + import_custom_routes: + type: boolean + description: > + Enable customer route import. For more information, see + + [Importing custom + routes](https://cloud.google.com/vpc/docs/vpc-peering#importing-exporting-routes). + example: true + default: false + tenant: + type: string + minLength: 1 + description: > + The Azure Tenant ID in which your Azure Subscription exists. - Retrieve a sorted, filtered, paginated list of all network link endpoints. - parameters: - - name: spec.display_name - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - prod-net-1-nle - - dev-net-1-nle - description: Filter the results by exact match for spec.display_name. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: status.phase - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - READY + Represents an organization in Azure Active Directory. You can + find your Azure Tenant ID in the Azure Portal + + under + + [Azure Active + Directory](https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview). + + Must be a valid **32 character UUID string**. + vnet: + type: string + minLength: 1 + description: >- + The resource ID of the VNet that you are peering with Confluent + Cloud. You can find the name of your Azure VNet in the [Azure + Portal on the Overview tab of your Azure Virtual + Network](https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FvirtualNetworks). + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Network/virtualNetworks/my-vnet + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + network: + description: The network to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.PeeringStatus: + type: object + required: + - phase + description: The status of the Peering + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING - PENDING_ACCEPT - description: Filter the results by exact match for status.phase. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Filter the results by exact match for environment. - - name: spec.network - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - n-00000 - - n-00001 - description: Filter the results by exact match for spec.network. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: spec.network_link_service - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - nls-abcde - - nls-00000 - description: Filter the results by exact match for spec.network_link_service. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 1000 - x-max-page-items: 1000 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Network Link Endpoints (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Network Link Endpoint. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointList' - - type: object - properties: - data: - type: array - items: - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - network_link_service: - example: - id: nls-abcde - related: 'https://api.confluent.cloud/networking/v1/network-link-services/nls-abcde' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/network-link-service=nls-abcde' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/network-link-endpoints?spec.display_name=prod-net-1-nle,dev-net-1-nle&status.phase=READY,PENDING_ACCEPT&environment=env-00000&spec.network=n-00000,n-00001&spec.network_link_service=nls-abcde,nls-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/network-link-endpoints?spec.display_name=prod-net-1-nle,dev-net-1-nle&status.phase=READY,PENDING_ACCEPT&environment=env-00000&spec.network=n-00000,n-00001&spec.network_link_service=nls-abcde,nls-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-endpoints?spec.display_name=prod-net-1-nle,dev-net-1-nle&status.phase=READY,PENDING_ACCEPT&environment=env-00000&spec.network=n-00000,n-00001&spec.network_link_service=nls-abcde,nls-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/network-link-endpoints?spec.display_name=prod-net-1-nle,dev-net-1-nle&status.phase=READY,PENDING_ACCEPT&environment=env-00000&spec.network=n-00000,n-00001&spec.network_link_service=nls-abcde,nls-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/network-link-endpoints?spec.display_name=prod-net-1-nle,dev-net-1-nle&status.phase=READY,PENDING_ACCEPT&environment=env-00000&spec.network=n-00000,n-00001&spec.network_link_service=nls-abcde,nls-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-endpoints?spec.display_name=prod-net-1-nle,dev-net-1-nle&status.phase=READY,PENDING_ACCEPT&environment=env-00000&spec.network=n-00000,n-00001&spec.network_link_service=nls-abcde,nls-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-endpoints?spec.display_name=prod-net-1-nle,dev-net-1-nle&status.phase=READY,PENDING_ACCEPT&environment=env-00000&spec.network=n-00000,n-00001&spec.network_link_service=nls-abcde,nls-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createNetworkingV1NetworkLinkEndpoint - summary: Create a Network Link Endpoint - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + - READY + - FAILED + - DEPROVISIONING + - DISCONNECTED + description: | + The lifecycle phase of the peering: + + PROVISIONING: peering provisioning is in progress; + + PENDING_ACCEPT: peering connection request is pending acceptance by the customer; + + READY: peering is ready; + + FAILED: peering is in a failed state; + + DEPROVISIONING: peering deprovisioning is in progress; - Make a request to create a network link endpoint. - tags: - - Network Link Endpoints (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.NetworkLinkEndpoint' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - environment - - network - - network_link_service - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - network: - example: - id: n-00000 - network_link_service: - example: - id: nls-abcde - responses: - '202': - description: A Network Link Endpoint is being created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}' - description: NetworkLinkEndpoint resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.NetworkLinkEndpoint' - - type: object - required: - - spec - - status - properties: - spec: - type: object - required: - - environment - - network - - network_link_service - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - network_link_service: - example: - id: nls-abcde - related: 'https://api.confluent.cloud/networking/v1/network-link-services/nls-abcde' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/network-link-service=nls-abcde' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/networking/v1/network-link-endpoints \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"prod-net-1-nle","description":"Connect to Network - analytics hub","environment":{"id":"env-00000"},"network":{"id":"n-00000","environment":"string"},"network_link_service":{"id":"nls-abcde","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-net-1-nle\",\"description\":\"Connect to Network - analytics hub\",\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"},\"network_link_service\":{\"id\":\"nls-abcde\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/network-link-endpoints") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-endpoints\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-net-1-nle\\\",\\\"description\\\":\\\"Connect to Network - analytics hub\\\",\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\"},\\\"network\\\":{\\\"id\\\":\\\"n-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"network_link_service\\\":{\\\"id\\\":\\\"nls-abcde\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"prod-net-1-nle\",\"description\":\"Connect to Network - analytics hub\",\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"},\"network_link_service\":{\"id\":\"nls-abcde\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/networking/v1/network-link-endpoints", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/network-link-endpoints", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'prod-net-1-nle', - description: 'Connect to Network - analytics hub', - environment: {id: 'env-00000'}, - network: {id: 'n-00000', environment: 'string'}, - network_link_service: {id: 'nls-abcde', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-endpoints"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-net-1-nle\",\"description\":\"Connect to Network - analytics hub\",\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"},\"network_link_service\":{\"id\":\"nls-abcde\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-endpoints"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-net-1-nle\",\"description\":\"Connect to Network - analytics hub\",\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"n-00000\",\"environment\":\"string\"},\"network_link_service\":{\"id\":\"nls-abcde\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/networking/v1/network-link-endpoints/{id}': - get: - operationId: getNetworkingV1NetworkLinkEndpoint - summary: Read a Network Link Endpoint - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + DISCONNECTED: peering has been disconnected in the cloud provider by the customer; + readOnly: true + example: READY + error_code: + type: string + description: >- + Error code if peering is in a failed state. May be used for + programmatic error checking. + readOnly: true + error_message: + type: string + description: Displayable error message if peering is in a failed state + readOnly: true + readOnly: true + networking.v1.TransitGatewayAttachmentSpec: + type: object + description: The desired state of the Transit Gateway Attachment + properties: + display_name: + type: string + description: The name of the TGW attachment + example: prod-tgw-use1 + cloud: + type: object + discriminator: + propertyName: kind + mapping: + AwsTransitGatewayAttachment: '#/components/schemas/networking.v1.AwsTransitGatewayAttachment' + description: The cloud-specific Transit Gateway details. + x-immutable: true + title: AWS + required: + - kind + - ram_share_arn + - transit_gateway_id + - routes + properties: + kind: + description: AWS Transit Gateway Attachment kind type. + type: string + enum: + - AwsTransitGatewayAttachment + ram_share_arn: + description: >- + The full AWS Resource Name (ARN) for the AWS Resource Access + Manager (RAM) Share of the Transit Gateways that you want + Confluent Cloud to be attached to. + type: string + example: >- + arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx + transit_gateway_id: + description: >- + The ID of the AWS Transit Gateway that you want Confluent CLoud + to be attached to. + type: string + example: tgw-xxxxxxxxxxxxxxxxx + routes: + type: array + items: + $ref: '#/components/schemas/networking.v1.Cidr' + description: List of destination routes. + example: + - 100.64.0.0/10 + - 10.0.0.0/8 + - 192.168.0.0/16 + - 172.16.0.0/12 + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + network: + description: The network to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.TransitGatewayAttachmentStatus: + type: object + required: + - phase + description: The status of the Transit Gateway Attachment + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - READY + - PENDING_ACCEPT + - FAILED + - DEPROVISIONING + - DISCONNECTED + - ERROR + description: | + The lifecycle phase of the TGW attachment: - Make a request to read a network link endpoint. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the network link endpoint. - tags: - - Network Link Endpoints (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Network Link Endpoint. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.NetworkLinkEndpoint' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - environment - - network - - network_link_service - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - network_link_service: - example: - id: nls-abcde - related: 'https://api.confluent.cloud/networking/v1/network-link-services/nls-abcde' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/network-link-service=nls-abcde' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/network-link-endpoints/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/network-link-endpoints/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateNetworkingV1NetworkLinkEndpoint - summary: Update a Network Link Endpoint - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + PROVISIONING: attachment provisioning is in progress; + + PENDING_ACCEPT: attachment request is pending acceptance by the customer; + + READY: attachment is ready; + + FAILED: attachment is in a failed state; + + DEPROVISIONING: attachment deprovisioning is in progress; + + DISCONNECTED: attachment was manually deleted directly in the cloud provider by the customer; + + ERROR: invalid customer input during attachment creation. + readOnly: true + example: READY + error_code: + type: string + description: >- + Error code if TGW attachment is in a failed state. May be used for + programmatic error checking. + readOnly: true + error_message: + type: string + description: Displayable error message if TGW attachment is in a failed state + readOnly: true + cloud: + type: object + description: The cloud-specific TGW attachment details. + discriminator: + propertyName: kind + mapping: + AwsTransitGatewayAttachmentStatus: >- + #/components/schemas/networking.v1.AwsTransitGatewayAttachmentStatus + readOnly: true + title: AWS + required: + - transit_gateway_attachment_id + properties: + kind: + description: AWS Transit Gateway Attachment Status kind type. + type: string + enum: + - AwsTransitGatewayAttachmentStatus + transit_gateway_attachment_id: + description: >- + The ID of the AWS Transit Gateway VPC Attachment that attaches + Confluent VPC to Transit Gateway. + type: string + example: tgw-attach-xxxxx + readOnly: true + readOnly: true + networking.v1.PrivateLinkAccessSpec: + type: object + description: The desired state of the Private Link Access + properties: + display_name: + type: string + description: The name of the PrivateLink access + example: prod-pl-use1 + cloud: + type: object + discriminator: + propertyName: kind + mapping: + AwsPrivateLinkAccess: '#/components/schemas/networking.v1.AwsPrivateLinkAccess' + AzurePrivateLinkAccess: '#/components/schemas/networking.v1.AzurePrivateLinkAccess' + GcpPrivateServiceConnectAccess: >- + #/components/schemas/networking.v1.GcpPrivateServiceConnectAccess + description: The cloud-specific PrivateLink details. + x-immutable: true + title: AWS + required: + - kind + - account + - subscription + - project + properties: + kind: + description: PrivateLink kind type. + type: string + enum: + - AwsPrivateLinkAccess + account: + type: string + pattern: ^\d{12}$ + example: '000000000000' + description: > + The AWS account ID for the account containing the VPCs you want + to connect from using AWS PrivateLink. + + You can find your AWS account ID + [here](https://console.aws.amazon.com/billing/home?#/account) + + under **My Account** in your AWS Management Console. Must be a + **12 character string**. + subscription: + type: string + minLength: 1 + description: > + The Azure subscription ID for the account containing the VNets + you want to connect from using - Make a request to update a network link endpoint. + Azure Private Link. You can find your Azure subscription ID in + the subscription section of your - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the network link endpoint. - tags: - - Network Link Endpoints (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.NetworkLinkEndpointUpdate' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - environment - properties: - environment: - example: - id: env-00000 - responses: - '200': - description: Network Link Endpoint. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.NetworkLinkEndpoint' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - environment - - network - - network_link_service - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - example: - id: n-00000 - related: 'https://api.confluent.cloud/networking/v1/networks/n-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-00000' - network_link_service: - example: - id: nls-abcde - related: 'https://api.confluent.cloud/networking/v1/network-link-services/nls-abcde' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/network-link-service=nls-abcde' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"prod-net-1-nle","description":"Connect to Network - analytics hub","environment":{"id":"env-00000"},"network":{"id":"string","environment":"string"},"network_link_service":{"id":"string","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-net-1-nle\",\"description\":\"Connect to Network - analytics hub\",\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"},\"network_link_service\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-net-1-nle\\\",\\\"description\\\":\\\"Connect to Network - analytics hub\\\",\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\"},\\\"network\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"},\\\"network_link_service\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"prod-net-1-nle\",\"description\":\"Connect to Network - analytics hub\",\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"},\"network_link_service\":{\"id\":\"string\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/networking/v1/network-link-endpoints/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/network-link-endpoints/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'prod-net-1-nle', - description: 'Connect to Network - analytics hub', - environment: {id: 'env-00000'}, - network: {id: 'string', environment: 'string'}, - network_link_service: {id: 'string', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-net-1-nle\",\"description\":\"Connect to Network - analytics hub\",\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"},\"network_link_service\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-net-1-nle\",\"description\":\"Connect to Network - analytics hub\",\"environment\":{\"id\":\"env-00000\"},\"network\":{\"id\":\"string\",\"environment\":\"string\"},\"network_link_service\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteNetworkingV1NetworkLinkEndpoint - summary: Delete a Network Link Endpoint - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [Microsoft Azure + Portal](https://portal.azure.com/#blade/Microsoft_Azure_Billing/SubscriptionsBlade). - Make a request to delete a network link endpoint. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the network link endpoint. - tags: - - Network Link Endpoints (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A Network Link Endpoint is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}?environment=env-00000") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/networking/v1/network-link-endpoints/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/network-link-endpoints/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-endpoints/{id}?environment=env-00000"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /networking/v1/network-link-service-associations: - get: - operationId: listNetworkingV1NetworkLinkServiceAssociations - summary: List of Network Link Service Associations - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Must be a valid **32 character UUID string**. + project: + type: string + minLength: 1 + description: > + The GCP project ID for the account containing the VPCs that you + want to connect from - Retrieve a sorted, filtered, paginated list of all network link service associations. - parameters: - - name: status.phase - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: + using Private Service Connect. You can find your Google Cloud + Project ID under **Project ID** section of + + your [Google Cloud Console + dashboard](https://console.cloud.google.com/home/dashboard). + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + network: + description: The network to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.PrivateLinkAccessStatus: + type: object + required: + - phase + description: The status of the Private Link Access + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING - READY - - PENDING_ACCEPT - description: Filter the results by exact match for status.phase. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: spec.network_link_service - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: nls-abcde - description: Filter the results by exact match for spec.network_link_service. - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Filter the results by exact match for environment. - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 1000 - x-max-page-items: 1000 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Network Link Service Associations (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Network Link Service Association. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.NetworkLinkServiceAssociationList' - - type: object - properties: - data: - type: array - items: - properties: - spec: - type: object - properties: - network_link_service: - example: - id: nls-abcde - related: 'https://api.confluent.cloud/networking/v1/network-link-services/nls-abcde' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/network-link-service=nls-abcde' - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - headers: - X-Request-Id: - schema: + - FAILED + - DEPROVISIONING + description: | + The lifecycle phase of the PrivateLink access configuration: + + PROVISIONING: PrivateLink access provisioning is in progress; + + READY: PrivateLink access is ready; + + FAILED: PrivateLink access is in a failed state; + + DEPROVISIONING: PrivateLink access deprovisioning is in progress; + readOnly: true + example: READY + error_code: + type: string + description: >- + Error code if PrivateLink access is in a failed state. May be used + for programmatic error checking. + readOnly: true + error_message: + type: string + description: Displayable error message if PrivateLink access is in a failed state + readOnly: true + readOnly: true + networking.v1.NetworkLinkServiceSpec: + type: object + description: The desired state of the Network Link Service + properties: + display_name: + type: string + description: The name of the network link service + example: prod-net-1-nls + description: + type: string + description: The description of the network link service + example: Allow connections from analytics hub + accept: + description: Network Link Service Accept policy + type: object + title: Network Link Service + properties: + environments: + description: | + List of environments from which connections can be accepted. + All networks win the list of environment will be allowed. + type: array + items: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/network-link-service-associations?status.phase=READY,PENDING_ACCEPT&spec.network_link_service=nls-abcde&environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/network-link-service-associations?status.phase=READY,PENDING_ACCEPT&spec.network_link_service=nls-abcde&environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-service-associations?status.phase=READY,PENDING_ACCEPT&spec.network_link_service=nls-abcde&environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/network-link-service-associations?status.phase=READY,PENDING_ACCEPT&spec.network_link_service=nls-abcde&environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/network-link-service-associations?status.phase=READY,PENDING_ACCEPT&spec.network_link_service=nls-abcde&environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-service-associations?status.phase=READY,PENDING_ACCEPT&spec.network_link_service=nls-abcde&environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-service-associations?status.phase=READY,PENDING_ACCEPT&spec.network_link_service=nls-abcde&environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/networking/v1/network-link-service-associations/{id}': - get: - operationId: getNetworkingV1NetworkLinkServiceAssociation - summary: Read a Network Link Service Association - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read a network link service association. - parameters: - - name: spec.network_link_service - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: nls-abcde - description: Scope the operation to the given spec.network_link_service. - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the network link service association. - tags: - - Network Link Service Associations (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Network Link Service Association. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.NetworkLinkServiceAssociation' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - display_name - - network_link_endpoint - - network_link_service - - environment - - type: object - properties: - spec: - type: object - properties: - network_link_service: - example: - id: nls-abcde - related: 'https://api.confluent.cloud/networking/v1/network-link-services/nls-abcde' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-456xyz/network-link-service=nls-abcde' - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - headers: - X-Request-Id: - schema: + uniqueItems: true + networks: + description: | + List of networks from which connections can be accepted. + type: array + items: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/network-link-service-associations/{id}?spec.network_link_service=nls-abcde&environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/network-link-service-associations/{id}?spec.network_link_service=nls-abcde&environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/network-link-service-associations/{id}?spec.network_link_service=nls-abcde&environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/network-link-service-associations/{id}?spec.network_link_service=nls-abcde&environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/network-link-service-associations/{id}?spec.network_link_service=nls-abcde&environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/network-link-service-associations/{id}?spec.network_link_service=nls-abcde&environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/network-link-service-associations/{id}?spec.network_link_service=nls-abcde&environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /networking/v1/gateways: - get: - operationId: listNetworkingV1Gateways - summary: List of Gateways - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + uniqueItems: true + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + network: + description: The network to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.NetworkLinkServiceStatus: + type: object + required: + - phase + description: The status of the Network Link Service + properties: + phase: + type: string + x-extensible-enum: + - READY + description: | + The lifecycle phase of the network link service: - Retrieve a sorted, filtered, paginated list of all gateways. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Filter the results by exact match for environment. - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 1000 - x-max-page-items: 1000 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Gateways (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Gateway. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.GatewayList' - - type: object - properties: - data: - type: array - items: - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/gateways?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/gateways?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/gateways?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/gateways?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/gateways?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/gateways?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/gateways?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/networking/v1/gateways/{id}': - get: - operationId: getNetworkingV1Gateway - summary: Read a Gateway - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + READY: network link service is ready; + readOnly: true + example: READY + error_code: + type: string + description: | + Error code if network link service is in a failed state. + May be used for programmatic error checking. + readOnly: true + error_message: + type: string + description: >- + Displayable error message if network link service is in a failed + state + readOnly: true + readOnly: true + networking.v1.NetworkLinkEndpointSpec: + type: object + description: The desired state of the Network Link Endpoint + properties: + display_name: + type: string + description: The name of the network link endpoint + example: prod-net-1-nle + description: + type: string + description: The description of the network link endpoint + example: Connect to Network - analytics hub + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + network: + description: The network to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + network_link_service: + description: The network_link_service to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.NetworkLinkEndpointStatus: + type: object + required: + - phase + description: The status of the Network Link Endpoint + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - PENDING_ACCEPT + - READY + - FAILED + - DEPROVISIONING + - EXPIRED + - DISCONNECTED + - DISCONNECTING + - INACTIVE + description: | + The lifecycle phase of the network link endpoint: - Make a request to read a gateway. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the gateway. - tags: - - Gateways (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Gateway. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.Gateway' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - config - - environment - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/gateways/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/gateways/{id}?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/gateways/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/gateways/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/gateways/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/gateways/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/gateways/{id}?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /networking/v1/ip-addresses: - get: - operationId: listNetworkingV1IpAddresses - summary: List of IP Addresses - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + PROVISIONING: network link endpoint provisioning is in progress; - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + PENDING_ACCEPT: network link endpoint request is pending acceptance by the the owner of the target; - Retrieve a sorted, filtered, paginated list of all IP Addresses. - parameters: - - name: cloud - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - GCP - - AWS - description: Filter the results by exact match for cloud. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: region - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - us-central1 - - us-east-1 - description: Filter the results by exact match for region. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: services - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - KAFKA - - CONNECT - description: Filter the results by exact match for services. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: address_type - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - INGRESS - - EGRESS - description: Filter the results by exact match for address_type. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - IP Addresses (networking/v1) - security: - - cloud-api-key: [] - responses: - '200': - description: IP Address. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.IpAddressList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/ip-addresses?cloud=GCP,AWS®ion=us-central1,us-east-1&services=KAFKA,CONNECT&address_type=INGRESS,EGRESS' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/ip-addresses?cloud=GCP,AWS®ion=us-central1,us-east-1&services=KAFKA,CONNECT&address_type=INGRESS,EGRESS") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/ip-addresses?cloud=GCP,AWS®ion=us-central1,us-east-1&services=KAFKA,CONNECT&address_type=INGRESS,EGRESS\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/ip-addresses?cloud=GCP,AWS®ion=us-central1,us-east-1&services=KAFKA,CONNECT&address_type=INGRESS,EGRESS", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/ip-addresses?cloud=GCP,AWS®ion=us-central1,us-east-1&services=KAFKA,CONNECT&address_type=INGRESS,EGRESS", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/ip-addresses?cloud=GCP,AWS®ion=us-central1,us-east-1&services=KAFKA,CONNECT&address_type=INGRESS,EGRESS"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/ip-addresses?cloud=GCP,AWS®ion=us-central1,us-east-1&services=KAFKA,CONNECT&address_type=INGRESS,EGRESS"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /networking/v1/private-link-attachments: - get: - operationId: listNetworkingV1PrivateLinkAttachments - summary: List of Private Link Attachments - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + READY: network link endpoint is ready; + + FAILED: network link endpoint is in a failed state; + + DEPROVISIONING: network link endpoint deprovisioning is in progress; + + EXPIRED: network link endpoint request is expired, can only be deleted; + + DISCONNECTED: network link endpoint is in a disconnected state, target owner has removed the permissions; + + DISCONNECTING: network link endpoint disconnection is in progress; + + INACTIVE: network link endpoint is created, but not active since there are no clusters in the network; + readOnly: true + example: READY + error_code: + type: string + description: >- + Error code if network link is in a failed state. May be used for + programmatic error checking. + readOnly: true + error_message: + type: string + description: Displayable error message if network link is in a failed state + readOnly: true + expires_at: + type: string + format: date-time + example: '2024-01-01T00:00:00.000Z' + description: >- + The date and time when the request expires if it is not accepted by + the target network admin. + readOnly: true + readOnly: true + networking.v1.NetworkLinkServiceAssociationSpec: + type: object + description: The desired state of the Network Link Service Association + properties: + display_name: + type: string + description: The name of the network link endpoint + readOnly: true + example: prod-net-1-nle + description: + type: string + description: The description of the network link endpoint + readOnly: true + example: Connect to Network - analytics hub + network_link_endpoint: + type: string + description: ID of the Network link endpoint. + readOnly: true + example: prod-net-1-nle + network_link_service: + description: The network_link_service to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + environment: + description: The environment to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.NetworkLinkServiceAssociationStatus: + type: object + required: + - phase + description: The status of the Network Link Service Association + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - PENDING_ACCEPT + - READY + - FAILED + - DEPROVISIONING + - EXPIRED + - DISCONNECTED + - DISCONNECTING + - INACTIVE + description: | + The lifecycle phase of the network link endpoint: + + PROVISIONING: network link endpoint provisioning is in progress; + + PENDING_ACCEPT: network link endpoint request is pending acceptance by the the owner of the target; + + READY: network link endpoint is ready; - Retrieve a sorted, filtered, paginated list of all private link attachments. - parameters: - - name: spec.display_name - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - prod-gcp-us-central1 - - prod-aws-useast1 - description: Filter the results by exact match for spec.display_name. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: spec.cloud - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: + FAILED: network link endpoint is in a failed state; + + DEPROVISIONING: network link endpoint deprovisioning is in progress; + + EXPIRED: network link endpoint request is expired, can only be deleted; + + DISCONNECTED: network link endpoint is in a disconnected state, target owner has removed the permissions; + + DISCONNECTING: network link endpoint disconnection is in progress; + + INACTIVE: network link endpoint is created, but not active since there are no clusters in the network; + example: READY + readOnly: true + error_code: + type: string + description: >- + Error code if network link is in a failed state. May be used for + programmatic error checking. + readOnly: true + error_message: + type: string + description: Displayable error message if network link is in a failed state + readOnly: true + expires_at: + type: string + format: date-time + example: '2024-01-01T00:00:00.000Z' + description: >- + The date and time when the request expires if it is not accepted by + the target network admin. + readOnly: true + readOnly: true + networking.v1.IpAddress: + type: object + description: >- + IP Addresses + + + Related guide: [Use Public Egress IP addresses on Confluent + Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) + + + ## The IP Addresses Model + + + properties: + api_version: + type: string + enum: + - networking/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IpAddress + ip_prefix: + type: string + pattern: ^\d+\.\d+\.\d+\.\d+/\d+$ + description: The IP Address range. + example: 10.200.0.0/28 + cloud: + type: string + description: The cloud service provider in which the address exists. + x-extensible-enum: + - AWS - GCP + - AZURE + - ANY + example: AWS + region: + type: string + description: The region/location where the IP Address is in use. + example: us-east-1 + services: + type: array + description: The service types that will use the address. + items: + type: string + description: Address service type. + x-extensible-enum: + - KAFKA + - CONNECT + - EXTERNAL_OAUTH + example: CONNECT + uniqueItems: true + minItems: 1 + address_type: + type: string + description: Whether the address is used for egress or ingress. + x-extensible-enum: + - INGRESS + - EGRESS + example: EGRESS + networking.v1.PrivateLinkAttachmentSpec: + type: object + description: The desired state of the Private Link Attachment + properties: + display_name: + type: string + description: The name of the PrivateLink attachment. + example: prod-aws-us-east1 + cloud: + type: string + description: > + The cloud service provider that hosts the resources to access with + the PrivateLink attachment. + x-extensible-enum: - AWS - description: Filter the results by exact match for spec.cloud. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: spec.region - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - us-central1 - - us-east-1 - description: Filter the results by exact match for spec.region. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: status.phase - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: + - GCP + - AZURE + example: AWS + x-immutable: true + region: + type: string + description: | + The cloud service provider region where the resources to be accessed + using the PrivateLink attachment are located. + example: us-east-1 + x-immutable: true + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.PrivateLinkAttachmentStatus: + type: object + required: + - phase + description: The status of the Private Link Attachment + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - WAITING_FOR_CONNECTIONS + - READY + - FAILED + - EXPIRED + - DEPROVISIONING + description: | + The lifecycle phase of the PrivateLink attachment: + + PROVISIONING: PrivateLink attachment provisioning is in progress; + + WAITING_FOR_CONNECTIONS: PrivateLink attachment is waiting for connections; + + READY: PrivateLink attachment is ready; + + FAILED: PrivateLink attachment is in a failed state; + + EXPIRED: PrivateLink attachment has timed out waiting for connections, can only be deleted; + + DEPROVISIONING: PrivateLink attachment deprovisioning is in progress; + readOnly: true + example: READY + error_code: + type: string + description: >- + Error code if PrivateLink attachment is in a failed state. May be + used for programmatic error checking. + readOnly: true + error_message: + type: string + description: >- + Displayable error message if PrivateLink attachment is in a failed + state. + readOnly: true + dns_domain: + type: string + description: The root DNS domain for the PrivateLink attachment. + example: us-east-1.aws.private.confluent.cloud + readOnly: true + cloud: + type: object + description: >- + The cloud specific status of the PrivateLink attachment. These will + be populated when the PrivateLink attachment reaches the + WAITING_FOR_CONNECTIONS state. + discriminator: + propertyName: kind + mapping: + AwsPrivateLinkAttachmentStatus: >- + #/components/schemas/networking.v1.AwsPrivateLinkAttachmentStatus + AzurePrivateLinkAttachmentStatus: >- + #/components/schemas/networking.v1.AzurePrivateLinkAttachmentStatus + GcpPrivateLinkAttachmentStatus: >- + #/components/schemas/networking.v1.GcpPrivateLinkAttachmentStatus + readOnly: true + required: + - kind + - vpc_endpoint_service + - private_link_service + - service_attachment + properties: + kind: + type: string + description: PrivateLinkAttachmentStatus kind. + enum: + - AwsPrivateLinkAttachmentStatus + readOnly: true + vpc_endpoint_service: + description: > + AWS VPC Endpoint Service that can be used to establish + connections for all zones. + type: object + readOnly: true + required: + - vpc_endpoint_service_name + properties: + vpc_endpoint_service_name: + type: string + description: Id of the VPC Endpoint service. + readOnly: true + private_link_service: + description: > + Azure PrivateLink service that can be used to connect to a + PrivateEndpoint. + type: object + readOnly: true + required: + - private_link_service_alias + - private_link_service_resource_id + properties: + private_link_service_alias: + description: Azure PrivateLink service alias. + type: string + minLength: 1 + readOnly: true + example: >- + pls-plt-abcdef-az3.38748da8-3322-42f7-b97a-6448c21af653.centralus.azure.privatelinkservice + private_link_service_resource_id: + description: Azure PrivateLink service resource id. + type: string + minLength: 1 + readOnly: true + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/s-abcde/providers/Microsoft.Network/privateLinkServices/pls-plt-abcdef + service_attachment: + description: | + GCP PSC Service attachment that can be used to connect + to a PSC Endpoint. + type: object + readOnly: true + required: + - private_service_connect_service_attachment + properties: + private_service_connect_service_attachment: + description: >- + Id of a Private Service Connect Service Attachment in + Confluent Cloud. + type: string + minLength: 1 + readOnly: true + example: >- + projects/example-project/regions/us-central1/serviceAttachments/plt-abcdef-service-attachment-us-central1 + readOnly: true + networking.v1.PrivateLinkAttachmentConnectionSpec: + type: object + description: The desired state of the Private Link Attachment Connection + properties: + display_name: + type: string + description: The name of the PrivateLink attachment connection. + example: prod-gcp-us-central1-a + cloud: + type: object + description: The cloud-specific PrivateLink attachment connection details. + discriminator: + propertyName: kind + mapping: + AwsPrivateLinkAttachmentConnection: >- + #/components/schemas/networking.v1.AwsPrivateLinkAttachmentConnection + AzurePrivateLinkAttachmentConnection: >- + #/components/schemas/networking.v1.AzurePrivateLinkAttachmentConnection + GcpPrivateLinkAttachmentConnection: >- + #/components/schemas/networking.v1.GcpPrivateLinkAttachmentConnection + x-immutable: true + required: + - kind + - vpc_endpoint_id + - private_endpoint_resource_id + - private_service_connect_connection_id + properties: + kind: + type: string + description: PrivateLinkAttachmentConnection kind. + enum: + - AwsPrivateLinkAttachmentConnection + vpc_endpoint_id: + description: >- + Id of a VPC Endpoint that is connected to the VPC Endpoint + service. + type: string + minLength: 1 + example: vpce-00000000000000000 + private_endpoint_resource_id: + description: > + Resource Id of the PrivateEndpoint that is connected to the + PrivateLink service. + type: string + minLength: 1 + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testvpc/providers/Microsoft.Network/privateEndpoints/pe-plt-abcdef-az3 + private_service_connect_connection_id: + description: Id of the Private Service connection. + type: string + minLength: 1 + example: '00000000000000000' + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + private_link_attachment: + description: The private_link_attachment to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.PrivateLinkAttachmentConnectionStatus: + type: object + required: + - phase + description: The status of the Private Link Attachment Connection + properties: + phase: + type: string + x-extensible-enum: - PROVISIONING - READY - description: Filter the results by exact match for status.phase. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Filter the results by exact match for environment. - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Private Link Attachments (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Private Link Attachment. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentList' - - type: object - properties: - data: - type: array - items: - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/private-link-attachments?spec.display_name=prod-gcp-us-central1,prod-aws-useast1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&status.phase=PROVISIONING,READY&environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/private-link-attachments?spec.display_name=prod-gcp-us-central1,prod-aws-useast1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&status.phase=PROVISIONING,READY&environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-attachments?spec.display_name=prod-gcp-us-central1,prod-aws-useast1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&status.phase=PROVISIONING,READY&environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/private-link-attachments?spec.display_name=prod-gcp-us-central1,prod-aws-useast1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&status.phase=PROVISIONING,READY&environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/private-link-attachments?spec.display_name=prod-gcp-us-central1,prod-aws-useast1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&status.phase=PROVISIONING,READY&environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-attachments?spec.display_name=prod-gcp-us-central1,prod-aws-useast1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&status.phase=PROVISIONING,READY&environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-attachments?spec.display_name=prod-gcp-us-central1,prod-aws-useast1&spec.cloud=GCP,AWS&spec.region=us-central1,us-east-1&status.phase=PROVISIONING,READY&environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createNetworkingV1PrivateLinkAttachment - summary: Create a Private Link Attachment - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + - FAILED + - DEPROVISIONING + - DISCONNECTED + description: | + The lifecycle phase of the PrivateLink attachment: - Make a request to create a private link attachment. - tags: - - Private Link Attachments (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachment' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - cloud - - region - - environment - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - responses: - '202': - description: A Private Link Attachment is being created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/networking/v1/private-link-attachments/{id}' - description: PrivateLinkAttachment resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachment' - - type: object - required: - - spec - - status - properties: - spec: - type: object - required: - - cloud - - region - - environment - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/networking/v1/private-link-attachments \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"prod-aws-us-east1","cloud":"AWS","region":"us-east-1","environment":{"id":"env-00000","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/private-link-attachments") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-attachments\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-aws-us-east1\\\",\\\"cloud\\\":\\\"AWS\\\",\\\"region\\\":\\\"us-east-1\\\",\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/networking/v1/private-link-attachments", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/private-link-attachments", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'prod-aws-us-east1', - cloud: 'AWS', - region: 'us-east-1', - environment: {id: 'env-00000', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-attachments"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-attachments"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/networking/v1/private-link-attachments/{id}': - get: - operationId: getNetworkingV1PrivateLinkAttachment - summary: Read a Private Link Attachment - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + PROVISIONING: PrivateLink attachment connection provisioning is in progress; - Make a request to read a private link attachment. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: + READY: PrivateLink attachment connection is ready; + + FAILED: PrivateLink attachment connection is in a failed state; + + DEPROVISIONING: PrivateLink attachment connection deprovisioning is in progress; + + DISCONNECTED:| + PrivateLink attachment connection is in a disconnected state. This means the + private endpoint associated with this PrivateLink attachment connection has been deleted; + readOnly: true + example: READY + error_code: + type: string + description: >- + Error code if PrivateLink attachment connection is in a failed + state. May be used for programmatic error checking. + readOnly: true + error_message: + type: string + description: >- + Displayable error message if PrivateLink attachment connection is in + a failed state. + readOnly: true + cloud: + type: object + description: The cloud specific status of the PrivateLink attachment connection. + discriminator: + propertyName: kind + mapping: + AwsPrivateLinkAttachmentConnectionStatus: >- + #/components/schemas/networking.v1.AwsPrivateLinkAttachmentConnectionStatus + AzurePrivateLinkAttachmentConnectionStatus: >- + #/components/schemas/networking.v1.AzurePrivateLinkAttachmentConnectionStatus + GcpPrivateLinkAttachmentConnectionStatus: >- + #/components/schemas/networking.v1.GcpPrivateLinkAttachmentConnectionStatus + readOnly: true + required: + - kind + - vpc_endpoint_service_name + - vpc_endpoint_id + - private_link_service_alias + - private_link_service_resource_id + - private_endpoint_resource_id + - private_service_connect_service_attachment + - private_service_connect_connection_id + properties: + kind: + type: string + description: PrivateLinkAttachmentConnectionStatus kind. + enum: + - AwsPrivateLinkAttachmentConnectionStatus + vpc_endpoint_service_name: + description: Id of the VPC Endpoint service used for PrivateLink. + type: string + minLength: 1 + example: com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000 + readOnly: true + vpc_endpoint_id: + description: >- + Id of the VPC Endpoint (if any) that is connected to the VPC + Endpoint service. + type: string + minLength: 1 + readOnly: true + example: vpce-00000000000000000 + private_link_service_alias: + description: Azure PrivateLink service alias. + type: string + minLength: 1 + readOnly: true + example: >- + pls-plt-abcdef-az3.38748da8-3322-42f7-b97a-6448c21af653.centralus.azure.privatelinkservice + private_link_service_resource_id: + description: Azure PrivateLink service resource id. + type: string + minLength: 1 + readOnly: true + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/s-abcde/providers/Microsoft.Network/privateLinkServices/pls-plt-abcdef-az3 + private_endpoint_resource_id: + description: | + Resource Id of the PrivateEndpoint (if any) that is connected to + the PrivateLink service. + type: string + minLength: 1 + readOnly: true + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testvpc/providers/Microsoft.Network/privateEndpoints/pe-plt-abcdef-az3 + private_service_connect_service_attachment: + description: GCP Private Service Connect ServiceAttachment. + type: string + minLength: 1 + readOnly: true + example: >- + projects/example-project/regions/us-central1/serviceAttachments/plt-abcdef-service-attachment-us-central1-a + private_service_connect_connection_id: + description: Id of the Private Service connection. + type: string + minLength: 1 + readOnly: true + example: '00000000000000000' + readOnly: true + networking.v1.DnsForwarderSpec: + type: object + description: The desired state of the Dns Forwarder + properties: + display_name: + type: string + description: The name of the DNS forwarder + example: prod-dnsf-1 + domains: + type: array + items: type: string - description: The unique identifier for the private link attachment. - tags: - - Private Link Attachments (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Private Link Attachment. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachment' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - cloud - - region - - environment - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/private-link-attachments/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/private-link-attachments/{id}?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-attachments/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/private-link-attachments/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/private-link-attachments/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-attachments/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-attachments/{id}?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateNetworkingV1PrivateLinkAttachment - summary: Update a Private Link Attachment - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + uniqueItems: true + minItems: 0 + maxItems: 10 + description: List of domains for the DNS forwarder to use + example: + - example.com + - domainname.com + config: + type: object + discriminator: + propertyName: kind + mapping: + ForwardViaIp: '#/components/schemas/networking.v1.ForwardViaIp' + description: >- + The specific details of different kinds of configuration for DNS + Forwarder. + title: ForwardViaIp + required: + - kind + - dns_server_ips + properties: + kind: + description: DNS Forwarder Configured via DNS Server IPs kind type. + type: string + enum: + - ForwardViaIp + dns_server_ips: + type: array + items: + $ref: '#/components/schemas/networking.v1.Ip' + uniqueItems: true + minItems: 1 + maxItems: 3 + description: List of IP addresses of the DNS server + example: + - 10.200.0.0 + - 10.200.0.1 + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + gateway: + description: The gateway to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.DnsForwarderStatus: + type: object + required: + - phase + description: The status of the Dns Forwarder + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - CREATED + - READY + - DEGRADED + - FAILED + - DEPROVISIONING + description: | + The lifecycle phase of the DNS forwarder: - Make a request to update a private link attachment. + PROVISIONING: DNS forwarder provisioning is in progress; - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the private link attachment. - tags: - - Private Link Attachments (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentUpdate' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - environment - properties: - environment: - example: - id: env-00000 - responses: - '200': - description: Private Link Attachment. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachment' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - cloud - - region - - environment - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/networking/v1/private-link-attachments/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"prod-aws-us-east1","cloud":"AWS","region":"us-east-1","environment":{"id":"env-00000","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/private-link-attachments/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-attachments/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-aws-us-east1\\\",\\\"cloud\\\":\\\"AWS\\\",\\\"region\\\":\\\"us-east-1\\\",\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/networking/v1/private-link-attachments/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/private-link-attachments/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'prod-aws-us-east1', - cloud: 'AWS', - region: 'us-east-1', - environment: {id: 'env-00000', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-attachments/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-attachments/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-aws-us-east1\",\"cloud\":\"AWS\",\"region\":\"us-east-1\",\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteNetworkingV1PrivateLinkAttachment - summary: Delete a Private Link Attachment - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + CREATED: DNS forwarder is created. It will automatically become ready once a Kafka cluster is provisioned; - Make a request to delete a private link attachment. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the private link attachment. - tags: - - Private Link Attachments (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A Private Link Attachment is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/networking/v1/private-link-attachments/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/private-link-attachments/{id}?environment=env-00000") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-attachments/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/networking/v1/private-link-attachments/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/private-link-attachments/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-attachments/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-attachments/{id}?environment=env-00000"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /networking/v1/private-link-attachment-connections: - get: - operationId: listNetworkingV1PrivateLinkAttachmentConnections - summary: List of Private Link Attachment Connections - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + READY: DNS forwarder is ready; - Retrieve a sorted, filtered, paginated list of all private link attachment connections. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Filter the results by exact match for environment. - - name: spec.private_link_attachment - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: platt-00000 - description: Filter the results by exact match for spec.private_link_attachment. - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Private Link Attachment Connections (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Private Link Attachment Connection. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentConnectionList' - - type: object - properties: - data: - type: array - items: - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - private_link_attachment: - example: - id: platt-00000 - related: 'https://api.confluent.cloud/networking/v1/private-link-attachments/platt-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/private-link-attachment=platt-00000' - headers: - X-Request-Id: - schema: + FAILED: DNS forwarder is in a failed state; + + DEGRADED: DNS forwarder is in a degraded state, transitioning from 'READY' due to unreachable DNS resolvers; + + DEPROVISIONING: DNS forwarder deprovisioning is in progress; + readOnly: true + example: READY + error_code: + type: string + description: >- + Error code if dns forwarder is in a failed state. May be used for + programmatic error checking. + readOnly: true + error_message: + type: string + description: Displayable error message if dns forwarder is in a failed state + readOnly: true + readOnly: true + networking.v1.AccessPointSpec: + type: object + description: The desired state of the Access Point + properties: + display_name: + type: string + description: The name of the access point. + example: prod-ap-egress-usw2 + config: + type: object + discriminator: + propertyName: kind + mapping: + AwsEgressPrivateLinkEndpoint: '#/components/schemas/networking.v1.AwsEgressPrivateLinkEndpoint' + AwsIngressPrivateLinkEndpoint: '#/components/schemas/networking.v1.AwsIngressPrivateLinkEndpoint' + AzureEgressPrivateLinkEndpoint: >- + #/components/schemas/networking.v1.AzureEgressPrivateLinkEndpoint + AzureIngressPrivateLinkEndpoint: >- + #/components/schemas/networking.v1.AzureIngressPrivateLinkEndpoint + AwsPrivateNetworkInterface: '#/components/schemas/networking.v1.AwsPrivateNetworkInterface' + GcpEgressPrivateServiceConnectEndpoint: >- + #/components/schemas/networking.v1.GcpEgressPrivateServiceConnectEndpoint + GcpIngressPrivateServiceConnectEndpoint: >- + #/components/schemas/networking.v1.GcpIngressPrivateServiceConnectEndpoint + description: The specific details of the different access point configurations. + required: + - kind + - vpc_endpoint_service_name + - vpc_endpoint_id + - private_link_service_resource_id + - private_endpoint_resource_id + - private_service_connect_endpoint_target + - private_service_connect_connection_id + properties: + kind: + type: string + description: AwsEgressPrivateLinkEndpoint kind. + enum: + - AwsEgressPrivateLinkEndpoint + vpc_endpoint_service_name: + description: ID of the VPC Endpoint service used for PrivateLink. + type: string + minLength: 1 + example: com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000 + enable_high_availability: + type: boolean + description: >- + Whether a resource should be provisioned with high availability. + Endpoints deployed with high availability have network + interfaces deployed in multiple AZs. + example: false + x-immutable: true + target_system: + type: string + description: >- + [Used by the Confluent Cloud Console] The target system or + service that the PrivateLink Endpoint connects to (e.g. + "MONGODB" or "SNOWFLAKE"). + example: S3 + vpc_endpoint_id: + description: >- + ID of a VPC Endpoint that will be connected to the VPC Endpoint + service. + type: string + minLength: 1 + example: vpce-00000000000000000 + x-immutable: true + private_link_service_resource_id: + description: Resource ID of the Azure Private Link service. + type: string + minLength: 1 + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/s-abcde/providers/Microsoft.Network/privateLinkServices/pls-plt-abcdef-az3 + private_link_subresource_name: + type: string + description: Name of the subresource for the Private Endpoint to connect to. + example: sqlServer + private_endpoint_resource_id: + description: >- + Resource ID of a Private Endpoint that will be connected to the + Private Link service. + type: string + minLength: 1 + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-centralus-rg/providers/Microsoft.Network/privateEndpoints/private-endpoint-azure-centralus + x-immutable: true + network_interfaces: + description: List of the IDs of the Elastic Network Interfaces. + type: array + items: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/private-link-attachment-connections?environment=env-00000&spec.private_link_attachment=platt-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/private-link-attachment-connections?environment=env-00000&spec.private_link_attachment=platt-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-attachment-connections?environment=env-00000&spec.private_link_attachment=platt-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/private-link-attachment-connections?environment=env-00000&spec.private_link_attachment=platt-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/private-link-attachment-connections?environment=env-00000&spec.private_link_attachment=platt-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-attachment-connections?environment=env-00000&spec.private_link_attachment=platt-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-attachment-connections?environment=env-00000&spec.private_link_attachment=platt-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createNetworkingV1PrivateLinkAttachmentConnection - summary: Create a Private Link Attachment Connection - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to create a private link attachment connection. - tags: - - Private Link Attachment Connections (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentConnection' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - cloud - - environment - - private_link_attachment - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - private_link_attachment: - example: - id: platt-00000 - responses: - '202': - description: A Private Link Attachment Connection is being created. - headers: - X-Request-Id: - schema: + uniqueItems: true + minItems: 51 + example: + - eni-00000000000000000 + - eni-00000000000000001 + - eni-00000000000000002 + - eni-00000000000000003 + - eni-00000000000000004 + - eni-00000000000000005 + - eni-00000000000000006 + - eni-00000000000000007 + - eni-00000000000000008 + - eni-00000000000000009 + - eni-00000000000000010 + - eni-00000000000000011 + - eni-00000000000000012 + - eni-00000000000000013 + - eni-00000000000000014 + - eni-00000000000000015 + - eni-00000000000000016 + - eni-00000000000000017 + - eni-00000000000000018 + - eni-00000000000000019 + - eni-00000000000000020 + - eni-00000000000000021 + - eni-00000000000000022 + - eni-00000000000000023 + - eni-00000000000000024 + - eni-00000000000000025 + - eni-00000000000000026 + - eni-00000000000000027 + - eni-00000000000000028 + - eni-00000000000000029 + - eni-00000000000000030 + - eni-00000000000000031 + - eni-00000000000000032 + - eni-00000000000000033 + - eni-00000000000000034 + - eni-00000000000000035 + - eni-00000000000000036 + - eni-00000000000000037 + - eni-00000000000000038 + - eni-00000000000000039 + - eni-00000000000000040 + - eni-00000000000000041 + - eni-00000000000000042 + - eni-00000000000000043 + - eni-00000000000000044 + - eni-00000000000000045 + - eni-00000000000000046 + - eni-00000000000000047 + - eni-00000000000000048 + - eni-00000000000000049 + - eni-00000000000000050 + account: + type: string + pattern: ^\d{12}$ + example: '000000000000' + description: >- + The AWS account ID associated with the ENIs you are using for + the Confluent Private Network Interface. + x-immutable: true + egress_routes: + type: array + description: List of egress CIDRs (IPv4) for egress PNI. + items: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: + uniqueItems: true + example: + - 10.0.0.0/16 + - 10.1.0.0/16 + - 10.2.0.0/16 + - 172.16.0.0/16 + private_service_connect_endpoint_target: + description: >- + URI of the service attachment for the published service that the + Private Service Connect Endpoint connects to or + "ALL_GOOGLE_APIS" for global Google APIs. + type: string + minLength: 1 + example: >- + projects/project-name/regions/us-central1/serviceAttachments/service-attachment-name + private_service_connect_connection_id: + description: The ID of the Private Service Connect connection. + type: string + minLength: 1 + example: '00000000000000000' + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + gateway: + description: The gateway to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.AccessPointStatus: + type: object + required: + - phase + description: The status of the Access Point + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - PENDING_ACCEPT + - READY + - FAILED + - DEPROVISIONING + - DISCONNECTED + - DEGRADED + - ERROR + description: | + The lifecycle phase of the access point: + + PROVISIONING: Access point provisioning is in progress; + + PENDING_ACCEPT: Access point connection request is pending acceptance by the customer; + + READY: Access point is ready; + + FAILED: Access point is in a failed state; + + DEPROVISIONING: Access point deprovisioning is in progress; + + DISCONNECTED: Access Point has been disconnected in the cloud provider by the customer; + + DEGRADED: Access Point is experiencing reduced performance or partial failure; + + ERROR: Invalid customer input during Access Point creation; + readOnly: true + example: READY + error_code: + type: string + description: >- + Error code if access point is in a failed state. May be used for + programmatic error checking. + readOnly: true + error_message: + type: string + description: Displayable error message if access point is in a failed state. + readOnly: true + config: + type: object + description: Cloud specific status of the access point. + discriminator: + propertyName: kind + mapping: + AwsEgressPrivateLinkEndpointStatus: >- + #/components/schemas/networking.v1.AwsEgressPrivateLinkEndpointStatus + AwsIngressPrivateLinkEndpointStatus: >- + #/components/schemas/networking.v1.AwsIngressPrivateLinkEndpointStatus + AzureEgressPrivateLinkEndpointStatus: >- + #/components/schemas/networking.v1.AzureEgressPrivateLinkEndpointStatus + AzureIngressPrivateLinkEndpointStatus: >- + #/components/schemas/networking.v1.AzureIngressPrivateLinkEndpointStatus + GcpEgressPrivateServiceConnectEndpointStatus: >- + #/components/schemas/networking.v1.GcpEgressPrivateServiceConnectEndpointStatus + GcpIngressPrivateServiceConnectEndpointStatus: >- + #/components/schemas/networking.v1.GcpIngressPrivateServiceConnectEndpointStatus + readOnly: true + title: AWS + required: + - kind + - vpc_endpoint_id + - vpc_endpoint_dns_name + - vpc_endpoint_service_name + - private_endpoint_resource_id + - private_endpoint_ip_address + - private_link_service_alias + - private_link_service_resource_id + - private_service_connect_endpoint_connection_id + - private_service_connect_endpoint_name + - private_service_connect_endpoint_ip_address + - private_service_connect_service_attachment + - private_service_connect_connection_id + properties: + kind: + description: AwsEgressPrivateLinkEndpointStatus kind. + type: string + enum: + - AwsEgressPrivateLinkEndpointStatus + vpc_endpoint_id: + description: >- + ID of a VPC Endpoint (if any) that is connected to the VPC + Endpoint service. + type: string + example: vpce-00000000000000000 + readOnly: true + vpc_endpoint_dns_name: + description: >- + DNS name of a VPC Endpoint (if any) that is connected to the VPC + Endpoint service. + type: string + example: >- + vpce-00000000000000000-00000000.vpce-svc-00000000000000000.us-west-2.vpce.amazonaws.com + readOnly: true + vpc_endpoint_service_name: + description: >- + ID of the Confluent Cloud VPC Endpoint service used for + PrivateLink. + type: string + example: com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000 + readOnly: true + dns_domain: + description: >- + DNS domain name used to configure the Private Hosted Zone for + the Access Point. + type: string + example: ap123abc.us-west-2.aws.accesspoint.confluent.cloud + readOnly: true + private_endpoint_resource_id: + description: >- + Resource ID of the Private Endpoint (if any) that is connected + to the Private Link service. + type: string + readOnly: true + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testvpc/providers/Microsoft.Network/privateEndpoints/pe-plt-abcdef-az3 + private_endpoint_domain: + description: >- + Domain of the Private Endpoint (if any) that is connected to the + Private Link service. + type: string + readOnly: true + example: dbname.database.windows.net + private_endpoint_ip_address: + description: >- + IP address of the Private Endpoint (if any) that is connected to + the Private Link service. + type: string + readOnly: true + example: 10.2.0.68 + private_endpoint_custom_dns_config_domains: + description: >- + Domains of the Private Endpoint (if any) based off FQDNs in + Azure custom DNS configs, which are required in your private DNS + setup. + type: array + items: type: string - format: uri - example: 'https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}' - description: PrivateLinkAttachmentConnection resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentConnection' - - type: object - required: - - spec - - status - properties: - spec: - type: object - required: - - cloud - - environment - - private_link_attachment - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - private_link_attachment: - example: - id: platt-00000 - related: 'https://api.confluent.cloud/networking/v1/private-link-attachments/platt-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/private-link-attachment=platt-00000' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/networking/v1/private-link-attachment-connections \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"prod-gcp-us-central1-a","cloud":{"kind":"AwsPrivateLinkAttachmentConnection","vpc_endpoint_id":"vpce-00000000000000000"},"environment":{"id":"env-00000","environment":"string"},"private_link_attachment":{"id":"platt-00000","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-gcp-us-central1-a\",\"cloud\":{\"kind\":\"AwsPrivateLinkAttachmentConnection\",\"vpc_endpoint_id\":\"vpce-00000000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"private_link_attachment\":{\"id\":\"platt-00000\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/private-link-attachment-connections") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-attachment-connections\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-gcp-us-central1-a\\\",\\\"cloud\\\":{\\\"kind\\\":\\\"AwsPrivateLinkAttachmentConnection\\\",\\\"vpc_endpoint_id\\\":\\\"vpce-00000000000000000\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"private_link_attachment\\\":{\\\"id\\\":\\\"platt-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"prod-gcp-us-central1-a\",\"cloud\":{\"kind\":\"AwsPrivateLinkAttachmentConnection\",\"vpc_endpoint_id\":\"vpce-00000000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"private_link_attachment\":{\"id\":\"platt-00000\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/networking/v1/private-link-attachment-connections", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/private-link-attachment-connections", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'prod-gcp-us-central1-a', - cloud: { - kind: 'AwsPrivateLinkAttachmentConnection', - vpc_endpoint_id: 'vpce-00000000000000000' - }, - environment: {id: 'env-00000', environment: 'string'}, - private_link_attachment: {id: 'platt-00000', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-attachment-connections"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-gcp-us-central1-a\",\"cloud\":{\"kind\":\"AwsPrivateLinkAttachmentConnection\",\"vpc_endpoint_id\":\"vpce-00000000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"private_link_attachment\":{\"id\":\"platt-00000\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-attachment-connections"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-gcp-us-central1-a\",\"cloud\":{\"kind\":\"AwsPrivateLinkAttachmentConnection\",\"vpc_endpoint_id\":\"vpce-00000000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"private_link_attachment\":{\"id\":\"platt-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/networking/v1/private-link-attachment-connections/{id}': - get: - operationId: getNetworkingV1PrivateLinkAttachmentConnection - summary: Read a Private Link Attachment Connection - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + readOnly: true + example: + - dbname.database.windows.net + - dbname-region.database.windows.net + private_link_service_alias: + description: Alias of the Confluent Cloud Private Link Service. + type: string + readOnly: true + example: >- + plattg-123abc-privatelink.00000000-0000-0000-0000-000000000000.centralus.azure.privatelinkservice + private_link_service_resource_id: + description: Resource ID of the Confluent Cloud Private Link Service. + type: string + readOnly: true + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/plattg-123abc/providers/Microsoft.Network/privateLinkServices/plattg-123abc-privatelink + private_service_connect_endpoint_connection_id: + description: >- + Connection ID of the Private Service Connect Endpoint (if any) + that is connected to the endpoint target. + type: string + readOnly: true + example: '' + private_service_connect_endpoint_name: + description: >- + Name of the Private Service Connect Endpoint (if any) that is + connected to the endpoint target. + type: string + readOnly: true + example: plap-123456 + private_service_connect_endpoint_ip_address: + description: >- + IP address of the Private Service Connect Endpoint (if any) that + is connected to the endpoint target. + type: string + readOnly: true + example: 10.2.0.68 + private_service_connect_service_attachment: + description: >- + URI of the Private Service Connect Service Attachment in + Confluent Cloud. + type: string + readOnly: true + example: >- + projects/traffic-prod/regions/us-central1/serviceAttachments/plattg-abc123-service-attachment + private_service_connect_connection_id: + description: The ID of the Private Service Connect connection. + type: string + readOnly: true + example: '00000000000000000' + readOnly: true + networking.v1.DnsRecordSpec: + type: object + description: The desired state of the Dns Record + properties: + display_name: + type: string + description: The name of the DNS record. + example: prod-dnsrec-1 + domain: + type: string + description: The fully qualified domain name of the DNS record. + example: example.com + x-immutable: true + config: + type: object + description: The config of the DNS record. + discriminator: + propertyName: kind + mapping: + PrivateLinkAccessPoint: '#/components/schemas/networking.v1.PrivateLinkAccessPoint' + required: + - kind + - resource_id + properties: + kind: + description: PrivateLinkAccessPoint kind. + type: string + enum: + - PrivateLinkAccessPoint + resource_id: + description: ID of the target resource. + type: string + minLength: 1 + example: ap-12345 + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + gateway: + description: The gateway to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.DnsRecordStatus: + type: object + required: + - phase + description: The status of the Dns Record + properties: + phase: + type: string + x-extensible-enum: + - PROVISIONING + - CREATED + - READY + - FAILED + - DEPROVISIONING + description: | + The lifecycle phase of the DNS record: - Make a request to read a private link attachment connection. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the private link attachment connection. - tags: - - Private Link Attachment Connections (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Private Link Attachment Connection. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentConnection' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - cloud - - environment - - private_link_attachment - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - private_link_attachment: - example: - id: platt-00000 - related: 'https://api.confluent.cloud/networking/v1/private-link-attachments/platt-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/private-link-attachment=platt-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/private-link-attachment-connections/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/private-link-attachment-connections/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateNetworkingV1PrivateLinkAttachmentConnection - summary: Update a Private Link Attachment Connection - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + PROVISIONING: DNS record provisioning is in progress; - Make a request to update a private link attachment connection. + CREATED: DNS record is created. It will automatically become ready once a Kafka cluster is provisioned; - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the private link attachment connection. - tags: - - Private Link Attachment Connections (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentConnectionUpdate' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - environment - properties: - environment: - example: - id: env-00000 - responses: - '200': - description: Private Link Attachment Connection. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.PrivateLinkAttachmentConnection' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - cloud - - environment - - private_link_attachment - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - private_link_attachment: - example: - id: platt-00000 - related: 'https://api.confluent.cloud/networking/v1/private-link-attachments/platt-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/private-link-attachment=platt-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"prod-gcp-us-central1-a","cloud":{"kind":"AwsPrivateLinkAttachmentConnection","vpc_endpoint_id":"vpce-00000000000000000"},"environment":{"id":"env-00000","environment":"string"},"private_link_attachment":{"id":"string","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-gcp-us-central1-a\",\"cloud\":{\"kind\":\"AwsPrivateLinkAttachmentConnection\",\"vpc_endpoint_id\":\"vpce-00000000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"private_link_attachment\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-gcp-us-central1-a\\\",\\\"cloud\\\":{\\\"kind\\\":\\\"AwsPrivateLinkAttachmentConnection\\\",\\\"vpc_endpoint_id\\\":\\\"vpce-00000000000000000\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"private_link_attachment\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"prod-gcp-us-central1-a\",\"cloud\":{\"kind\":\"AwsPrivateLinkAttachmentConnection\",\"vpc_endpoint_id\":\"vpce-00000000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"private_link_attachment\":{\"id\":\"string\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/networking/v1/private-link-attachment-connections/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/private-link-attachment-connections/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'prod-gcp-us-central1-a', - cloud: { - kind: 'AwsPrivateLinkAttachmentConnection', - vpc_endpoint_id: 'vpce-00000000000000000' - }, - environment: {id: 'env-00000', environment: 'string'}, - private_link_attachment: {id: 'string', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-gcp-us-central1-a\",\"cloud\":{\"kind\":\"AwsPrivateLinkAttachmentConnection\",\"vpc_endpoint_id\":\"vpce-00000000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"private_link_attachment\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-gcp-us-central1-a\",\"cloud\":{\"kind\":\"AwsPrivateLinkAttachmentConnection\",\"vpc_endpoint_id\":\"vpce-00000000000000000\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"private_link_attachment\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteNetworkingV1PrivateLinkAttachmentConnection - summary: Delete a Private Link Attachment Connection - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + READY: DNS record is ready; - Make a request to delete a private link attachment connection. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the private link attachment connection. - tags: - - Private Link Attachment Connections (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A Private Link Attachment Connection is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}?environment=env-00000") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/networking/v1/private-link-attachment-connections/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/private-link-attachment-connections/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/private-link-attachment-connections/{id}?environment=env-00000"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /networking/v1/dns-forwarders: - get: - operationId: listNetworkingV1DnsForwarders - summary: List of DNS Forwarders - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + FAILED: DNS record is in a failed state; - Retrieve a sorted, filtered, paginated list of all DNS forwarders. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Filter the results by exact match for environment. - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - DNS Forwarders (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: DNS Forwarder. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.DnsForwarderList' - - type: object - properties: - data: - type: array - items: - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - gateway: - example: - id: gw-00000 - related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-00000' - headers: - X-Request-Id: - schema: + DEPROVISIONING: DNS record deprovisioning is in progress; + readOnly: true + example: READY + error_code: + type: string + description: >- + Error code if the DNS record is in a failed state. May be used for + programmatic error checking. + readOnly: true + error_message: + type: string + description: Displayable error message if the DNS record is in a failed state. + readOnly: true + readOnly: true + networking.v1.GatewaySpec: + type: object + description: The desired state of the Gateway + properties: + display_name: + type: string + description: The name of the gateway. + example: prod-gateway + config: + type: object + description: >- + Gateway type specific configuration. Please note that Peering + configs are not supported in Create requests. + discriminator: + propertyName: kind + mapping: + AwsPrivateNetworkInterfaceGatewaySpec: >- + #/components/schemas/networking.v1.AwsPrivateNetworkInterfaceGatewaySpec + AwsPeeringGatewaySpec: '#/components/schemas/networking.v1.AwsPeeringGatewaySpec' + AwsEgressPrivateLinkGatewaySpec: >- + #/components/schemas/networking.v1.AwsEgressPrivateLinkGatewaySpec + AwsIngressPrivateLinkGatewaySpec: >- + #/components/schemas/networking.v1.AwsIngressPrivateLinkGatewaySpec + AzurePeeringGatewaySpec: '#/components/schemas/networking.v1.AzurePeeringGatewaySpec' + AzureEgressPrivateLinkGatewaySpec: >- + #/components/schemas/networking.v1.AzureEgressPrivateLinkGatewaySpec + AzureIngressPrivateLinkGatewaySpec: >- + #/components/schemas/networking.v1.AzureIngressPrivateLinkGatewaySpec + GcpPeeringGatewaySpec: '#/components/schemas/networking.v1.GcpPeeringGatewaySpec' + GcpEgressPrivateServiceConnectGatewaySpec: >- + #/components/schemas/networking.v1.GcpEgressPrivateServiceConnectGatewaySpec + GcpIngressPrivateServiceConnectGatewaySpec: >- + #/components/schemas/networking.v1.GcpIngressPrivateServiceConnectGatewaySpec + x-immutable: true + required: + - kind + - region + - zones + properties: + kind: + description: AWS Egress Private Link Gateway Spec kind type. + type: string + enum: + - AwsEgressPrivateLinkGatewaySpec + region: + type: string + description: AWS region of the Egress Private Link Gateway. + zones: + type: array + items: type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/dns-forwarders?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/dns-forwarders?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/dns-forwarders?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/dns-forwarders?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/dns-forwarders?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/dns-forwarders?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/dns-forwarders?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createNetworkingV1DnsForwarder - summary: Create a DNS Forwarder - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + description: >- + AWS availability zone ids of the Private Network Interface + Gateway. + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + networking.v1.GatewayStatus: + type: object + required: + - phase + description: The status of the Gateway + properties: + phase: + type: string + x-extensible-enum: + - CREATED + - PROVISIONING + - READY + - FAILED + - DEPROVISIONING + - EXPIRED + description: | + The lifecycle phase of the gateway: - Make a request to create a DNS forwarder. - tags: - - DNS Forwarders (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.DnsForwarder' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - domains - - config - - environment - - gateway - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - gateway: - example: - id: gw-00000 - responses: - '202': - description: A DNS Forwarder is being created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/networking/v1/dns-forwarders/{id}' - description: DnsForwarder resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.DnsForwarder' - - type: object - required: - - spec - - status - properties: - spec: - type: object - required: - - domains - - config - - environment - - gateway - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - gateway: - example: - id: gw-00000 - related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-00000' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/networking/v1/dns-forwarders \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"prod-dnsf-1","domains":["example.com","domainname.com"],"config":{"kind":"ForwardViaIp","dns_server_ips":["10.200.0.0","10.200.0.1"]},"environment":{"id":"env-00000","environment":"string"},"gateway":{"id":"gw-00000","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-dnsf-1\",\"domains\":[\"example.com\",\"domainname.com\"],\"config\":{\"kind\":\"ForwardViaIp\",\"dns_server_ips\":[\"10.200.0.0\",\"10.200.0.1\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/dns-forwarders") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/dns-forwarders\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-dnsf-1\\\",\\\"domains\\\":[\\\"example.com\\\",\\\"domainname.com\\\"],\\\"config\\\":{\\\"kind\\\":\\\"ForwardViaIp\\\",\\\"dns_server_ips\\\":[\\\"10.200.0.0\\\",\\\"10.200.0.1\\\"]},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"gateway\\\":{\\\"id\\\":\\\"gw-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"prod-dnsf-1\",\"domains\":[\"example.com\",\"domainname.com\"],\"config\":{\"kind\":\"ForwardViaIp\",\"dns_server_ips\":[\"10.200.0.0\",\"10.200.0.1\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/networking/v1/dns-forwarders", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/dns-forwarders", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'prod-dnsf-1', - domains: ['example.com', 'domainname.com'], - config: {kind: 'ForwardViaIp', dns_server_ips: ['10.200.0.0', '10.200.0.1']}, - environment: {id: 'env-00000', environment: 'string'}, - gateway: {id: 'gw-00000', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/dns-forwarders"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-dnsf-1\",\"domains\":[\"example.com\",\"domainname.com\"],\"config\":{\"kind\":\"ForwardViaIp\",\"dns_server_ips\":[\"10.200.0.0\",\"10.200.0.1\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/dns-forwarders"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-dnsf-1\",\"domains\":[\"example.com\",\"domainname.com\"],\"config\":{\"kind\":\"ForwardViaIp\",\"dns_server_ips\":[\"10.200.0.0\",\"10.200.0.1\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/networking/v1/dns-forwarders/{id}': - get: - operationId: getNetworkingV1DnsForwarder - summary: Read a DNS Forwarder - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + CREATED: gateway exists without an Access Point. - Make a request to read a DNS forwarder. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the DNS forwarder. - tags: - - DNS Forwarders (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: DNS Forwarder. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.DnsForwarder' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - domains - - config - - environment - - gateway - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - gateway: - example: - id: gw-00000 - related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/dns-forwarders/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/dns-forwarders/{id}?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/dns-forwarders/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/dns-forwarders/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/dns-forwarders/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/dns-forwarders/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/dns-forwarders/{id}?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateNetworkingV1DnsForwarder - summary: Update a DNS Forwarder - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + PROVISIONING: gateway provisioning is in progress; - Make a request to update a DNS forwarder. + READY: gateway is ready; - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the DNS forwarder. - tags: - - DNS Forwarders (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.DnsForwarderUpdate' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - environment - properties: - environment: - example: - id: env-00000 - responses: - '200': - description: DNS Forwarder. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.DnsForwarder' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - domains - - config - - environment - - gateway - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - gateway: - example: - id: gw-00000 - related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/networking/v1/dns-forwarders/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"prod-dnsf-1","domains":["example.com","domainname.com"],"config":{"kind":"ForwardViaIp","dns_server_ips":["10.200.0.0","10.200.0.1"]},"environment":{"id":"env-00000","environment":"string"},"gateway":{"id":"string","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-dnsf-1\",\"domains\":[\"example.com\",\"domainname.com\"],\"config\":{\"kind\":\"ForwardViaIp\",\"dns_server_ips\":[\"10.200.0.0\",\"10.200.0.1\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/dns-forwarders/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/dns-forwarders/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-dnsf-1\\\",\\\"domains\\\":[\\\"example.com\\\",\\\"domainname.com\\\"],\\\"config\\\":{\\\"kind\\\":\\\"ForwardViaIp\\\",\\\"dns_server_ips\\\":[\\\"10.200.0.0\\\",\\\"10.200.0.1\\\"]},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"gateway\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"prod-dnsf-1\",\"domains\":[\"example.com\",\"domainname.com\"],\"config\":{\"kind\":\"ForwardViaIp\",\"dns_server_ips\":[\"10.200.0.0\",\"10.200.0.1\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/networking/v1/dns-forwarders/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/dns-forwarders/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'prod-dnsf-1', - domains: ['example.com', 'domainname.com'], - config: {kind: 'ForwardViaIp', dns_server_ips: ['10.200.0.0', '10.200.0.1']}, - environment: {id: 'env-00000', environment: 'string'}, - gateway: {id: 'string', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/dns-forwarders/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-dnsf-1\",\"domains\":[\"example.com\",\"domainname.com\"],\"config\":{\"kind\":\"ForwardViaIp\",\"dns_server_ips\":[\"10.200.0.0\",\"10.200.0.1\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/dns-forwarders/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-dnsf-1\",\"domains\":[\"example.com\",\"domainname.com\"],\"config\":{\"kind\":\"ForwardViaIp\",\"dns_server_ips\":[\"10.200.0.0\",\"10.200.0.1\"]},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteNetworkingV1DnsForwarder - summary: Delete a DNS Forwarder - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + FAILED: gateway is in a failed state; + + DEPROVISIONING: gateway deprovisioning is in progress; + + EXPIRED: gateway has timed out waiting for connections, can only be deleted; + readOnly: true + example: READY + error_code: + type: string + description: >- + Error code if gateway is in a failed state. May be used for + programmatic error checking. + readOnly: true + error_message: + type: string + description: Displayable error message if gateway is in a failed state + readOnly: true + cloud_gateway: + type: object + description: Gateway type specific status. + readOnly: true + discriminator: + propertyName: kind + mapping: + AwsPrivateNetworkInterfaceGatewayStatus: >- + #/components/schemas/networking.v1.AwsPrivateNetworkInterfaceGatewayStatus + AwsEgressPrivateLinkGatewayStatus: >- + #/components/schemas/networking.v1.AwsEgressPrivateLinkGatewayStatus + AwsIngressPrivateLinkGatewayStatus: >- + #/components/schemas/networking.v1.AwsIngressPrivateLinkGatewayStatus + AzureEgressPrivateLinkGatewayStatus: >- + #/components/schemas/networking.v1.AzureEgressPrivateLinkGatewayStatus + AzureIngressPrivateLinkGatewayStatus: >- + #/components/schemas/networking.v1.AzureIngressPrivateLinkGatewayStatus + GcpPeeringGatewayStatus: '#/components/schemas/networking.v1.GcpPeeringGatewayStatus' + GcpEgressPrivateServiceConnectGatewayStatus: >- + #/components/schemas/networking.v1.GcpEgressPrivateServiceConnectGatewayStatus + GcpIngressPrivateServiceConnectGatewayStatus: >- + #/components/schemas/networking.v1.GcpIngressPrivateServiceConnectGatewayStatus + required: + - kind + properties: + kind: + description: AWS Egress Private Link Gateway Status kind type. + type: string + enum: + - AwsEgressPrivateLinkGatewayStatus + principal_arn: + description: The principal ARN used by the AWS Egress Private Link Gateway. + type: string + example: arn:aws:iam::123456789012:cc-tenant-1-role + readOnly: true + vpc_endpoint_service_name: + description: >- + The ID of the AWS VPC Endpoint Service that can be used to + establish connections for all zones. + type: string + example: com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000 + readOnly: true + account: + description: >- + The AWS account ID associated with the Private Network Interface + Gateway. + type: string + example: '000000000000' + readOnly: true + subscription: + type: string + description: >- + The Azure Subscription ID associated with the Confluent Cloud + VPC. + example: 00000000-0000-0000-0000-000000000000 + readOnly: true + private_link_service_alias: + description: Alias of the Confluent Cloud Private Link Service. + type: string + readOnly: true + example: >- + plattg-123abc-privatelink.00000000-0000-0000-0000-000000000000.centralus.azure.privatelinkservice + private_link_service_resource_id: + description: Resource ID of the Confluent Cloud Private Link Service. + type: string + readOnly: true + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/plattg-123abc/providers/Microsoft.Network/privateLinkServices/plattg-123abc-privatelink + iam_principal: + description: The IAM principal email used by the GCP Peering Gateway. + type: string + example: my-service-account@my-project.iam.gserviceaccount.com + readOnly: true + project: + type: string + description: The GCP project used by the GCP Private Service Connect Gateway. + example: proj-tenant-1 + readOnly: true + private_service_connect_service_attachment: + description: >- + URI of the Private Service Connect Service Attachment in + Confluent Cloud. + type: string + readOnly: true + example: >- + projects/traffic-prod/regions/us-central1/serviceAttachments/plattg-abc123-service-attachment + readOnly: true + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. + type: string + code: + description: An application-specific error code, expressed as a string value. + type: string + title: + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. + type: string + detail: + description: >- + A human-readable explanation specific to this occurrence of the + problem. + type: string + source: + type: object + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. + properties: + pointer: + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + networking.v1.ConnectionType: + type: string + description: Network connection type. + x-extensible-enum: + - PEERING + - TRANSITGATEWAY + - PRIVATELINK + example: PRIVATELINK + networking.v1.ZoneInfo: + type: object + description: Cloud provider zone metadata. + properties: + zone_id: + description: Cloud provider zone id + type: string + example: use1-az3 + cidr: + description: > + The IPv4 [CIDR + block](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + to used for this network. - Make a request to delete a DNS forwarder. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the DNS forwarder. - tags: - - DNS Forwarders (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A DNS Forwarder is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/networking/v1/dns-forwarders/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/dns-forwarders/{id}?environment=env-00000") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/dns-forwarders/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/networking/v1/dns-forwarders/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/dns-forwarders/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/dns-forwarders/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/dns-forwarders/{id}?environment=env-00000"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /networking/v1/access-points: - get: - operationId: listNetworkingV1AccessPoints - summary: List of Access Points - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Must be a `/27`. Required for VPC peering and AWS TransitGateway. + type: string + example: 10.20.0.0/27 + networking.v1.DnsConfig: + type: object + description: The network DNS config + required: + - resolution + properties: + resolution: + type: string + description: Network DNS resolution type. + x-extensible-enum: + - CHASED_PRIVATE + - PRIVATE + ObjectReference: + type: object + description: >- + ObjectReference provides information for you to locate the referred + object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + TypedEnvScopedObjectReference: + type: object + description: >- + ObjectReference provides information for you to locate the referred + object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + networking.v1.AwsNetwork: + type: object + description: The AWS network details. + required: + - kind + - vpc + - account + properties: + kind: + description: Network kind type. + type: string + enum: + - AwsNetwork + vpc: + type: string + description: The Confluent Cloud VPC ID. + example: vpc-00000000000000000 + readOnly: true + account: + type: string + description: The AWS account ID associated with the Confluent Cloud VPC. + example: '000000000000' + readOnly: true + private_link_endpoint_service: + type: string + description: >- + The endpoint service of the Confluent Cloud VPC. (used for + PrivateLink) if available. + example: com.amazonaws.vpce.eu-west-3.vpce-00000000000000000 + readOnly: true + networking.v1.GcpNetwork: + type: object + description: The GCP network details. + required: + - kind + - project + - vpc_network + properties: + kind: + description: Network kind type. + type: string + enum: + - GcpNetwork + project: + type: string + description: The GCP Project ID associated with the Confluent Cloud VPC. + example: cc-prod-3 + readOnly: true + vpc_network: + type: string + description: The network name of the Confluent Cloud VPC. + example: prod-network + readOnly: true + private_service_connect_service_attachments: + type: object + description: > + The mapping of zones to Private Service Connect Service - Retrieve a sorted, filtered, paginated list of all access points. - parameters: - - name: spec.display_name - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' + Attachments if available. Keys are zones and values are + + [GCP Private Service Connect Service + + Attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7) + additionalProperties: + type: string example: - - prod-ap-egress-use1 - - prod-ap-egress-usw2 - description: Filter the results by exact match for spec.display_name. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Filter the results by exact match for environment. - - name: spec.gateway - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' + us-central1-a: >- + projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-a + us-central1-b: >- + projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-b + us-central1-c: >- + projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-c + readOnly: true + networking.v1.AzureNetwork: + type: object + description: The Azure network details. + required: + - kind + - vnet + - subscription + properties: + kind: + description: Network kind type. + type: string + enum: + - AzureNetwork + vnet: + type: string + description: The resource ID of the Confluent Cloud VNet. + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/prod-group/providers/Microsoft.Network/virtualNetworks/prod-network + readOnly: true + subscription: + type: string + description: The Azure Subscription ID associated with the Confluent Cloud VPC. + example: 00000000-0000-0000-0000-000000000000 + readOnly: true + private_link_service_aliases: + type: object + description: > + The mapping of zones to Private Link Service Aliases if available. + Keys are zones + + and values are [Azure Private Link Service + + Aliases](https://docs.microsoft.com/en-us/azure/private-link/private-link-service-overview#share-your-service). + additionalProperties: + type: string example: - - gw-00000 - - gw-00001 - description: Filter the results by exact match for spec.gateway. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: + '1': >- + 0-00000-privatelink-1.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice + '2': >- + 0-00000-privatelink-2.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice + '3': >- + 0-00000-privatelink-3.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice + readOnly: true + private_link_service_resource_ids: + type: object + description: > + The mapping of zones to Private Link Service Resource IDs if + available. Keys are zones + + and values are [Azure Private Link Service Resource + + IDs](https://docs.microsoft.com/en-us/azure/private-link/private-link-service-overview#share-your-service). + additionalProperties: type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Access Points (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Access Point. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.AccessPointList' - - type: object - properties: - data: - type: array - items: - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - gateway: - example: - id: gw-00000 - related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/access-points?spec.display_name=prod-ap-egress-use1,prod-ap-egress-usw2&environment=env-00000&spec.gateway=gw-00000,gw-00001' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/access-points?spec.display_name=prod-ap-egress-use1,prod-ap-egress-usw2&environment=env-00000&spec.gateway=gw-00000,gw-00001") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/access-points?spec.display_name=prod-ap-egress-use1,prod-ap-egress-usw2&environment=env-00000&spec.gateway=gw-00000,gw-00001\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/access-points?spec.display_name=prod-ap-egress-use1,prod-ap-egress-usw2&environment=env-00000&spec.gateway=gw-00000,gw-00001", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/access-points?spec.display_name=prod-ap-egress-use1,prod-ap-egress-usw2&environment=env-00000&spec.gateway=gw-00000,gw-00001", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/access-points?spec.display_name=prod-ap-egress-use1,prod-ap-egress-usw2&environment=env-00000&spec.gateway=gw-00000,gw-00001"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/access-points?spec.display_name=prod-ap-egress-use1,prod-ap-egress-usw2&environment=env-00000&spec.gateway=gw-00000,gw-00001"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createNetworkingV1AccessPoint - summary: Create an Access Point - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + example: + '1': >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/0-00000/providers/Microsoft.Network/privateLinkServices/0-00000-privatelink-1 + '2': >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/0-00000/providers/Microsoft.Network/privateLinkServices/0-00000-privatelink-2 + '3': >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/0-00000/providers/Microsoft.Network/privateLinkServices/0-00000-privatelink-3 + readOnly: true + networking.v1.AwsPeering: + type: object + title: AWS + description: AWS VPC Peering. + required: + - kind + - account + - vpc + - routes + - customer_region + properties: + kind: + description: Peering kind type. + type: string + enum: + - AwsPeering + account: + type: string + pattern: ^\d{12}$ + example: '000000000000' + description: >- + The AWS account ID associated with the VPC you are peering with + Confluent Cloud network. + vpc: + type: string + minLength: 1 + description: The VPC ID you are peering with Confluent Cloud network. + example: vpc-00000000000000000 + routes: + type: array + items: + $ref: '#/components/schemas/networking.v1.Cidr' + description: > + The [CIDR + blocks](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) + of the VPC you are peering + + with Confluent Cloud network. This is used by Confluent Cloud + network to route traffic back to your network. + + The CIDR block must be a private range and cannot overlap with the + Confluent Cloud CIDR block. + example: + - 10.108.16.0/21 + customer_region: + type: string + description: The region of the VPC you are peering with Confluent Cloud network. + example: us-east-1 + networking.v1.GcpPeering: + type: object + title: GCP + description: GCP VPC Peering. + required: + - kind + - project + - vpc_network + properties: + kind: + description: Peering kind type. + type: string + enum: + - GcpPeering + example: GcpPeering + project: + type: string + minLength: 1 + description: > + The Google Cloud project ID associated with the VPC that you are + peering with Confluent Cloud network. + example: my-gcp-project + vpc_network: + type: string + minLength: 1 + description: >- + The name of the VPC that you are peering with Confluent Cloud + network. + example: my-gcp-network + import_custom_routes: + type: boolean + description: > + Enable customer route import. For more information, see + + [Importing custom + routes](https://cloud.google.com/vpc/docs/vpc-peering#importing-exporting-routes). + example: true + default: false + networking.v1.AzurePeering: + type: object + title: AZURE + description: Azure VNet Peering. + required: + - kind + - tenant + - vnet + - customer_region + properties: + kind: + description: Peering kind type. + type: string + enum: + - AzurePeering + tenant: + type: string + minLength: 1 + description: > + The Azure Tenant ID in which your Azure Subscription exists. + + Represents an organization in Azure Active Directory. You can find + your Azure Tenant ID in the Azure Portal + + under + + [Azure Active + Directory](https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview). + + Must be a valid **32 character UUID string**. + vnet: + type: string + minLength: 1 + description: >- + The resource ID of the VNet that you are peering with Confluent + Cloud. You can find the name of your Azure VNet in the [Azure Portal + on the Overview tab of your Azure Virtual + Network](https://portal.azure.com/#blade/HubsExtension/BrowseResource/resourceType/Microsoft.Network%2FvirtualNetworks). + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-rg/providers/Microsoft.Network/virtualNetworks/my-vnet + customer_region: + type: string + description: The region of the VNet you are peering with Confluent Cloud network. + example: eastus2 + networking.v1.AwsTransitGatewayAttachment: + type: object + title: AWS + description: AWS Transit Gateway Attachment. + required: + - kind + - ram_share_arn + - transit_gateway_id + - routes + properties: + kind: + description: AWS Transit Gateway Attachment kind type. + type: string + enum: + - AwsTransitGatewayAttachment + ram_share_arn: + description: >- + The full AWS Resource Name (ARN) for the AWS Resource Access Manager + (RAM) Share of the Transit Gateways that you want Confluent Cloud to + be attached to. + type: string + example: >- + arn:aws:ram:us-west-3:000000000000:resource-share/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx + transit_gateway_id: + description: >- + The ID of the AWS Transit Gateway that you want Confluent CLoud to + be attached to. + type: string + example: tgw-xxxxxxxxxxxxxxxxx + routes: + type: array + items: + $ref: '#/components/schemas/networking.v1.Cidr' + description: List of destination routes. + example: + - 100.64.0.0/10 + - 10.0.0.0/8 + - 192.168.0.0/16 + - 172.16.0.0/12 + networking.v1.AwsTransitGatewayAttachmentStatus: + type: object + title: AWS + description: AWS Transit Gateway Attachment details generated by AWS. + required: + - transit_gateway_attachment_id + properties: + kind: + description: AWS Transit Gateway Attachment Status kind type. + type: string + enum: + - AwsTransitGatewayAttachmentStatus + transit_gateway_attachment_id: + description: >- + The ID of the AWS Transit Gateway VPC Attachment that attaches + Confluent VPC to Transit Gateway. + type: string + example: tgw-attach-xxxxx + readOnly: true + networking.v1.AwsPrivateLinkAccess: + type: object + title: AWS + description: AWS PrivateLink access configuration. + required: + - kind + - account + properties: + kind: + description: PrivateLink kind type. + type: string + enum: + - AwsPrivateLinkAccess + account: + type: string + pattern: ^\d{12}$ + example: '000000000000' + description: > + The AWS account ID for the account containing the VPCs you want to + connect from using AWS PrivateLink. - Make a request to create an access point. - tags: - - Access Points (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.AccessPoint' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - config - - environment - - gateway - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - gateway: - example: - id: gw-00000 - responses: - '202': - description: An Access Point is being created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/networking/v1/access-points/{id}' - description: AccessPoint resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.AccessPoint' - - type: object - required: - - spec - - status - properties: - spec: - type: object - required: - - config - - environment - - gateway - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - gateway: - example: - id: gw-00000 - related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-00000' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/networking/v1/access-points \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"prod-ap-egress-usw2","config":{"kind":"AwsEgressPrivateLinkEndpoint","vpc_endpoint_service_name":"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000","enable_high_availability":false},"environment":{"id":"env-00000","environment":"string"},"gateway":{"id":"gw-00000","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-ap-egress-usw2\",\"config\":{\"kind\":\"AwsEgressPrivateLinkEndpoint\",\"vpc_endpoint_service_name\":\"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000\",\"enable_high_availability\":false},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/access-points") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/access-points\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-ap-egress-usw2\\\",\\\"config\\\":{\\\"kind\\\":\\\"AwsEgressPrivateLinkEndpoint\\\",\\\"vpc_endpoint_service_name\\\":\\\"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000\\\",\\\"enable_high_availability\\\":false},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"gateway\\\":{\\\"id\\\":\\\"gw-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"prod-ap-egress-usw2\",\"config\":{\"kind\":\"AwsEgressPrivateLinkEndpoint\",\"vpc_endpoint_service_name\":\"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000\",\"enable_high_availability\":false},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/networking/v1/access-points", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/access-points", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'prod-ap-egress-usw2', - config: { - kind: 'AwsEgressPrivateLinkEndpoint', - vpc_endpoint_service_name: 'com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000', - enable_high_availability: false - }, - environment: {id: 'env-00000', environment: 'string'}, - gateway: {id: 'gw-00000', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/access-points"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-ap-egress-usw2\",\"config\":{\"kind\":\"AwsEgressPrivateLinkEndpoint\",\"vpc_endpoint_service_name\":\"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000\",\"enable_high_availability\":false},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/access-points"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-ap-egress-usw2\",\"config\":{\"kind\":\"AwsEgressPrivateLinkEndpoint\",\"vpc_endpoint_service_name\":\"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000\",\"enable_high_availability\":false},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/networking/v1/access-points/{id}': - get: - operationId: getNetworkingV1AccessPoint - summary: Read an Access Point - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + You can find your AWS account ID + [here](https://console.aws.amazon.com/billing/home?#/account) - Make a request to read an access point. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the access point. - tags: - - Access Points (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Access Point. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.AccessPoint' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - config - - environment - - gateway - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - gateway: - example: - id: gw-00000 - related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/access-points/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/access-points/{id}?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/access-points/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/access-points/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/access-points/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/access-points/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/access-points/{id}?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateNetworkingV1AccessPoint - summary: Update an Access Point - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + under **My Account** in your AWS Management Console. Must be a **12 + character string**. + networking.v1.AzurePrivateLinkAccess: + type: object + title: AZURE + description: Azure PrivateLink access configuration. + required: + - kind + - subscription + properties: + kind: + description: PrivateLink kind type. + type: string + enum: + - AzurePrivateLinkAccess + subscription: + type: string + minLength: 1 + description: > + The Azure subscription ID for the account containing the VNets you + want to connect from using - Make a request to update an access point. + Azure Private Link. You can find your Azure subscription ID in the + subscription section of your - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the access point. - tags: - - Access Points (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.AccessPointUpdate' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - environment - properties: - environment: - example: - id: env-00000 - responses: - '200': - description: Access Point. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.AccessPoint' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - config - - environment - - gateway - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - gateway: - example: - id: gw-00000 - related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/networking/v1/access-points/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"prod-ap-egress-usw2","config":{"kind":"AwsEgressPrivateLinkEndpoint","vpc_endpoint_service_name":"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000","enable_high_availability":false},"environment":{"id":"env-00000","environment":"string"},"gateway":{"id":"string","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-ap-egress-usw2\",\"config\":{\"kind\":\"AwsEgressPrivateLinkEndpoint\",\"vpc_endpoint_service_name\":\"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000\",\"enable_high_availability\":false},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/access-points/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/access-points/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-ap-egress-usw2\\\",\\\"config\\\":{\\\"kind\\\":\\\"AwsEgressPrivateLinkEndpoint\\\",\\\"vpc_endpoint_service_name\\\":\\\"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000\\\",\\\"enable_high_availability\\\":false},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"gateway\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"prod-ap-egress-usw2\",\"config\":{\"kind\":\"AwsEgressPrivateLinkEndpoint\",\"vpc_endpoint_service_name\":\"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000\",\"enable_high_availability\":false},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/networking/v1/access-points/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/access-points/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'prod-ap-egress-usw2', - config: { - kind: 'AwsEgressPrivateLinkEndpoint', - vpc_endpoint_service_name: 'com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000', - enable_high_availability: false - }, - environment: {id: 'env-00000', environment: 'string'}, - gateway: {id: 'string', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/access-points/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-ap-egress-usw2\",\"config\":{\"kind\":\"AwsEgressPrivateLinkEndpoint\",\"vpc_endpoint_service_name\":\"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000\",\"enable_high_availability\":false},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/access-points/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-ap-egress-usw2\",\"config\":{\"kind\":\"AwsEgressPrivateLinkEndpoint\",\"vpc_endpoint_service_name\":\"com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000\",\"enable_high_availability\":false},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteNetworkingV1AccessPoint - summary: Delete an Access Point - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [Microsoft Azure + Portal](https://portal.azure.com/#blade/Microsoft_Azure_Billing/SubscriptionsBlade). + + Must be a valid **32 character UUID string**. + networking.v1.GcpPrivateServiceConnectAccess: + type: object + title: GCP + description: GCP Private Service Connect access configuration. + required: + - kind + - project + properties: + kind: + description: PrivateLink kind type. + type: string + enum: + - GcpPrivateServiceConnectAccess + project: + type: string + minLength: 1 + description: > + The GCP project ID for the account containing the VPCs that you want + to connect from - Make a request to delete an access point. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the access point. - tags: - - Access Points (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: An Access Point is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/networking/v1/access-points/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/access-points/{id}?environment=env-00000") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/access-points/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/networking/v1/access-points/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/access-points/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/access-points/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/access-points/{id}?environment=env-00000"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /networking/v1/dns-records: - get: - operationId: listNetworkingV1DnsRecords - summary: List of DNS Records - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + using Private Service Connect. You can find your Google Cloud + Project ID under **Project ID** section of - Retrieve a sorted, filtered, paginated list of all DNS records. - parameters: - - name: spec.display_name - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - prod-dnsrec-1 - - prod-dnsrec-2 - description: Filter the results by exact match for spec.display_name. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: spec.domain - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' + your [Google Cloud Console + dashboard](https://console.cloud.google.com/home/dashboard). + networking.v1.NetworkLinkServiceAcceptPolicy: + type: object + title: Network Link Service + description: > + List of environments/networks from which connections can be accepted on + this network link service. + properties: + environments: + description: | + List of environments from which connections can be accepted. + All networks win the list of environment will be allowed. + type: array + items: + type: string + uniqueItems: true + networks: + description: | + List of networks from which connections can be accepted. + type: array + items: + type: string + uniqueItems: true + GlobalObjectReference: + type: object + description: >- + ObjectReference provides information for you to locate the referred + object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + EnvScopedObjectReference: + type: object + description: >- + ObjectReference provides information for you to locate the referred + object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + networking.v1.AwsPrivateLinkAttachmentStatus: + description: | + AWS PrivateLink attachment represents reserved capacity in an + AWS VPC Endpoint Service that can be used to establish PrivateLink + connections. + type: object + required: + - kind + - vpc_endpoint_service + properties: + kind: + type: string + description: PrivateLinkAttachmentStatus kind. + enum: + - AwsPrivateLinkAttachmentStatus + readOnly: true + vpc_endpoint_service: + description: > + AWS VPC Endpoint Service that can be used to establish connections + for all zones. + type: object + readOnly: true + required: + - vpc_endpoint_service_name + properties: + vpc_endpoint_service_name: + type: string + description: Id of the VPC Endpoint service. + readOnly: true + networking.v1.AzurePrivateLinkAttachmentStatus: + type: object + description: | + Azure PrivateLink attachment represents reserved capacity in a + PrivateLink service that can be used to establish PrivateLink + required: + - kind + - private_link_service + properties: + kind: + type: string + description: PrivateLinkAttachmentStatus kind. + enum: + - AzurePrivateLinkAttachmentStatus + readOnly: true + private_link_service: + description: > + Azure PrivateLink service that can be used to connect to a + PrivateEndpoint. + type: object + readOnly: true + required: + - private_link_service_alias + - private_link_service_resource_id + properties: + private_link_service_alias: + description: Azure PrivateLink service alias. + type: string + minLength: 1 + readOnly: true + example: >- + pls-plt-abcdef-az3.38748da8-3322-42f7-b97a-6448c21af653.centralus.azure.privatelinkservice + private_link_service_resource_id: + description: Azure PrivateLink service resource id. + type: string + minLength: 1 + readOnly: true + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/s-abcde/providers/Microsoft.Network/privateLinkServices/pls-plt-abcdef + networking.v1.GcpPrivateLinkAttachmentStatus: + type: object + description: | + GCP PrivateLink attachment represents reserved capacity in a + GCP PSC Service attachment. A PSC Endpoint can be connected to + the Service attachment. + required: + - kind + - service_attachment + properties: + kind: + type: string + description: PrivateLinkAttachmentStatus kind. + enum: + - GcpPrivateLinkAttachmentStatus + readOnly: true + service_attachment: + description: | + GCP PSC Service attachment that can be used to connect + to a PSC Endpoint. + type: object + readOnly: true + required: + - private_service_connect_service_attachment + properties: + private_service_connect_service_attachment: + description: >- + Id of a Private Service Connect Service Attachment in Confluent + Cloud. + type: string + minLength: 1 + readOnly: true + example: >- + projects/example-project/regions/us-central1/serviceAttachments/plt-abcdef-service-attachment-us-central1 + networking.v1.AwsPrivateLinkAttachmentConnection: + description: >- + Represents a connection between an AWS VPC Endpoint and an Endpoint + service. + type: object + required: + - kind + - vpc_endpoint_id + properties: + kind: + type: string + description: PrivateLinkAttachmentConnection kind. + enum: + - AwsPrivateLinkAttachmentConnection + vpc_endpoint_id: + description: Id of a VPC Endpoint that is connected to the VPC Endpoint service. + type: string + minLength: 1 + example: vpce-00000000000000000 + networking.v1.AzurePrivateLinkAttachmentConnection: + description: >- + Represents a connection between an Azure PrivateLink service and a + PrivateEndpoint. + type: object + required: + - kind + - private_endpoint_resource_id + properties: + kind: + type: string + description: PrivateLinkAttachmentConnection kind. + enum: + - AzurePrivateLinkAttachmentConnection + private_endpoint_resource_id: + description: > + Resource Id of the PrivateEndpoint that is connected to the + PrivateLink service. + type: string + minLength: 1 + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testvpc/providers/Microsoft.Network/privateEndpoints/pe-plt-abcdef-az3 + networking.v1.GcpPrivateLinkAttachmentConnection: + type: object + description: >- + Represents a connection between a GCP PSC Service Attachment and a PSC + Endpoint. + required: + - kind + - private_service_connect_connection_id + properties: + kind: + type: string + description: PrivateLinkAttachmentConnection kind. + enum: + - GcpPrivateLinkAttachmentConnection + private_service_connect_connection_id: + description: Id of the Private Service connection. + type: string + minLength: 1 + example: '00000000000000000' + networking.v1.AwsPrivateLinkAttachmentConnectionStatus: + description: Status of a connection to an AWS PrivateLink attachment. + type: object + required: + - kind + - vpc_endpoint_service_name + - vpc_endpoint_id + properties: + kind: + type: string + description: PrivateLinkAttachmentConnectionStatus kind. + enum: + - AwsPrivateLinkAttachmentConnectionStatus + vpc_endpoint_service_name: + description: Id of the VPC Endpoint service used for PrivateLink. + type: string + minLength: 1 + example: com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000 + readOnly: true + vpc_endpoint_id: + description: >- + Id of the VPC Endpoint (if any) that is connected to the VPC + Endpoint service. + type: string + minLength: 1 + readOnly: true + example: vpce-00000000000000000 + networking.v1.AzurePrivateLinkAttachmentConnectionStatus: + description: Status of a Azure PrivateLink attachment connection. + type: object + required: + - kind + - private_link_service_alias + - private_link_service_resource_id + - private_endpoint_resource_id + properties: + kind: + type: string + description: PrivateLinkAttachmentConnectionStatus kind. + enum: + - AzurePrivateLinkAttachmentConnectionStatus + private_link_service_alias: + description: Azure PrivateLink service alias. + type: string + minLength: 1 + readOnly: true + example: >- + pls-plt-abcdef-az3.38748da8-3322-42f7-b97a-6448c21af653.centralus.azure.privatelinkservice + private_link_service_resource_id: + description: Azure PrivateLink service resource id. + type: string + minLength: 1 + readOnly: true + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/s-abcde/providers/Microsoft.Network/privateLinkServices/pls-plt-abcdef-az3 + private_endpoint_resource_id: + description: | + Resource Id of the PrivateEndpoint (if any) that is connected to + the PrivateLink service. + type: string + minLength: 1 + readOnly: true + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testvpc/providers/Microsoft.Network/privateEndpoints/pe-plt-abcdef-az3 + networking.v1.GcpPrivateLinkAttachmentConnectionStatus: + description: Status of GCP PrivateLink attachment connection. + type: object + required: + - kind + - private_service_connect_service_attachment + - private_service_connect_connection_id + properties: + kind: + type: string + description: PrivateLinkAttachmentConnectionStatus kind. + enum: + - GcpPrivateLinkAttachmentConnectionStatus + private_service_connect_service_attachment: + description: GCP Private Service Connect ServiceAttachment. + type: string + minLength: 1 + readOnly: true + example: >- + projects/example-project/regions/us-central1/serviceAttachments/plt-abcdef-service-attachment-us-central1-a + private_service_connect_connection_id: + description: Id of the Private Service connection. + type: string + minLength: 1 + readOnly: true + example: '00000000000000000' + networking.v1.ForwardViaIp: + type: object + title: ForwardViaIp + description: DNS Forwarder Configured via DNS Server IPs. + required: + - kind + - dns_server_ips + properties: + kind: + description: DNS Forwarder Configured via DNS Server IPs kind type. + type: string + enum: + - ForwardViaIp + dns_server_ips: + type: array + items: + $ref: '#/components/schemas/networking.v1.Ip' + uniqueItems: true + minItems: 1 + maxItems: 3 + description: List of IP addresses of the DNS server example: - - example.com - - example2.com - description: Filter the results by exact match for spec.domain. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Filter the results by exact match for environment. - - name: spec.gateway - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' + - 10.200.0.0 + - 10.200.0.1 + networking.v1.AwsEgressPrivateLinkEndpoint: + type: object + description: AWS VPC Endpoint. + required: + - kind + - vpc_endpoint_service_name + properties: + kind: + type: string + description: AwsEgressPrivateLinkEndpoint kind. + enum: + - AwsEgressPrivateLinkEndpoint + vpc_endpoint_service_name: + description: ID of the VPC Endpoint service used for PrivateLink. + type: string + minLength: 1 + example: com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000 + enable_high_availability: + type: boolean + description: >- + Whether a resource should be provisioned with high availability. + Endpoints deployed with high availability have network interfaces + deployed in multiple AZs. + example: false + x-immutable: true + target_system: + type: string + description: >- + [Used by the Confluent Cloud Console] The target system or service + that the PrivateLink Endpoint connects to (e.g. "MONGODB" or + "SNOWFLAKE"). + example: S3 + networking.v1.AwsIngressPrivateLinkEndpoint: + type: object + description: AWS Ingress Private Link Endpoint. + required: + - kind + - vpc_endpoint_id + properties: + kind: + type: string + description: AwsIngressPrivateLinkEndpoint kind. + enum: + - AwsIngressPrivateLinkEndpoint + vpc_endpoint_id: + description: >- + ID of a VPC Endpoint that will be connected to the VPC Endpoint + service. + type: string + minLength: 1 + example: vpce-00000000000000000 + x-immutable: true + networking.v1.AzureEgressPrivateLinkEndpoint: + type: object + description: Azure Private Endpoint. + required: + - kind + - private_link_service_resource_id + properties: + kind: + type: string + description: AzureEgressPrivateLinkEndpoint kind. + enum: + - AzureEgressPrivateLinkEndpoint + private_link_service_resource_id: + description: Resource ID of the Azure Private Link service. + type: string + minLength: 1 + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/s-abcde/providers/Microsoft.Network/privateLinkServices/pls-plt-abcdef-az3 + private_link_subresource_name: + type: string + description: Name of the subresource for the Private Endpoint to connect to. + example: sqlServer + target_system: + type: string + description: >- + [Used by the Confluent Cloud Console] The target system or service + that the PrivateLink Endpoint connects to (e.g. "MONGODB" or + "SNOWFLAKE"). + example: SNOWFLAKE + networking.v1.AzureIngressPrivateLinkEndpoint: + type: object + description: Azure Ingress Private Link Endpoint. + required: + - kind + - private_endpoint_resource_id + properties: + kind: + type: string + description: AzureIngressPrivateLinkEndpoint kind. + enum: + - AzureIngressPrivateLinkEndpoint + private_endpoint_resource_id: + description: >- + Resource ID of a Private Endpoint that will be connected to the + Private Link service. + type: string + minLength: 1 + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-centralus-rg/providers/Microsoft.Network/privateEndpoints/private-endpoint-azure-centralus + x-immutable: true + networking.v1.AwsPrivateNetworkInterface: + type: object + description: Confluent Private Network Interface powered by AWS ENI. + required: + - kind + properties: + kind: + type: string + description: AwsPrivateNetworkInterface kind. + enum: + - AwsPrivateNetworkInterface + network_interfaces: + description: List of the IDs of the Elastic Network Interfaces. + type: array + items: + type: string + uniqueItems: true + minItems: 51 example: - - gw-00000 - - gw-00001 - description: Filter the results by exact match for spec.gateway. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: resource - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' + - eni-00000000000000000 + - eni-00000000000000001 + - eni-00000000000000002 + - eni-00000000000000003 + - eni-00000000000000004 + - eni-00000000000000005 + - eni-00000000000000006 + - eni-00000000000000007 + - eni-00000000000000008 + - eni-00000000000000009 + - eni-00000000000000010 + - eni-00000000000000011 + - eni-00000000000000012 + - eni-00000000000000013 + - eni-00000000000000014 + - eni-00000000000000015 + - eni-00000000000000016 + - eni-00000000000000017 + - eni-00000000000000018 + - eni-00000000000000019 + - eni-00000000000000020 + - eni-00000000000000021 + - eni-00000000000000022 + - eni-00000000000000023 + - eni-00000000000000024 + - eni-00000000000000025 + - eni-00000000000000026 + - eni-00000000000000027 + - eni-00000000000000028 + - eni-00000000000000029 + - eni-00000000000000030 + - eni-00000000000000031 + - eni-00000000000000032 + - eni-00000000000000033 + - eni-00000000000000034 + - eni-00000000000000035 + - eni-00000000000000036 + - eni-00000000000000037 + - eni-00000000000000038 + - eni-00000000000000039 + - eni-00000000000000040 + - eni-00000000000000041 + - eni-00000000000000042 + - eni-00000000000000043 + - eni-00000000000000044 + - eni-00000000000000045 + - eni-00000000000000046 + - eni-00000000000000047 + - eni-00000000000000048 + - eni-00000000000000049 + - eni-00000000000000050 + account: + type: string + pattern: ^\d{12}$ + example: '000000000000' + description: >- + The AWS account ID associated with the ENIs you are using for the + Confluent Private Network Interface. + x-immutable: true + egress_routes: + type: array + description: List of egress CIDRs (IPv4) for egress PNI. + items: + type: string + uniqueItems: true example: - - ap-11111 - - ap-22222 - description: Filter the results by exact match for resource. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: + - 10.0.0.0/16 + - 10.1.0.0/16 + - 10.2.0.0/16 + - 172.16.0.0/16 + networking.v1.GcpEgressPrivateServiceConnectEndpoint: + type: object + description: GCP Private Service Connect Endpoint. + required: + - kind + - private_service_connect_endpoint_target + properties: + kind: + type: string + description: GcpEgressPrivateServiceConnectEndpoint kind. + enum: + - GcpEgressPrivateServiceConnectEndpoint + private_service_connect_endpoint_target: + description: >- + URI of the service attachment for the published service that the + Private Service Connect Endpoint connects to or "ALL_GOOGLE_APIS" + for global Google APIs. + type: string + minLength: 1 + example: >- + projects/project-name/regions/us-central1/serviceAttachments/service-attachment-name + target_system: + type: string + description: >- + [Used by the Confluent Cloud Console] The target system or service + that the PrivateLink Endpoint connects to (e.g. "GCS" or + "SNOWFLAKE"). + example: GCS + networking.v1.GcpIngressPrivateServiceConnectEndpoint: + type: object + description: GCP Ingress Private Service Connect Endpoint. + required: + - kind + - private_service_connect_connection_id + properties: + kind: + type: string + description: GcpIngressPrivateServiceConnectEndpoint kind. + enum: + - GcpIngressPrivateServiceConnectEndpoint + private_service_connect_connection_id: + description: The ID of the Private Service Connect connection. + type: string + minLength: 1 + example: '00000000000000000' + networking.v1.AwsEgressPrivateLinkEndpointStatus: + type: object + title: AWS + description: Status of an AWS PrivateLink Endpoint. + required: + - kind + - vpc_endpoint_id + - vpc_endpoint_dns_name + properties: + kind: + description: AwsEgressPrivateLinkEndpointStatus kind. + type: string + enum: + - AwsEgressPrivateLinkEndpointStatus + vpc_endpoint_id: + description: >- + ID of a VPC Endpoint (if any) that is connected to the VPC Endpoint + service. + type: string + example: vpce-00000000000000000 + readOnly: true + vpc_endpoint_dns_name: + description: >- + DNS name of a VPC Endpoint (if any) that is connected to the VPC + Endpoint service. + type: string + example: >- + vpce-00000000000000000-00000000.vpce-svc-00000000000000000.us-west-2.vpce.amazonaws.com + readOnly: true + networking.v1.AwsIngressPrivateLinkEndpointStatus: + type: object + description: Status of an AWS Ingress Private Link Endpoint. + required: + - kind + - vpc_endpoint_service_name + - vpc_endpoint_id + properties: + kind: + description: AwsIngressPrivateLinkEndpointStatus kind. + type: string + enum: + - AwsIngressPrivateLinkEndpointStatus + vpc_endpoint_service_name: + description: ID of the Confluent Cloud VPC Endpoint service used for PrivateLink. + type: string + example: com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000 + readOnly: true + vpc_endpoint_id: + description: >- + ID of the VPC Endpoint used for connecting to the VPC Endpoint + service. + type: string + example: vpce-00000000000000000 + readOnly: true + dns_domain: + description: >- + DNS domain name used to configure the Private Hosted Zone for the + Access Point. + type: string + example: ap123abc.us-west-2.aws.accesspoint.confluent.cloud + readOnly: true + networking.v1.AzureEgressPrivateLinkEndpointStatus: + type: object + description: Status of an Azure Private Endpoint. + required: + - kind + - private_endpoint_resource_id + - private_endpoint_ip_address + properties: + kind: + description: AzureEgressPrivateLinkEndpointStatus kind. + type: string + enum: + - AzureEgressPrivateLinkEndpointStatus + private_endpoint_resource_id: + description: >- + Resource ID of the Private Endpoint (if any) that is connected to + the Private Link service. + type: string + readOnly: true + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testvpc/providers/Microsoft.Network/privateEndpoints/pe-plt-abcdef-az3 + private_endpoint_domain: + description: >- + Domain of the Private Endpoint (if any) that is connected to the + Private Link service. + type: string + readOnly: true + example: dbname.database.windows.net + private_endpoint_ip_address: + description: >- + IP address of the Private Endpoint (if any) that is connected to the + Private Link service. + type: string + readOnly: true + example: 10.2.0.68 + private_endpoint_custom_dns_config_domains: + description: >- + Domains of the Private Endpoint (if any) based off FQDNs in Azure + custom DNS configs, which are required in your private DNS setup. + type: array + items: type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - DNS Records (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: DNS Record. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.DnsRecordList' - - type: object - properties: - data: - type: array - items: - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - gateway: - example: - id: gw-00000 - related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/dns-records?spec.display_name=prod-dnsrec-1,prod-dnsrec-2&spec.domain=example.com,example2.com&environment=env-00000&spec.gateway=gw-00000,gw-00001&resource=ap-11111,ap-22222' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/dns-records?spec.display_name=prod-dnsrec-1,prod-dnsrec-2&spec.domain=example.com,example2.com&environment=env-00000&spec.gateway=gw-00000,gw-00001&resource=ap-11111,ap-22222") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/dns-records?spec.display_name=prod-dnsrec-1,prod-dnsrec-2&spec.domain=example.com,example2.com&environment=env-00000&spec.gateway=gw-00000,gw-00001&resource=ap-11111,ap-22222\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/dns-records?spec.display_name=prod-dnsrec-1,prod-dnsrec-2&spec.domain=example.com,example2.com&environment=env-00000&spec.gateway=gw-00000,gw-00001&resource=ap-11111,ap-22222", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/dns-records?spec.display_name=prod-dnsrec-1,prod-dnsrec-2&spec.domain=example.com,example2.com&environment=env-00000&spec.gateway=gw-00000,gw-00001&resource=ap-11111,ap-22222", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/dns-records?spec.display_name=prod-dnsrec-1,prod-dnsrec-2&spec.domain=example.com,example2.com&environment=env-00000&spec.gateway=gw-00000,gw-00001&resource=ap-11111,ap-22222"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/dns-records?spec.display_name=prod-dnsrec-1,prod-dnsrec-2&spec.domain=example.com,example2.com&environment=env-00000&spec.gateway=gw-00000,gw-00001&resource=ap-11111,ap-22222"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createNetworkingV1DnsRecord - summary: Create a DNS Record - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to create a DNS record. - tags: - - DNS Records (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.DnsRecord' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - domain - - config - - environment - - gateway - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - gateway: - example: - id: gw-00000 - responses: - '202': - description: A DNS Record is being created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/networking/v1/dns-records/{id}' - description: DnsRecord resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.DnsRecord' - - type: object - required: - - spec - - status - properties: - spec: - type: object - required: - - domain - - config - - environment - - gateway - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - gateway: - example: - id: gw-00000 - related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-00000' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/networking/v1/dns-records \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"prod-dnsrec-1","domain":"example.com","config":{"kind":"PrivateLinkAccessPoint","resource_id":"ap-12345"},"environment":{"id":"env-00000","environment":"string"},"gateway":{"id":"gw-00000","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-dnsrec-1\",\"domain\":\"example.com\",\"config\":{\"kind\":\"PrivateLinkAccessPoint\",\"resource_id\":\"ap-12345\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/dns-records") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/dns-records\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-dnsrec-1\\\",\\\"domain\\\":\\\"example.com\\\",\\\"config\\\":{\\\"kind\\\":\\\"PrivateLinkAccessPoint\\\",\\\"resource_id\\\":\\\"ap-12345\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"gateway\\\":{\\\"id\\\":\\\"gw-00000\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"prod-dnsrec-1\",\"domain\":\"example.com\",\"config\":{\"kind\":\"PrivateLinkAccessPoint\",\"resource_id\":\"ap-12345\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/networking/v1/dns-records", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/dns-records", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'prod-dnsrec-1', - domain: 'example.com', - config: {kind: 'PrivateLinkAccessPoint', resource_id: 'ap-12345'}, - environment: {id: 'env-00000', environment: 'string'}, - gateway: {id: 'gw-00000', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/dns-records"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-dnsrec-1\",\"domain\":\"example.com\",\"config\":{\"kind\":\"PrivateLinkAccessPoint\",\"resource_id\":\"ap-12345\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/dns-records"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-dnsrec-1\",\"domain\":\"example.com\",\"config\":{\"kind\":\"PrivateLinkAccessPoint\",\"resource_id\":\"ap-12345\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"gw-00000\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/networking/v1/dns-records/{id}': - get: - operationId: getNetworkingV1DnsRecord - summary: Read a DNS Record - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read a DNS record. - parameters: - - name: environment - in: query - required: true + readOnly: true + example: + - dbname.database.windows.net + - dbname-region.database.windows.net + networking.v1.AzureIngressPrivateLinkEndpointStatus: + type: object + description: Status of an Azure Ingress Private Link Endpoint. + required: + - kind + - private_link_service_alias + - private_link_service_resource_id + - private_endpoint_resource_id + properties: + kind: + description: AzureIngressPrivateLinkEndpointStatus kind. + type: string + enum: + - AzureIngressPrivateLinkEndpointStatus + private_link_service_alias: + description: Alias of the Confluent Cloud Private Link Service. + type: string + readOnly: true + example: >- + plattg-123abc-privatelink.00000000-0000-0000-0000-000000000000.centralus.azure.privatelinkservice + private_link_service_resource_id: + description: Resource ID of the Confluent Cloud Private Link Service. + type: string + readOnly: true + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/plattg-123abc/providers/Microsoft.Network/privateLinkServices/plattg-123abc-privatelink + private_endpoint_resource_id: + description: >- + Resource ID of the Private Endpoint used for connecting to the + Private Link Service. + type: string + readOnly: true + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/my-centralus-rg/providers/Microsoft.Network/privateEndpoints/private-endpoint-azure-centralus + dns_domain: + description: >- + DNS domain name used to configure the Private DNS Zone for the + Access Point. + type: string + example: ap123abc.centralus.azure.accesspoint.confluent.cloud + readOnly: true + networking.v1.GcpEgressPrivateServiceConnectEndpointStatus: + type: object + description: Status of a GCP Private Service Connect Endpoint. + required: + - kind + - private_service_connect_endpoint_connection_id + - private_service_connect_endpoint_name + - private_service_connect_endpoint_ip_address + properties: + kind: + description: GcpEgressPrivateServiceConnectEndpointStatus kind. + type: string + enum: + - GcpEgressPrivateServiceConnectEndpointStatus + private_service_connect_endpoint_connection_id: + description: >- + Connection ID of the Private Service Connect Endpoint (if any) that + is connected to the endpoint target. + type: string + readOnly: true + example: '' + private_service_connect_endpoint_name: + description: >- + Name of the Private Service Connect Endpoint (if any) that is + connected to the endpoint target. + type: string + readOnly: true + example: plap-123456 + private_service_connect_endpoint_ip_address: + description: >- + IP address of the Private Service Connect Endpoint (if any) that is + connected to the endpoint target. + type: string + readOnly: true + example: 10.2.0.68 + networking.v1.GcpIngressPrivateServiceConnectEndpointStatus: + type: object + description: Status of a GCP Ingress Private Service Connect Endpoint. + required: + - kind + - private_service_connect_service_attachment + - private_service_connect_connection_id + properties: + kind: + description: GcpIngressPrivateServiceConnectEndpointStatus kind. + type: string + enum: + - GcpIngressPrivateServiceConnectEndpointStatus + private_service_connect_service_attachment: + description: >- + URI of the Private Service Connect Service Attachment in Confluent + Cloud. + type: string + readOnly: true + example: >- + projects/traffic-prod/regions/us-central1/serviceAttachments/plattg-abc123-service-attachment + private_service_connect_connection_id: + description: The ID of the Private Service Connect connection. + type: string + readOnly: true + example: '00000000000000000' + dns_domain: + description: DNS domain name used to configure the DNS Zone for the Access Point. + type: string + example: ap123abc.us-central1.gcp.accesspoint.confluent.cloud + readOnly: true + networking.v1.PrivateLinkAccessPoint: + type: object + description: DNS record that is associated with a PrivateLink access point. + required: + - kind + - resource_id + properties: + kind: + description: PrivateLinkAccessPoint kind. + type: string + enum: + - PrivateLinkAccessPoint + resource_id: + description: ID of the target resource. + type: string + minLength: 1 + example: ap-12345 + networking.v1.AwsEgressPrivateLinkGatewaySpec: + type: object + description: AWS Egress Private Link Gateway details from AWS. + required: + - kind + - region + properties: + kind: + description: AWS Egress Private Link Gateway Spec kind type. + type: string + enum: + - AwsEgressPrivateLinkGatewaySpec + region: + type: string + description: AWS region of the Egress Private Link Gateway. + networking.v1.AwsPrivateNetworkInterfaceGatewaySpec: + type: object + description: AWS Private Network Interface Gateway details from AWS. + required: + - kind + - region + - zones + properties: + kind: + description: AWS Private Network Interface Gateway Spec kind type. + type: string + enum: + - AwsPrivateNetworkInterfaceGatewaySpec + region: + type: string + description: AWS region of the Private Network Interface Gateway. + zones: + type: array + items: + type: string + description: AWS availability zone ids of the Private Network Interface Gateway. + networking.v1.AwsIngressPrivateLinkGatewaySpec: + type: object + description: AWS Ingress Private Link Gateway details from AWS. + required: + - kind + - region + properties: + kind: + description: AWS Ingress Private Link Gateway Spec kind type. + type: string + enum: + - AwsIngressPrivateLinkGatewaySpec + region: + type: string + description: AWS region of the Ingress Private Link Gateway. + networking.v1.AwsPeeringGatewaySpec: + type: object + description: AWS Peering Gateway details from AWS. + required: + - kind + - region + properties: + kind: + description: AWS Peering Gateway Spec kind type. + type: string + enum: + - AwsPeeringGatewaySpec + region: + type: string + description: AWS region of the Peering Gateway. + networking.v1.AzurePeeringGatewaySpec: + type: object + description: Azure Peering Gateway details from Azure. + required: + - kind + - region + properties: + kind: + description: Azure Peering Gateway Spec kind type. + type: string + enum: + - AzurePeeringGatewaySpec + region: + type: string + description: Azure region of the Peering Gateway. + networking.v1.AzureEgressPrivateLinkGatewaySpec: + type: object + description: Azure Egress Private Link Gateway details from Azure. + required: + - kind + - region + properties: + kind: + description: Azure Egress Private Link Gateway Spec kind type. + type: string + enum: + - AzureEgressPrivateLinkGatewaySpec + region: + type: string + description: Azure region of the Egress Private Link Gateway. + networking.v1.AzureIngressPrivateLinkGatewaySpec: + type: object + description: Azure Ingress Private Link Gateway details from Azure. + required: + - kind + - region + properties: + kind: + description: Azure Ingress Private Link Gateway Spec kind type. + type: string + enum: + - AzureIngressPrivateLinkGatewaySpec + region: + type: string + description: Azure region of the Ingress Private Link Gateway. + networking.v1.GcpPeeringGatewaySpec: + type: object + description: GCP Peering Gateway details. + required: + - kind + - region + properties: + kind: + description: GCP Peering Gateway Spec kind type. + type: string + enum: + - GcpPeeringGatewaySpec + region: + type: string + description: GCP region of the Peering Gateway. + networking.v1.GcpEgressPrivateServiceConnectGatewaySpec: + type: object + description: GCP Private Service Connect Gateway details from GCP. + required: + - kind + - region + properties: + kind: + description: GCP Private Service Connect Gateway Spec kind type. + type: string + enum: + - GcpEgressPrivateServiceConnectGatewaySpec + region: + type: string + description: GCP region of the Egress Private Service Connect Gateway. + networking.v1.GcpIngressPrivateServiceConnectGatewaySpec: + type: object + description: GCP Ingress Private Service Connect Gateway details from GCP. + required: + - kind + - region + properties: + kind: + description: GCP Ingress Private Service Connect Gateway Spec kind type. + type: string + enum: + - GcpIngressPrivateServiceConnectGatewaySpec + region: + type: string + description: GCP region of the Ingress Private Service Connect Gateway. + networking.v1.AwsEgressPrivateLinkGatewayStatus: + type: object + required: + - kind + description: AWS Egress Private Link Gateway details from AWS. + properties: + kind: + description: AWS Egress Private Link Gateway Status kind type. + type: string + enum: + - AwsEgressPrivateLinkGatewayStatus + principal_arn: + description: The principal ARN used by the AWS Egress Private Link Gateway. + type: string + example: arn:aws:iam::123456789012:cc-tenant-1-role + readOnly: true + networking.v1.AwsIngressPrivateLinkGatewayStatus: + type: object + required: + - kind + description: AWS Ingress Private Link Gateway details from AWS. + properties: + kind: + description: AWS Ingress Private Link Gateway Status kind type. + type: string + enum: + - AwsIngressPrivateLinkGatewayStatus + vpc_endpoint_service_name: + description: >- + The ID of the AWS VPC Endpoint Service that can be used to establish + connections for all zones. + type: string + example: com.amazonaws.vpce.us-west-2.vpce-svc-00000000000000000 + readOnly: true + networking.v1.AwsPrivateNetworkInterfaceGatewayStatus: + type: object + required: + - kind + description: AWS Private Network Interface Gateway details from AWS. + properties: + kind: + description: AWS Private Network Interface Gateway Status kind type. + type: string + enum: + - AwsPrivateNetworkInterfaceGatewayStatus + account: + description: >- + The AWS account ID associated with the Private Network Interface + Gateway. + type: string + example: '000000000000' + readOnly: true + networking.v1.AzureEgressPrivateLinkGatewayStatus: + type: object + required: + - kind + description: Azure Egress Private Link Gateway details from Azure. + properties: + kind: + description: Azure Egress Private Link Gateway Status kind type. + type: string + enum: + - AzureEgressPrivateLinkGatewayStatus + subscription: + type: string + description: The Azure Subscription ID associated with the Confluent Cloud VPC. + example: 00000000-0000-0000-0000-000000000000 + readOnly: true + networking.v1.AzureIngressPrivateLinkGatewayStatus: + type: object + required: + - kind + description: Azure Ingress Private Link Gateway details from Azure. + properties: + kind: + description: Azure Ingress Private Link Gateway Status kind type. + type: string + enum: + - AzureIngressPrivateLinkGatewayStatus + private_link_service_alias: + description: Alias of the Confluent Cloud Private Link Service. + type: string + readOnly: true + example: >- + plattg-123abc-privatelink.00000000-0000-0000-0000-000000000000.centralus.azure.privatelinkservice + private_link_service_resource_id: + description: Resource ID of the Confluent Cloud Private Link Service. + type: string + readOnly: true + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/plattg-123abc/providers/Microsoft.Network/privateLinkServices/plattg-123abc-privatelink + networking.v1.GcpPeeringGatewayStatus: + type: object + required: + - kind + description: GCP Peering Gateway details from GCP. + properties: + kind: + description: GCP Peering Gateway Status kind type. + type: string + enum: + - GcpPeeringGatewayStatus + iam_principal: + description: The IAM principal email used by the GCP Peering Gateway. + type: string + example: my-service-account@my-project.iam.gserviceaccount.com + readOnly: true + networking.v1.GcpEgressPrivateServiceConnectGatewayStatus: + type: object + required: + - kind + description: GCP Private Service Connect Gateway details from GCP. + properties: + kind: + description: GCP Private Service Connect Gateway Status kind type. + type: string + enum: + - GcpEgressPrivateServiceConnectGatewayStatus + project: + type: string + description: The GCP project used by the GCP Private Service Connect Gateway. + example: proj-tenant-1 + readOnly: true + networking.v1.GcpIngressPrivateServiceConnectGatewayStatus: + type: object + required: + - kind + description: GCP Ingress Private Service Connect Gateway details from GCP. + properties: + kind: + description: GCP Ingress Private Service Connect Gateway Status kind type. + type: string + enum: + - GcpIngressPrivateServiceConnectGatewayStatus + private_service_connect_service_attachment: + description: >- + URI of the Private Service Connect Service Attachment in Confluent + Cloud. + type: string + readOnly: true + example: >- + projects/traffic-prod/regions/us-central1/serviceAttachments/plattg-abc123-service-attachment + networking.v1.Cidr: + type: string + pattern: ^\d+\.\d+\.\d+\.\d+/\d+$ + description: IPv4 CIDR block + example: 10.200.0.0/16 + networking.v1.AwsVpcEndpointService: + description: | + AWS VPC Endpoint service that can be used to create VPC Endpoints. + type: object + required: + - vpc_endpoint_service_name + properties: + vpc_endpoint_service_name: + type: string + description: Id of the VPC Endpoint service. + readOnly: true + networking.v1.AzurePrivateLinkService: + type: object + description: > + Azure Private Link Service with reserved capacity to connect a Private + Endpoint. + required: + - private_link_service_alias + - private_link_service_resource_id + properties: + private_link_service_alias: + description: Azure PrivateLink service alias. + type: string + minLength: 1 + readOnly: true + example: >- + pls-plt-abcdef-az3.38748da8-3322-42f7-b97a-6448c21af653.centralus.azure.privatelinkservice + private_link_service_resource_id: + description: Azure PrivateLink service resource id. + type: string + minLength: 1 + readOnly: true + example: >- + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/s-abcde/providers/Microsoft.Network/privateLinkServices/pls-plt-abcdef + networking.v1.GcpPscServiceAttachment: + type: object + description: | + GCP PSC Service attachment with reserved capacity to + connect a PSC Endpoint. + required: + - private_service_connect_service_attachment + properties: + private_service_connect_service_attachment: + description: >- + Id of a Private Service Connect Service Attachment in Confluent + Cloud. + type: string + minLength: 1 + readOnly: true + example: >- + projects/example-project/regions/us-central1/serviceAttachments/plt-abcdef-service-attachment-us-central1 + networking.v1.Ip: + type: string + pattern: ^\d+\.\d+\.\d+\.\d+$ + description: IPv4 Address + example: 10.200.0.0 + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: schema: type: string - description: The unique identifier for the DNS record. - tags: - - DNS Records (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: DNS Record. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.DnsRecord' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - domain - - config - - environment - - gateway - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - gateway: - example: - id: gw-00000 - related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/networking/v1/dns-records/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/dns-records/{id}?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/dns-records/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/networking/v1/dns-records/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/dns-records/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/dns-records/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/dns-records/{id}?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateNetworkingV1DnsRecord - summary: Update a DNS Record - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to update a DNS record. - - parameters: - - name: id - in: path - required: true + description: The unique identifier for the API request. + WWW-Authenticate: schema: type: string - description: The unique identifier for the DNS record. - tags: - - DNS Records (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.DnsRecordUpdate' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - environment - properties: - environment: - example: - id: env-00000 - responses: - '200': - description: DNS Record. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/networking.v1.DnsRecord' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - domain - - config - - environment - - gateway - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - gateway: - example: - id: gw-00000 - related: 'https://api.confluent.cloud/networking/v1/gateways/gw-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/gateway=gw-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/networking/v1/dns-records/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"prod-dnsrec-1","domain":"example.com","config":{"kind":"PrivateLinkAccessPoint","resource_id":"ap-12345"},"environment":{"id":"env-00000","environment":"string"},"gateway":{"id":"string","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"prod-dnsrec-1\",\"domain\":\"example.com\",\"config\":{\"kind\":\"PrivateLinkAccessPoint\",\"resource_id\":\"ap-12345\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/dns-records/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/dns-records/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"prod-dnsrec-1\\\",\\\"domain\\\":\\\"example.com\\\",\\\"config\\\":{\\\"kind\\\":\\\"PrivateLinkAccessPoint\\\",\\\"resource_id\\\":\\\"ap-12345\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"gateway\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"prod-dnsrec-1\",\"domain\":\"example.com\",\"config\":{\"kind\":\"PrivateLinkAccessPoint\",\"resource_id\":\"ap-12345\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/networking/v1/dns-records/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/dns-records/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'prod-dnsrec-1', - domain: 'example.com', - config: {kind: 'PrivateLinkAccessPoint', resource_id: 'ap-12345'}, - environment: {id: 'env-00000', environment: 'string'}, - gateway: {id: 'string', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/dns-records/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"prod-dnsrec-1\",\"domain\":\"example.com\",\"config\":{\"kind\":\"PrivateLinkAccessPoint\",\"resource_id\":\"ap-12345\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/dns-records/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"prod-dnsrec-1\",\"domain\":\"example.com\",\"config\":{\"kind\":\"PrivateLinkAccessPoint\",\"resource_id\":\"ap-12345\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"gateway\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteNetworkingV1DnsRecord - summary: Delete a DNS Record - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to delete a DNS record. - parameters: - - name: environment - in: query - required: true + description: The unique identifier for the API request. + example: >- + Basic error="invalid_key", error_description="The API Key is + invalid" + content: + application/json: schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: >- + The user 'mcfly' is not allowed to access the 'delorean' + resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. + Retry-After: + schema: + type: integer + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. + DefaultSystemError: + description: Oops, something went wrong! + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap + OverQuotaError: + x-summary: Over Quota + description: The request would exceed one or more quotas. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '402' + code: quota_exceeded + title: Kafka Clusters Per Org Quota Exceeded + detail: >- + The request would exceed the quota: + kafka_clusters_per_environment + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/{object}/{id} + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: >- + The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already + exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: schema: type: string - description: The unique identifier for the DNS record. - tags: - - DNS Records (networking/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A DNS Record is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/networking/v1/dns-records/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/networking/v1/dns-records/{id}?environment=env-00000") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/networking/v1/dns-records/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/networking/v1/dns-records/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/networking/v1/dns-records/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/networking/v1/dns-records/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/networking/v1/dns-records/{id}?environment=env-00000"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + x-stackQL-resources: + networks: + id: confluent.networking.networks + name: networks + title: Networks + methods: + list_networking_v1_networks: + operation: + $ref: '#/paths/~1networking~1v1~1networks/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1_network: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1networks/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1_network: + operation: + $ref: '#/paths/~1networking~1v1~1networks~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1_network: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1networks~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1_network: + operation: + $ref: '#/paths/~1networking~1v1~1networks~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/networks/methods/get_networking_v1_network + - $ref: >- + #/components/x-stackQL-resources/networks/methods/list_networking_v1_networks + insert: + - $ref: >- + #/components/x-stackQL-resources/networks/methods/create_networking_v1_network + update: + - $ref: >- + #/components/x-stackQL-resources/networks/methods/update_networking_v1_network + delete: + - $ref: >- + #/components/x-stackQL-resources/networks/methods/delete_networking_v1_network + replace: [] + peerings: + id: confluent.networking.peerings + name: peerings + title: Peerings + methods: + list_networking_v1_peerings: + operation: + $ref: '#/paths/~1networking~1v1~1peerings/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1_peering: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1peerings/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1_peering: + operation: + $ref: '#/paths/~1networking~1v1~1peerings~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1_peering: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1peerings~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1_peering: + operation: + $ref: '#/paths/~1networking~1v1~1peerings~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/peerings/methods/get_networking_v1_peering + - $ref: >- + #/components/x-stackQL-resources/peerings/methods/list_networking_v1_peerings + insert: + - $ref: >- + #/components/x-stackQL-resources/peerings/methods/create_networking_v1_peering + update: + - $ref: >- + #/components/x-stackQL-resources/peerings/methods/update_networking_v1_peering + delete: + - $ref: >- + #/components/x-stackQL-resources/peerings/methods/delete_networking_v1_peering + replace: [] + transit_gateway_attachments: + id: confluent.networking.transit_gateway_attachments + name: transit_gateway_attachments + title: Transit Gateway Attachments + methods: + list_networking_v1_transit_gateway_attachments: + operation: + $ref: '#/paths/~1networking~1v1~1transit-gateway-attachments/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1_transit_gateway_attachment: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1transit-gateway-attachments/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1_transit_gateway_attachment: + operation: + $ref: '#/paths/~1networking~1v1~1transit-gateway-attachments~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1_transit_gateway_attachment: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1transit-gateway-attachments~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1_transit_gateway_attachment: + operation: + $ref: '#/paths/~1networking~1v1~1transit-gateway-attachments~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/transit_gateway_attachments/methods/get_networking_v1_transit_gateway_attachment + - $ref: >- + #/components/x-stackQL-resources/transit_gateway_attachments/methods/list_networking_v1_transit_gateway_attachments + insert: + - $ref: >- + #/components/x-stackQL-resources/transit_gateway_attachments/methods/create_networking_v1_transit_gateway_attachment + update: + - $ref: >- + #/components/x-stackQL-resources/transit_gateway_attachments/methods/update_networking_v1_transit_gateway_attachment + delete: + - $ref: >- + #/components/x-stackQL-resources/transit_gateway_attachments/methods/delete_networking_v1_transit_gateway_attachment + replace: [] + private_link_accesses: + id: confluent.networking.private_link_accesses + name: private_link_accesses + title: Private Link Accesses + methods: + list_networking_v1_private_link_accesses: + operation: + $ref: '#/paths/~1networking~1v1~1private-link-accesses/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1_private_link_access: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1private-link-accesses/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1_private_link_access: + operation: + $ref: '#/paths/~1networking~1v1~1private-link-accesses~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1_private_link_access: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1private-link-accesses~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1_private_link_access: + operation: + $ref: '#/paths/~1networking~1v1~1private-link-accesses~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/private_link_accesses/methods/get_networking_v1_private_link_access + - $ref: >- + #/components/x-stackQL-resources/private_link_accesses/methods/list_networking_v1_private_link_accesses + insert: + - $ref: >- + #/components/x-stackQL-resources/private_link_accesses/methods/create_networking_v1_private_link_access + update: + - $ref: >- + #/components/x-stackQL-resources/private_link_accesses/methods/update_networking_v1_private_link_access + delete: + - $ref: >- + #/components/x-stackQL-resources/private_link_accesses/methods/delete_networking_v1_private_link_access + replace: [] + network_link_services: + id: confluent.networking.network_link_services + name: network_link_services + title: Network Link Services + methods: + list_networking_v1_network_link_services: + operation: + $ref: '#/paths/~1networking~1v1~1network-link-services/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1_network_link_service: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1network-link-services/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1_network_link_service: + operation: + $ref: '#/paths/~1networking~1v1~1network-link-services~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1_network_link_service: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1network-link-services~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1_network_link_service: + operation: + $ref: '#/paths/~1networking~1v1~1network-link-services~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/network_link_services/methods/get_networking_v1_network_link_service + - $ref: >- + #/components/x-stackQL-resources/network_link_services/methods/list_networking_v1_network_link_services + insert: + - $ref: >- + #/components/x-stackQL-resources/network_link_services/methods/create_networking_v1_network_link_service + update: + - $ref: >- + #/components/x-stackQL-resources/network_link_services/methods/update_networking_v1_network_link_service + delete: + - $ref: >- + #/components/x-stackQL-resources/network_link_services/methods/delete_networking_v1_network_link_service + replace: [] + network_link_endpoints: + id: confluent.networking.network_link_endpoints + name: network_link_endpoints + title: Network Link Endpoints + methods: + list_networking_v1_network_link_endpoints: + operation: + $ref: '#/paths/~1networking~1v1~1network-link-endpoints/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1_network_link_endpoint: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1network-link-endpoints/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1_network_link_endpoint: + operation: + $ref: '#/paths/~1networking~1v1~1network-link-endpoints~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1_network_link_endpoint: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1network-link-endpoints~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1_network_link_endpoint: + operation: + $ref: '#/paths/~1networking~1v1~1network-link-endpoints~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/network_link_endpoints/methods/get_networking_v1_network_link_endpoint + - $ref: >- + #/components/x-stackQL-resources/network_link_endpoints/methods/list_networking_v1_network_link_endpoints + insert: + - $ref: >- + #/components/x-stackQL-resources/network_link_endpoints/methods/create_networking_v1_network_link_endpoint + update: + - $ref: >- + #/components/x-stackQL-resources/network_link_endpoints/methods/update_networking_v1_network_link_endpoint + delete: + - $ref: >- + #/components/x-stackQL-resources/network_link_endpoints/methods/delete_networking_v1_network_link_endpoint + replace: [] + network_link_service_associations: + id: confluent.networking.network_link_service_associations + name: network_link_service_associations + title: Network Link Service Associations + methods: + list_networking_v1_network_link_service_associations: + operation: + $ref: '#/paths/~1networking~1v1~1network-link-service-associations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + get_networking_v1_network_link_service_association: + operation: + $ref: >- + #/paths/~1networking~1v1~1network-link-service-associations~1{id}/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/network_link_service_associations/methods/get_networking_v1_network_link_service_association + - $ref: >- + #/components/x-stackQL-resources/network_link_service_associations/methods/list_networking_v1_network_link_service_associations + insert: [] + update: [] + delete: [] + replace: [] + ip_addresses: + id: confluent.networking.ip_addresses + name: ip_addresses + title: Ip Addresses + methods: + list_networking_v1_ip_addresses: + operation: + $ref: '#/paths/~1networking~1v1~1ip-addresses/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/ip_addresses/methods/list_networking_v1_ip_addresses + insert: [] + update: [] + delete: [] + replace: [] + private_link_attachments: + id: confluent.networking.private_link_attachments + name: private_link_attachments + title: Private Link Attachments + methods: + list_networking_v1_private_link_attachments: + operation: + $ref: '#/paths/~1networking~1v1~1private-link-attachments/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1_private_link_attachment: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1private-link-attachments/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1_private_link_attachment: + operation: + $ref: '#/paths/~1networking~1v1~1private-link-attachments~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1_private_link_attachment: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1private-link-attachments~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1_private_link_attachment: + operation: + $ref: '#/paths/~1networking~1v1~1private-link-attachments~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/private_link_attachments/methods/get_networking_v1_private_link_attachment + - $ref: >- + #/components/x-stackQL-resources/private_link_attachments/methods/list_networking_v1_private_link_attachments + insert: + - $ref: >- + #/components/x-stackQL-resources/private_link_attachments/methods/create_networking_v1_private_link_attachment + update: + - $ref: >- + #/components/x-stackQL-resources/private_link_attachments/methods/update_networking_v1_private_link_attachment + delete: + - $ref: >- + #/components/x-stackQL-resources/private_link_attachments/methods/delete_networking_v1_private_link_attachment + replace: [] + private_link_attachment_connections: + id: confluent.networking.private_link_attachment_connections + name: private_link_attachment_connections + title: Private Link Attachment Connections + methods: + list_networking_v1_private_link_attachment_connections: + operation: + $ref: '#/paths/~1networking~1v1~1private-link-attachment-connections/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1_private_link_attachment_connection: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1private-link-attachment-connections/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1_private_link_attachment_connection: + operation: + $ref: >- + #/paths/~1networking~1v1~1private-link-attachment-connections~1{id}/get + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1_private_link_attachment_connection: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1networking~1v1~1private-link-attachment-connections~1{id}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1_private_link_attachment_connection: + operation: + $ref: >- + #/paths/~1networking~1v1~1private-link-attachment-connections~1{id}/delete + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/private_link_attachment_connections/methods/get_networking_v1_private_link_attachment_connection + - $ref: >- + #/components/x-stackQL-resources/private_link_attachment_connections/methods/list_networking_v1_private_link_attachment_connections + insert: + - $ref: >- + #/components/x-stackQL-resources/private_link_attachment_connections/methods/create_networking_v1_private_link_attachment_connection + update: + - $ref: >- + #/components/x-stackQL-resources/private_link_attachment_connections/methods/update_networking_v1_private_link_attachment_connection + delete: + - $ref: >- + #/components/x-stackQL-resources/private_link_attachment_connections/methods/delete_networking_v1_private_link_attachment_connection + replace: [] + dns_forwarders: + id: confluent.networking.dns_forwarders + name: dns_forwarders + title: Dns Forwarders + methods: + list_networking_v1_dns_forwarders: + operation: + $ref: '#/paths/~1networking~1v1~1dns-forwarders/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1_dns_forwarder: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1dns-forwarders/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1_dns_forwarder: + operation: + $ref: '#/paths/~1networking~1v1~1dns-forwarders~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1_dns_forwarder: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1dns-forwarders~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1_dns_forwarder: + operation: + $ref: '#/paths/~1networking~1v1~1dns-forwarders~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/dns_forwarders/methods/get_networking_v1_dns_forwarder + - $ref: >- + #/components/x-stackQL-resources/dns_forwarders/methods/list_networking_v1_dns_forwarders + insert: + - $ref: >- + #/components/x-stackQL-resources/dns_forwarders/methods/create_networking_v1_dns_forwarder + update: + - $ref: >- + #/components/x-stackQL-resources/dns_forwarders/methods/update_networking_v1_dns_forwarder + delete: + - $ref: >- + #/components/x-stackQL-resources/dns_forwarders/methods/delete_networking_v1_dns_forwarder + replace: [] + access_points: + id: confluent.networking.access_points + name: access_points + title: Access Points + methods: + list_networking_v1_access_points: + operation: + $ref: '#/paths/~1networking~1v1~1access-points/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1_access_point: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1access-points/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1_access_point: + operation: + $ref: '#/paths/~1networking~1v1~1access-points~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1_access_point: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1access-points~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1_access_point: + operation: + $ref: '#/paths/~1networking~1v1~1access-points~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/access_points/methods/get_networking_v1_access_point + - $ref: >- + #/components/x-stackQL-resources/access_points/methods/list_networking_v1_access_points + insert: + - $ref: >- + #/components/x-stackQL-resources/access_points/methods/create_networking_v1_access_point + update: + - $ref: >- + #/components/x-stackQL-resources/access_points/methods/update_networking_v1_access_point + delete: + - $ref: >- + #/components/x-stackQL-resources/access_points/methods/delete_networking_v1_access_point + replace: [] + dns_records: + id: confluent.networking.dns_records + name: dns_records + title: Dns Records + methods: + list_networking_v1_dns_records: + operation: + $ref: '#/paths/~1networking~1v1~1dns-records/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1_dns_record: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1dns-records/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1_dns_record: + operation: + $ref: '#/paths/~1networking~1v1~1dns-records~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1_dns_record: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1dns-records~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1_dns_record: + operation: + $ref: '#/paths/~1networking~1v1~1dns-records~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/dns_records/methods/get_networking_v1_dns_record + - $ref: >- + #/components/x-stackQL-resources/dns_records/methods/list_networking_v1_dns_records + insert: + - $ref: >- + #/components/x-stackQL-resources/dns_records/methods/create_networking_v1_dns_record + update: + - $ref: >- + #/components/x-stackQL-resources/dns_records/methods/update_networking_v1_dns_record + delete: + - $ref: >- + #/components/x-stackQL-resources/dns_records/methods/delete_networking_v1_dns_record + replace: [] + gateways: + id: confluent.networking.gateways + name: gateways + title: Gateways + methods: + list_networking_v1_gateways: + operation: + $ref: '#/paths/~1networking~1v1~1gateways/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_networking_v1_gateway: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1gateways/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_networking_v1_gateway: + operation: + $ref: '#/paths/~1networking~1v1~1gateways~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_networking_v1_gateway: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1networking~1v1~1gateways~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_networking_v1_gateway: + operation: + $ref: '#/paths/~1networking~1v1~1gateways~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/gateways/methods/get_networking_v1_gateway + - $ref: >- + #/components/x-stackQL-resources/gateways/methods/list_networking_v1_gateways + insert: + - $ref: >- + #/components/x-stackQL-resources/gateways/methods/create_networking_v1_gateway + update: + - $ref: >- + #/components/x-stackQL-resources/gateways/methods/update_networking_v1_gateway + delete: + - $ref: >- + #/components/x-stackQL-resources/gateways/methods/delete_networking_v1_gateway + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/notifications.yaml b/providers/src/confluent/v00.00.00000/services/notifications.yaml index 7c193826..b3cb52cc 100644 --- a/providers/src/confluent/v00.00.00000/services/notifications.yaml +++ b/providers/src/confluent/v00.00.00000/services/notifications.yaml @@ -1,1545 +1,8357 @@ openapi: 3.0.0 -servers: - - url: 'https://api.confluent.cloud' - description: Confluent Cloud API info: - version: '' - contact: - name: Confluent Cloud - url: 'https://www.confluent.io/cloud-contact-us/' - email: support@confluent.io - x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b - x-audience: external-public - x-logo: - url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' - title: Confluent Cloud APIs - notifications - description: notifications -tags: - - name: API Keys (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. - - The API allows you to list, create, update and delete your API Keys. - - - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - - ## The API Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - - name: Environments (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. + title: notifications API + description: confluent notifications API + version: 1.0.0 +paths: + /notifications/v1/subscriptions: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listNotificationsV1Subscriptions + summary: List of Subscriptions + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). + Retrieve a sorted, filtered, paginated list of all subscriptions. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 100 + maximum: 250 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Subscriptions (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Subscription. + content: + application/json: + schema: + type: object + description: >- + `Subscription` objects represent the intent of the customers + to get notifications of particular types. - ## The Environments Model - + A subscription is created for a particular `NotificationType` + and the user will get notifications on the - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + `Integrations` that are provided while creating the + subscription. - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - - name: Organizations (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). + This API allows you to create, retrieve, and update + subscriptions, - The API allows you to list, view, and update your organizations. + as well as to view the list of all your subscriptions. You can + also delete subscriptions + with RECOMMENDED or OPTIONAL notification types. Subscriptions + with REQUIRED notification types cannot be deleted. - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - ## The Organizations Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - - name: Users (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `User` objects represent individuals who may access your Confluent resources. + ## The Subscriptions Model - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - SubscriptionList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `Subscription` objects represent the intent of the + customers to get notifications of particular types. + + A subscription is created for a particular + `NotificationType` and the user will get notifications + on the + + `Integrations` that are provided while creating the + subscription. + + + This API allows you to create, retrieve, and update + subscriptions, + + as well as to view the list of all your subscriptions. + You can also delete subscriptions + + with RECOMMENDED or OPTIONAL notification types. + Subscriptions with REQUIRED notification types cannot be + deleted. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Subscriptions Model + + + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - Subscription + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + current_state: + type: string + x-extensible-enum: + - ENABLED + - DISABLED + description: > + Denotes the state of the subscription. When the + subscription is ENABLED, the user will receive + + notification on the configured Integrations. If the + subscription is DISABLED, the user will not + + recieve any notification for the configured + notification type. Note that, you cannot disable + + a subscription for `REQUIRED` notification type. + example: ENABLED + notification_type: + description: The type of notification to subscribe to. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + integrations: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: Integrations to which notifications are to be sent. + minItems: 1 + required: + - id + - metadata + - notification_type + - integrations + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createNotificationsV1Subscription + summary: Create a Subscription + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). + Make a request to create a subscription. + tags: + - Subscriptions (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `Subscription` objects represent the intent of the customers to + get notifications of particular types. + + A subscription is created for a particular `NotificationType` + and the user will get notifications on the + + `Integrations` that are provided while creating the + subscription. + + + This API allows you to create, retrieve, and update + subscriptions, + + as well as to view the list of all your subscriptions. You can + also delete subscriptions + + with RECOMMENDED or OPTIONAL notification types. Subscriptions + with REQUIRED notification types cannot be deleted. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Subscriptions Model + + + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Subscription + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + current_state: + type: string + x-extensible-enum: + - ENABLED + - DISABLED + description: > + Denotes the state of the subscription. When the subscription + is ENABLED, the user will receive + + notification on the configured Integrations. If the + subscription is DISABLED, the user will not + + recieve any notification for the configured notification + type. Note that, you cannot disable + + a subscription for `REQUIRED` notification type. + example: ENABLED + notification_type: + description: The type of notification to subscribe to. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + integrations: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: Integrations to which notifications are to be sent. + minItems: 1 + required: + - notification_type + - integrations + responses: + '201': + description: A Subscription was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: >- + https://api.confluent.cloud/notifications/v1/subscriptions/{id} + description: Subscription resource uri + content: + application/json: + schema: + type: object + description: >- + `Subscription` objects represent the intent of the customers + to get notifications of particular types. + + A subscription is created for a particular `NotificationType` + and the user will get notifications on the + + `Integrations` that are provided while creating the + subscription. + + + This API allows you to create, retrieve, and update + subscriptions, + + as well as to view the list of all your subscriptions. You can + also delete subscriptions + + with RECOMMENDED or OPTIONAL notification types. Subscriptions + with REQUIRED notification types cannot be deleted. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Subscriptions Model + + + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Subscription + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + current_state: + type: string + x-extensible-enum: + - ENABLED + - DISABLED + description: > + Denotes the state of the subscription. When the + subscription is ENABLED, the user will receive + + notification on the configured Integrations. If the + subscription is DISABLED, the user will not + + recieve any notification for the configured notification + type. Note that, you cannot disable + + a subscription for `REQUIRED` notification type. + example: ENABLED + notification_type: + description: The type of notification to subscribe to. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + integrations: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: Integrations to which notifications are to be sent. + minItems: 1 + required: + - notification_type + - integrations + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /notifications/v1/subscriptions/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getNotificationsV1Subscription + summary: Read a Subscription + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Users Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + Make a request to read a subscription. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the subscription. + tags: + - Subscriptions (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Subscription. + content: + application/json: + schema: + type: object + description: >- + `Subscription` objects represent the intent of the customers + to get notifications of particular types. + + A subscription is created for a particular `NotificationType` + and the user will get notifications on the + + `Integrations` that are provided while creating the + subscription. + + + This API allows you to create, retrieve, and update + subscriptions, + + as well as to view the list of all your subscriptions. You can + also delete subscriptions + + with RECOMMENDED or OPTIONAL notification types. Subscriptions + with REQUIRED notification types cannot be deleted. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Subscriptions Model + + + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Subscription + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + current_state: + type: string + x-extensible-enum: + - ENABLED + - DISABLED + description: > + Denotes the state of the subscription. When the + subscription is ENABLED, the user will receive + + notification on the configured Integrations. If the + subscription is DISABLED, the user will not + + recieve any notification for the configured notification + type. Note that, you cannot disable + + a subscription for `REQUIRED` notification type. + example: ENABLED + notification_type: + description: The type of notification to subscribe to. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + integrations: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: Integrations to which notifications are to be sent. + minItems: 1 + required: + - api_version + - kind + - id + - notification_type + - integrations + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateNotificationsV1Subscription + summary: Update a Subscription + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - - name: Service Accounts (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. + Make a request to update a subscription. - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the subscription. + tags: + - Subscriptions (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/notifications.v1.Subscription' + responses: + '200': + description: Subscription. + content: + application/json: + schema: + type: object + description: >- + `Subscription` objects represent the intent of the customers + to get notifications of particular types. + + A subscription is created for a particular `NotificationType` + and the user will get notifications on the + + `Integrations` that are provided while creating the + subscription. + + + This API allows you to create, retrieve, and update + subscriptions, + + as well as to view the list of all your subscriptions. You can + also delete subscriptions + + with RECOMMENDED or OPTIONAL notification types. Subscriptions + with REQUIRED notification types cannot be deleted. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Subscriptions Model + + + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Subscription + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + current_state: + type: string + x-extensible-enum: + - ENABLED + - DISABLED + description: > + Denotes the state of the subscription. When the + subscription is ENABLED, the user will receive + + notification on the configured Integrations. If the + subscription is DISABLED, the user will not + + recieve any notification for the configured notification + type. Note that, you cannot disable + + a subscription for `REQUIRED` notification type. + example: ENABLED + notification_type: + description: The type of notification to subscribe to. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + integrations: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: Integrations to which notifications are to be sent. + minItems: 1 + required: + - api_version + - kind + - id + - notification_type + - integrations + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteNotificationsV1Subscription + summary: Delete a Subscription + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). - - ## The Service Accounts Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - - name: Invitations (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. - - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. - - - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). - - ## The Invitations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - - name: IP Groups (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) - - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. - - - ## The IP Groups Model - - - name: IP Filters (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. - - - ## The IP Filters Model - - - name: Role Bindings (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A role binding grants a Principal a role on resources that match a pattern. - - The API allows you to perform create, delete, and list operations on role bindings. - - - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). - - ## The Role Bindings Model - - - name: Subscriptions (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. - - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Subscriptions Model - - - name: Integrations (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + Make a request to delete a subscription. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the subscription. + tags: + - Subscriptions (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Subscription is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /notifications/v1/integrations: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listNotificationsV1Integrations + summary: List of Integrations + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Integrations Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + Retrieve a sorted, filtered, paginated list of all integrations. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 100 + maximum: 250 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Integrations (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Integration. + content: + application/json: + schema: + type: object + description: >- + You can create an `Integration` to specify how we can notify + you when we receive an alert/notification for - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - - name: Notification Types (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + a subscription. Please note that you can only perform create, + update and delete operations for integrations - The type of notifications (and their corresponding metadata) supported by Confluent. + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, + update or delete integrations of type `RoleEmail` + and `UserEmail`. - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - ## The Notification Types Model - - - name: Clusters (cmk/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - The API allows you to list, create, read, update, and delete your Kafka clusters. + ## The Integrations Model - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + - ## The Clusters Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + ## Quotas and Limits - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - - name: Clusters (ksqldbcm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + | Quota | Description | - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + | --- | --- | - ## The Clusters Model - + | `integrations_per_org` | Maximum number of integrations in + one Confluent Cloud organization | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IntegrationList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + You can create an `Integration` to specify how we can + notify you when we receive an alert/notification for + + a subscription. Please note that you can only perform + create, update and delete operations for integrations + + of type `Webhook`, `Slack` and `MsTeams`. You cannot + create, update or delete integrations of type + `RoleEmail` + + and `UserEmail`. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Integrations Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `integrations_per_org` | Maximum number of + integrations in one Confluent Cloud organization | + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - Integration + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + display_name: + type: string + maxLength: 64 + description: | + A human readable name for the particular integration + example: Slack integration + description: + type: string + maxLength: 128 + description: > + A human readable description for the particular + integration + example: A Slack channel integration + target: + description: | + Integration-specific details (integration targets) + discriminator: + propertyName: kind + mapping: + Slack: >- + #/components/schemas/notifications.v1.SlackTarget + RoleEmail: >- + #/components/schemas/notifications.v1.RoleEmailTarget + UserEmail: >- + #/components/schemas/notifications.v1.UserEmailTarget + Webhook: >- + #/components/schemas/notifications.v1.WebhookTarget + MsTeams: >- + #/components/schemas/notifications.v1.MsTeamsTarget + example: + kind: Slack + webhook_url: https://hooks.slack.com/services/{id}/{id}/{id} + type: object + required: + - kind + - webhook_url + - role_name + - user + - url + properties: + kind: + type: string + enum: + - Slack + description: Integration Type + example: Slack + webhook_url: + type: string + format: uri + description: >- + Slack Webhook URL for the particular Slack + channel + example: https://hooks.slack.com/services/{id}/{id}/{id} + role_name: + type: string + description: name of the role + example: OrganizationAdmin + user: + description: Reference to the user + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the + referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + url: + type: string + format: uri + description: URL endpoint for the webhook + example: https://my.webhook.url/{id} + required: + - id + - metadata + - display_name + - target + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createNotificationsV1Integration + summary: Create an Integration + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## Quotas and Limits - This resource is subject to the following quotas: - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - - name: Connectors (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to create an integration. + tags: + - Integrations (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + You can create an `Integration` to specify how we can notify you + when we receive an alert/notification for + + a subscription. Please note that you can only perform create, + update and delete operations for integrations + + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, + update or delete integrations of type `RoleEmail` + + and `UserEmail`. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Integrations Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `integrations_per_org` | Maximum number of integrations in one + Confluent Cloud organization | + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Integration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + display_name: + type: string + maxLength: 64 + description: | + A human readable name for the particular integration + example: Slack integration + description: + type: string + maxLength: 128 + description: | + A human readable description for the particular integration + example: A Slack channel integration + target: + description: | + Integration-specific details (integration targets) + discriminator: + propertyName: kind + mapping: + Slack: '#/components/schemas/notifications.v1.SlackTarget' + RoleEmail: '#/components/schemas/notifications.v1.RoleEmailTarget' + UserEmail: '#/components/schemas/notifications.v1.UserEmailTarget' + Webhook: '#/components/schemas/notifications.v1.WebhookTarget' + MsTeams: '#/components/schemas/notifications.v1.MsTeamsTarget' + example: + kind: Slack + webhook_url: https://hooks.slack.com/services/{id}/{id}/{id} + type: object + required: + - kind + - webhook_url + - role_name + - user + - url + properties: + kind: + type: string + enum: + - Slack + description: Integration Type + example: Slack + webhook_url: + type: string + format: uri + description: Slack Webhook URL for the particular Slack channel + example: https://hooks.slack.com/services/{id}/{id}/{id} + role_name: + type: string + description: name of the role + example: OrganizationAdmin + user: + description: Reference to the user + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + url: + type: string + format: uri + description: URL endpoint for the webhook + example: https://my.webhook.url/{id} + required: + - display_name + - target + responses: + '201': + description: An Integration was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/notifications/v1/integrations/{id} + description: Integration resource uri + content: + application/json: + schema: + type: object + description: >- + You can create an `Integration` to specify how we can notify + you when we receive an alert/notification for + + a subscription. Please note that you can only perform create, + update and delete operations for integrations + + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, + update or delete integrations of type `RoleEmail` + + and `UserEmail`. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Integrations Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `integrations_per_org` | Maximum number of integrations in + one Confluent Cloud organization | + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Integration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + maxLength: 64 + description: | + A human readable name for the particular integration + example: Slack integration + description: + type: string + maxLength: 128 + description: > + A human readable description for the particular + integration + example: A Slack channel integration + target: + description: | + Integration-specific details (integration targets) + discriminator: + propertyName: kind + mapping: + Slack: '#/components/schemas/notifications.v1.SlackTarget' + RoleEmail: '#/components/schemas/notifications.v1.RoleEmailTarget' + UserEmail: '#/components/schemas/notifications.v1.UserEmailTarget' + Webhook: '#/components/schemas/notifications.v1.WebhookTarget' + MsTeams: '#/components/schemas/notifications.v1.MsTeamsTarget' + example: + kind: Slack + webhook_url: https://hooks.slack.com/services/{id}/{id}/{id} + type: object + required: + - kind + - webhook_url + - role_name + - user + - url + properties: + kind: + type: string + enum: + - Slack + description: Integration Type + example: Slack + webhook_url: + type: string + format: uri + description: Slack Webhook URL for the particular Slack channel + example: https://hooks.slack.com/services/{id}/{id}/{id} + role_name: + type: string + description: name of the role + example: OrganizationAdmin + user: + description: Reference to the user + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + url: + type: string + format: uri + description: URL endpoint for the webhook + example: https://my.webhook.url/{id} + required: + - display_name + - target + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /notifications/v1/integrations/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getNotificationsV1Integration + summary: Read an Integration + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for Managed Connectors or Custom Connectors in Confluent Cloud. - The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + Make a request to read an integration. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the integration. + tags: + - Integrations (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Integration. + content: + application/json: + schema: + type: object + description: >- + You can create an `Integration` to specify how we can notify + you when we receive an alert/notification for + + a subscription. Please note that you can only perform create, + update and delete operations for integrations + + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, + update or delete integrations of type `RoleEmail` + + and `UserEmail`. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Integrations Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `integrations_per_org` | Maximum number of integrations in + one Confluent Cloud organization | + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Integration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + maxLength: 64 + description: | + A human readable name for the particular integration + example: Slack integration + description: + type: string + maxLength: 128 + description: > + A human readable description for the particular + integration + example: A Slack channel integration + target: + description: | + Integration-specific details (integration targets) + discriminator: + propertyName: kind + mapping: + Slack: '#/components/schemas/notifications.v1.SlackTarget' + RoleEmail: '#/components/schemas/notifications.v1.RoleEmailTarget' + UserEmail: '#/components/schemas/notifications.v1.UserEmailTarget' + Webhook: '#/components/schemas/notifications.v1.WebhookTarget' + MsTeams: '#/components/schemas/notifications.v1.MsTeamsTarget' + example: + kind: Slack + webhook_url: https://hooks.slack.com/services/{id}/{id}/{id} + type: object + required: + - kind + - webhook_url + - role_name + - user + - url + properties: + kind: + type: string + enum: + - Slack + description: Integration Type + example: Slack + webhook_url: + type: string + format: uri + description: Slack Webhook URL for the particular Slack channel + example: https://hooks.slack.com/services/{id}/{id}/{id} + role_name: + type: string + description: name of the role + example: OrganizationAdmin + user: + description: Reference to the user + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + url: + type: string + format: uri + description: URL endpoint for the webhook + example: https://my.webhook.url/{id} + required: + - api_version + - kind + - id + - display_name + - target + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateNotificationsV1Integration + summary: Update an Integration + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). - Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - name: Lifecycle (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to update an integration. - API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. - - name: Status (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. - - name: Managed Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for Managed connectors in Confluent Cloud. - - name: Offsets (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the offsets for a Managed Connector. - - Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) - - name: Custom Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Custom Connector Plugins Model - - - name: Presigned Urls (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the integration. + tags: + - Integrations (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/notifications.v1.Integration' + responses: + '200': + description: Integration. + content: + application/json: + schema: + type: object + description: >- + You can create an `Integration` to specify how we can notify + you when we receive an alert/notification for + + a subscription. Please note that you can only perform create, + update and delete operations for integrations + + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, + update or delete integrations of type `RoleEmail` + + and `UserEmail`. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Integrations Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `integrations_per_org` | Maximum number of integrations in + one Confluent Cloud organization | + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Integration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + maxLength: 64 + description: | + A human readable name for the particular integration + example: Slack integration + description: + type: string + maxLength: 128 + description: > + A human readable description for the particular + integration + example: A Slack channel integration + target: + description: | + Integration-specific details (integration targets) + discriminator: + propertyName: kind + mapping: + Slack: '#/components/schemas/notifications.v1.SlackTarget' + RoleEmail: '#/components/schemas/notifications.v1.RoleEmailTarget' + UserEmail: '#/components/schemas/notifications.v1.UserEmailTarget' + Webhook: '#/components/schemas/notifications.v1.WebhookTarget' + MsTeams: '#/components/schemas/notifications.v1.MsTeamsTarget' + example: + kind: Slack + webhook_url: https://hooks.slack.com/services/{id}/{id}/{id} + type: object + required: + - kind + - webhook_url + - role_name + - user + - url + properties: + kind: + type: string + enum: + - Slack + description: Integration Type + example: Slack + webhook_url: + type: string + format: uri + description: Slack Webhook URL for the particular Slack channel + example: https://hooks.slack.com/services/{id}/{id}/{id} + role_name: + type: string + description: name of the role + example: OrganizationAdmin + user: + description: Reference to the user + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + url: + type: string + format: uri + description: URL endpoint for the webhook + example: https://my.webhook.url/{id} + required: + - api_version + - kind + - id + - display_name + - target + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteNotificationsV1Integration + summary: Delete an Integration + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Presigned Urls Model - - - name: Cluster (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Configs (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: ACL (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Consumer Group (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Partition (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Topic (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Records (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Cluster Linking (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Applied Quotas (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to delete an integration. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the integration. + tags: + - Integrations (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: An Integration is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /notifications/v1/integrations:test: + post: + summary: Test a Webhook, Slack or Microsoft Teams integration + description: > + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. + Sends a test notification to validate the integration. This is supported + only for Webhook, Slack - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + and MsTeams targets + requestBody: + content: + application/json: + schema: + type: object + description: >- + You can create an `Integration` to specify how we can notify you + when we receive an alert/notification for + + a subscription. Please note that you can only perform create, + update and delete operations for integrations + + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, + update or delete integrations of type `RoleEmail` + + and `UserEmail`. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Integrations Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `integrations_per_org` | Maximum number of integrations in one + Confluent Cloud organization | + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Integration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + display_name: + type: string + maxLength: 64 + description: | + A human readable name for the particular integration + example: Slack integration + description: + type: string + maxLength: 128 + description: | + A human readable description for the particular integration + example: A Slack channel integration + target: + description: | + Integration-specific details (integration targets) + discriminator: + propertyName: kind + mapping: + Slack: '#/components/schemas/notifications.v1.SlackTarget' + RoleEmail: '#/components/schemas/notifications.v1.RoleEmailTarget' + UserEmail: '#/components/schemas/notifications.v1.UserEmailTarget' + Webhook: '#/components/schemas/notifications.v1.WebhookTarget' + MsTeams: '#/components/schemas/notifications.v1.MsTeamsTarget' + example: + kind: Slack + webhook_url: https://hooks.slack.com/services/{id}/{id}/{id} + type: object + required: + - kind + - webhook_url + - role_name + - user + - url + properties: + kind: + type: string + enum: + - Slack + description: Integration Type + example: Slack + webhook_url: + type: string + format: uri + description: Slack Webhook URL for the particular Slack channel + example: https://hooks.slack.com/services/{id}/{id}/{id} + role_name: + type: string + description: name of the role + example: OrganizationAdmin + user: + description: Reference to the user + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + url: + type: string + format: uri + description: URL endpoint for the webhook + example: https://my.webhook.url/{id} + required: + - display_name + - target + x-lifecycle-stage: General Availability + x-self-access: true + x-name: notifications.v1.Integration + operationId: testNotificationsV1Integration + tags: + - Integrations (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: Notification sent to test integration. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /notifications/v1/notification-types/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getNotificationsV1NotificationType + summary: Read a Notification Type + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Applied Quotas Model - - - name: Scopes (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Gets a list of all available scopes for applied quotas. + Make a request to read a notification type. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the notification type. + tags: + - Notification Types (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Notification Type. + content: + application/json: + schema: + type: object + description: >- + The type of notifications (and their corresponding metadata) + supported by Confluent. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Notification Types Model + + + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NotificationType + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + description: | + Human readable display name of the notification type + example: Cluster Shrink + category: + type: string + x-extensible-enum: + - BILLING_LICENSING + - SECURITY + - SERVICE + - ACCOUNT + description: > + Represents the group with which the notification is + associated. + + Notifications are grouped under certain categories for + better organization. + + - BILLING_LICENSING: All billing, payments or licensing + related notifications are grouped here. + + - SECURITY: All Confluent Cloud and Platform security + related notifications are grouped here. + + - SERVICE: All Confluent services (eg. Kafka, Schema + Registry, Connect etc.) related notifications are + grouped here. + - ACCOUNT: All Confluent account related notifications are + grouped here. + + For example: Billing, payment or license related + notifications are grouped in BILLING_LICENSING category. + example: BILLING_LICENSING + description: + type: string + description: | + Human readable description of the notification type + example: Cluster shrink operation is completed + subscription_priority: + type: string + x-extensible-enum: + - REQUIRED + - RECOMMENDED + - OPTIONAL + description: > + Indicates whether the notification is auto-subscribed and + if the user can opt-out. + + - REQUIRED: the user is auto-subscribed to this + notification and can't opt-out. + + - RECOMMENDED: the user is auto-subscribed to this + notification and can opt-out. + + - OPTIONAL: the user is not auto-subscribed to this + notification but can explicitly subscribe to it. + example: REQUIRED + is_included_in_plan: + type: boolean + description: | + Whether this notification is available to subscribe or not + as per the user's current billing plan. + severity: + type: string + x-extensible-enum: + - CRITICAL + - WARN + - INFO + description: > + Severity indicates the impact of this notification. + + - CRITICAL: a high impact notification which needs + immediate attention. + + - WARN: a warning notification which can be addressed now + or later. + + - INFO: an informational notification. + example: INFO + required: + - api_version + - kind + - id + - display_name + - category + - description + - subscription_priority + - is_included_in_plan + - severity + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /notifications/v1/notification-types: + get: + summary: Retrieve a list of all notification types for the resource type. + parameters: + - name: resource_type + description: Confluent Cloud resource type + in: query + required: false + schema: + type: string + x-extensible-enum: + - ENVIRONMENT + - CLUSTER + - CONNECTOR + - FLINK_COMPUTE_POOL + - FLINK_STATEMENT + - name: page_size + in: query + required: false + schema: + type: integer + default: 100 + maximum: 250 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listNotificationsV1NotificationTypes + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + Make a request to list_by_resource_type a notification type. + tags: + - Notification Types (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: List of Notification Type. + content: + application/json: + schema: + type: object + description: >- + The type of notifications (and their corresponding metadata) + supported by Confluent. - ## The Scopes Model - - - name: Entitlements (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - `Entitlement` objects represent metadata about a marketplace entitlement. - An entitlement includes metadata about a marketplace purchase - (start date, end date, billing information, partner IDs, etc). - The API allows partners to create, read, and list entitlements. (Unless you - need entitlement creation and customer registration to be separate, - we recommend using the Signup API to create an organization and entitlement - at the same time) + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - The API only allows authorized partners to interact with the Entitlements API. - - name: Regions (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. + ## The Notification Types Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NotificationTypeList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + The type of notifications (and their corresponding + metadata) supported by Confluent. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Notification Types Model + + + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - NotificationType + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + display_name: + type: string + description: | + Human readable display name of the notification type + example: Cluster Shrink + category: + type: string + x-extensible-enum: + - BILLING_LICENSING + - SECURITY + - SERVICE + - ACCOUNT + description: > + Represents the group with which the notification is + associated. + + Notifications are grouped under certain categories + for better organization. + + - BILLING_LICENSING: All billing, payments or + licensing related notifications are grouped here. + + - SECURITY: All Confluent Cloud and Platform + security related notifications are grouped here. + + - SERVICE: All Confluent services (eg. Kafka, Schema + Registry, Connect etc.) related notifications are + grouped here. + - ACCOUNT: All Confluent account related + notifications are grouped here. + + For example: Billing, payment or license related + notifications are grouped in BILLING_LICENSING + category. + example: BILLING_LICENSING + description: + type: string + description: | + Human readable description of the notification type + example: Cluster shrink operation is completed + subscription_priority: + type: string + x-extensible-enum: + - REQUIRED + - RECOMMENDED + - OPTIONAL + description: > + Indicates whether the notification is + auto-subscribed and if the user can opt-out. + + - REQUIRED: the user is auto-subscribed to this + notification and can't opt-out. + + - RECOMMENDED: the user is auto-subscribed to this + notification and can opt-out. + + - OPTIONAL: the user is not auto-subscribed to this + notification but can explicitly subscribe to it. + example: REQUIRED + is_included_in_plan: + type: boolean + description: > + Whether this notification is available to subscribe + or not + + as per the user's current billing plan. + severity: + type: string + x-extensible-enum: + - CRITICAL + - WARN + - INFO + description: > + Severity indicates the impact of this notification. + + - CRITICAL: a high impact notification which needs + immediate attention. + + - WARN: a warning notification which can be + addressed now or later. + + - INFO: an informational notification. + example: INFO + required: + - id + - metadata + - display_name + - category + - description + - subscription_priority + - is_included_in_plan + - severity + uniqueItems: true + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /notifications/v1/resource-preferences: + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createNotificationsV1ResourcePreference + summary: Create a Resource Preference + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + Make a request to create a resource preference. + tags: + - Resource Preferences (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `ResourcePreference` objects represent the intent of the + customers to enable or disable all notifications + + at the resource level. A ResourcePreference is created for a + specific Confluent Cloud Resource + + (e.g., a connector) and determines whether the user will receive + notifications for that resource. + + + This API allows you to create, retrieve, update and delete + resourcePreferences. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Resource Preferences Model + + + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ResourcePreference + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + resource: + type: string + description: Denotes the Confluent Cloud resource definition. + example: >- + environment=env-456xy/cloud-cluster=lkc-df123/connector=my_datagen_connector + resource_type: + type: string + x-extensible-enum: + - ORGANIZATION + - ENVIRONMENT + - CLUSTER + - CONNECTOR + - FLINK_COMPUTE_POOL + - FLINK_STATEMENT + description: Denotes the Confluent Cloud resource type. + example: CONNECTOR + current_state: + type: string + x-extensible-enum: + - ENABLED + - DISABLED + description: > + Denotes the state of the resource preference. When the + resource preference is ENABLED, the user will receive + + notifications for the Confluent Cloud resource. If the + resource preference is DISABLED, the user will not + + receive any notification for the resource. + + Note that, you will still receive notifications for + `REQUIRED` notification type even when it is DISABLED. + example: ENABLED + required: + - resource + - resource_type + responses: + '201': + description: A Resource Preference was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: >- + https://api.confluent.cloud/notifications/v1/resource-preferences/{id} + description: ResourcePreference resource uri + content: + application/json: + schema: + type: object + description: >- + `ResourcePreference` objects represent the intent of the + customers to enable or disable all notifications + + at the resource level. A ResourcePreference is created for a + specific Confluent Cloud Resource + + (e.g., a connector) and determines whether the user will + receive notifications for that resource. + + + This API allows you to create, retrieve, update and delete + resourcePreferences. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Resource Preferences Model + + + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ResourcePreference + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + resource: + type: string + description: Denotes the Confluent Cloud resource definition. + example: >- + environment=env-456xy/cloud-cluster=lkc-df123/connector=my_datagen_connector + resource_type: + type: string + x-extensible-enum: + - ORGANIZATION + - ENVIRONMENT + - CLUSTER + - CONNECTOR + - FLINK_COMPUTE_POOL + - FLINK_STATEMENT + description: Denotes the Confluent Cloud resource type. + example: CONNECTOR + current_state: + type: string + x-extensible-enum: + - ENABLED + - DISABLED + description: > + Denotes the state of the resource preference. When the + resource preference is ENABLED, the user will receive + + notifications for the Confluent Cloud resource. If the + resource preference is DISABLED, the user will not + + receive any notification for the resource. + + Note that, you will still receive notifications for + `REQUIRED` notification type even when it is DISABLED. + example: ENABLED + required: + - resource + - resource_type + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /notifications/v1/resource-preferences/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getNotificationsV1ResourcePreference + summary: Read a Resource Preference + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Regions Model - - - name: Clusters (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - The API allows you to list, create, read, and delete your Schema Registry clusters. + Make a request to read a resource preference. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the resource preference. + tags: + - Resource Preferences (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Resource Preference. + content: + application/json: + schema: + type: object + description: >- + `ResourcePreference` objects represent the intent of the + customers to enable or disable all notifications + + at the resource level. A ResourcePreference is created for a + specific Confluent Cloud Resource + + (e.g., a connector) and determines whether the user will + receive notifications for that resource. + + + This API allows you to create, retrieve, update and delete + resourcePreferences. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Resource Preferences Model + + + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ResourcePreference + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + resource: + type: string + description: Denotes the Confluent Cloud resource definition. + example: >- + environment=env-456xy/cloud-cluster=lkc-df123/connector=my_datagen_connector + resource_type: + type: string + x-extensible-enum: + - ORGANIZATION + - ENVIRONMENT + - CLUSTER + - CONNECTOR + - FLINK_COMPUTE_POOL + - FLINK_STATEMENT + description: Denotes the Confluent Cloud resource type. + example: CONNECTOR + current_state: + type: string + x-extensible-enum: + - ENABLED + - DISABLED + description: > + Denotes the state of the resource preference. When the + resource preference is ENABLED, the user will receive + + notifications for the Confluent Cloud resource. If the + resource preference is DISABLED, the user will not + + receive any notification for the resource. + + Note that, you will still receive notifications for + `REQUIRED` notification type even when it is DISABLED. + example: ENABLED + required: + - api_version + - kind + - id + - resource + - resource_type + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateNotificationsV1ResourcePreference + summary: Update a Resource Preference + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + Make a request to update a resource preference. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the resource preference. + tags: + - Resource Preferences (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/notifications.v1.ResourcePreference' + responses: + '200': + description: Resource Preference. + content: + application/json: + schema: + type: object + description: >- + `ResourcePreference` objects represent the intent of the + customers to enable or disable all notifications + + at the resource level. A ResourcePreference is created for a + specific Confluent Cloud Resource + + (e.g., a connector) and determines whether the user will + receive notifications for that resource. + + + This API allows you to create, retrieve, update and delete + resourcePreferences. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Resource Preferences Model + + + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ResourcePreference + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + resource: + type: string + description: Denotes the Confluent Cloud resource definition. + example: >- + environment=env-456xy/cloud-cluster=lkc-df123/connector=my_datagen_connector + resource_type: + type: string + x-extensible-enum: + - ORGANIZATION + - ENVIRONMENT + - CLUSTER + - CONNECTOR + - FLINK_COMPUTE_POOL + - FLINK_STATEMENT + description: Denotes the Confluent Cloud resource type. + example: CONNECTOR + current_state: + type: string + x-extensible-enum: + - ENABLED + - DISABLED + description: > + Denotes the state of the resource preference. When the + resource preference is ENABLED, the user will receive + + notifications for the Confluent Cloud resource. If the + resource preference is DISABLED, the user will not + + receive any notification for the resource. + + Note that, you will still receive notifications for + `REQUIRED` notification type even when it is DISABLED. + example: ENABLED + required: + - api_version + - kind + - id + - resource + - resource_type + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteNotificationsV1ResourcePreference + summary: Delete a Resource Preference + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Clusters Model - - - name: Clusters (srcm/v3) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + Make a request to delete a resource preference. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the resource preference. + tags: + - Resource Preferences (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Resource Preference is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /notifications/v1/resource-preferences:lookup: + get: + summary: Lookup a resource preference by filter (returns one) + parameters: + - name: resource + description: Confluent Cloud resource definition + in: query + required: true + schema: + type: string + - name: resource_type + description: Confluent Cloud resource type + in: query + required: true + schema: + type: string + x-extensible-enum: + - ORGANIZATION + - ENVIRONMENT + - CLUSTER + - CONNECTOR + - FLINK_COMPUTE_POOL + - FLINK_STATEMENT + - name: page_size + in: query + required: false + schema: + type: integer + default: 100 + maximum: 250 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + x-lifecycle-stage: General Availability + x-self-access: true + x-name: notifications.v1.ResourcePreference + operationId: getNotificationsV1ResourcePreferenceByFilter + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to list and read your Schema Registry clusters. + Make a request to read_by_filter a resource preference. + tags: + - Resource Preferences (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Resource Preference. + content: + application/json: + schema: + type: object + description: >- + `ResourcePreference` objects represent the intent of the + customers to enable or disable all notifications + + at the resource level. A ResourcePreference is created for a + specific Confluent Cloud Resource + + (e.g., a connector) and determines whether the user will + receive notifications for that resource. + + + This API allows you to create, retrieve, update and delete + resourcePreferences. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Resource Preferences Model + + + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ResourcePreference + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + resource: + type: string + description: Denotes the Confluent Cloud resource definition. + example: >- + environment=env-456xy/cloud-cluster=lkc-df123/connector=my_datagen_connector + resource_type: + type: string + x-extensible-enum: + - ORGANIZATION + - ENVIRONMENT + - CLUSTER + - CONNECTOR + - FLINK_COMPUTE_POOL + - FLINK_STATEMENT + description: Denotes the Confluent Cloud resource type. + example: CONNECTOR + current_state: + type: string + x-extensible-enum: + - ENABLED + - DISABLED + description: > + Denotes the state of the resource preference. When the + resource preference is ENABLED, the user will receive + + notifications for the Confluent Cloud resource. If the + resource preference is DISABLED, the user will not + + receive any notification for the resource. + + Note that, you will still receive notifications for + `REQUIRED` notification type even when it is DISABLED. + example: ENABLED + required: + - api_version + - kind + - id + - resource + - resource_type + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /notifications/v1/resource-subscriptions: + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createNotificationsV1ResourceSubscription + summary: Create a Resource Subscription + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - ## The Clusters Model - - - name: Compatibility (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to create a resource subscription. + tags: + - Resource Subscriptions (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `ResourceSubscription` objects represent the intent of the + customers to get notifications of particular types + + at the resource level. A ResourceSubscription is created for a + specific Confluent Cloud Resource + + (e.g., a connector) and determines whether the user will receive + notifications for that resource. + + + This API allows you to create, retrieve, update, delete and list + ResourceSubscription. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Resource Subscriptions Model + + + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ResourceSubscription + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + resource: + type: string + description: Denotes the Confluent Cloud resource definition. + example: >- + environment=env-456xy/cloud-cluster=lkc-df123/connector=my_datagen_connector + resource_type: + type: string + x-extensible-enum: + - ENVIRONMENT + - CLUSTER + - CONNECTOR + - FLINK_COMPUTE_POOL + - FLINK_STATEMENT + description: Denotes the Confluent Cloud resource type. + example: CONNECTOR + current_state: + type: string + x-extensible-enum: + - ENABLED + - DISABLED + description: > + Denotes the state of the resource preference. When the + resource preference is ENABLED, the user will receive + + notifications for the Confluent Cloud resource. If the + resource preference is DISABLED, the user will not + + receive any notification for the resource. + + Note that, you will still receive notifications for + `REQUIRED` notification type even when it is DISABLED. + example: ENABLED + notification_type: + description: The type of notification to subscribe to. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + integrations: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: Integrations to which notifications are to be sent. + minItems: 1 + required: + - resource + - resource_type + - notification_type + - integrations + responses: + '201': + description: A Resource Subscription was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: >- + https://api.confluent.cloud/notifications/v1/resource-subscriptions/{id} + description: ResourceSubscription resource uri + content: + application/json: + schema: + type: object + description: >- + `ResourceSubscription` objects represent the intent of the + customers to get notifications of particular types + + at the resource level. A ResourceSubscription is created for a + specific Confluent Cloud Resource + + (e.g., a connector) and determines whether the user will + receive notifications for that resource. + + + This API allows you to create, retrieve, update, delete and + list ResourceSubscription. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Resource Subscriptions Model + + + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ResourceSubscription + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + resource: + type: string + description: Denotes the Confluent Cloud resource definition. + example: >- + environment=env-456xy/cloud-cluster=lkc-df123/connector=my_datagen_connector + resource_type: + type: string + x-extensible-enum: + - ENVIRONMENT + - CLUSTER + - CONNECTOR + - FLINK_COMPUTE_POOL + - FLINK_STATEMENT + description: Denotes the Confluent Cloud resource type. + example: CONNECTOR + current_state: + type: string + x-extensible-enum: + - ENABLED + - DISABLED + description: > + Denotes the state of the resource preference. When the + resource preference is ENABLED, the user will receive + + notifications for the Confluent Cloud resource. If the + resource preference is DISABLED, the user will not + + receive any notification for the resource. + + Note that, you will still receive notifications for + `REQUIRED` notification type even when it is DISABLED. + example: ENABLED + notification_type: + description: The type of notification to subscribe to. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + integrations: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: Integrations to which notifications are to be sent. + minItems: 1 + required: + - resource + - resource_type + - notification_type + - integrations + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /notifications/v1/resource-subscriptions/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getNotificationsV1ResourceSubscription + summary: Read a Resource Subscription + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to test schema compatibility. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Config (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to read a resource subscription. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the resource subscription. + tags: + - Resource Subscriptions (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Resource Subscription. + content: + application/json: + schema: + type: object + description: >- + `ResourceSubscription` objects represent the intent of the + customers to get notifications of particular types + + at the resource level. A ResourceSubscription is created for a + specific Confluent Cloud Resource + + (e.g., a connector) and determines whether the user will + receive notifications for that resource. + + + This API allows you to create, retrieve, update, delete and + list ResourceSubscription. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Resource Subscriptions Model + + + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ResourceSubscription + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + resource: + type: string + description: Denotes the Confluent Cloud resource definition. + example: >- + environment=env-456xy/cloud-cluster=lkc-df123/connector=my_datagen_connector + resource_type: + type: string + x-extensible-enum: + - ENVIRONMENT + - CLUSTER + - CONNECTOR + - FLINK_COMPUTE_POOL + - FLINK_STATEMENT + description: Denotes the Confluent Cloud resource type. + example: CONNECTOR + current_state: + type: string + x-extensible-enum: + - ENABLED + - DISABLED + description: > + Denotes the state of the resource preference. When the + resource preference is ENABLED, the user will receive + + notifications for the Confluent Cloud resource. If the + resource preference is DISABLED, the user will not + + receive any notification for the resource. + + Note that, you will still receive notifications for + `REQUIRED` notification type even when it is DISABLED. + example: ENABLED + notification_type: + description: The type of notification to subscribe to. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + integrations: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: Integrations to which notifications are to be sent. + minItems: 1 + required: + - api_version + - kind + - id + - resource + - resource_type + - notification_type + - integrations + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateNotificationsV1ResourceSubscription + summary: Update a Resource Subscription + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to manage and query schema compatibility settings and cluster configurations. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Contexts (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to update a resource subscription. - The API allows you to retrieve information about schema contexts. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the resource subscription. + tags: + - Resource Subscriptions (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/notifications.v1.ResourceSubscription' + responses: + '200': + description: Resource Subscription. + content: + application/json: + schema: + type: object + description: >- + `ResourceSubscription` objects represent the intent of the + customers to get notifications of particular types + + at the resource level. A ResourceSubscription is created for a + specific Confluent Cloud Resource + + (e.g., a connector) and determines whether the user will + receive notifications for that resource. + + + This API allows you to create, retrieve, update, delete and + list ResourceSubscription. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Resource Subscriptions Model + + + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ResourceSubscription + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + resource: + type: string + description: Denotes the Confluent Cloud resource definition. + example: >- + environment=env-456xy/cloud-cluster=lkc-df123/connector=my_datagen_connector + resource_type: + type: string + x-extensible-enum: + - ENVIRONMENT + - CLUSTER + - CONNECTOR + - FLINK_COMPUTE_POOL + - FLINK_STATEMENT + description: Denotes the Confluent Cloud resource type. + example: CONNECTOR + current_state: + type: string + x-extensible-enum: + - ENABLED + - DISABLED + description: > + Denotes the state of the resource preference. When the + resource preference is ENABLED, the user will receive + + notifications for the Confluent Cloud resource. If the + resource preference is DISABLED, the user will not + + receive any notification for the resource. + + Note that, you will still receive notifications for + `REQUIRED` notification type even when it is DISABLED. + example: ENABLED + notification_type: + description: The type of notification to subscribe to. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + integrations: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: Integrations to which notifications are to be sent. + minItems: 1 + required: + - api_version + - kind + - id + - resource + - resource_type + - notification_type + - integrations + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteNotificationsV1ResourceSubscription + summary: Delete a Resource Subscription + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Exporters (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete exporters. + Make a request to delete a resource subscription. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the resource subscription. + tags: + - Resource Subscriptions (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Resource Subscription is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /notifications/v1/resource-subscriptions:lookup: + get: + summary: Lookup a list of resource subscription by filter + parameters: + - name: resource + description: Confluent Cloud resource definition + in: query + required: true + schema: + type: string + - name: resource_type + description: Confluent Cloud resource type + in: query + required: true + schema: + type: string + x-extensible-enum: + - ENVIRONMENT + - CLUSTER + - CONNECTOR + - FLINK_COMPUTE_POOL + - FLINK_STATEMENT + - name: page_size + in: query + required: false + schema: + type: integer + default: 100 + maximum: 250 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listNotificationsV1ResourceSubscriptionsByFilter + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Modes (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + Make a request to list_by_filter a resource subscription. + tags: + - Resource Subscriptions (notifications/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: List of ResourceSubscriptions + content: + application/json: + schema: + type: object + description: >- + `ResourceSubscription` objects represent the intent of the + customers to get notifications of particular types - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Schemas (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + at the resource level. A ResourceSubscription is created for a + specific Confluent Cloud Resource - The API allows you to create, retrieve, update, and delete schemas. + (e.g., a connector) and determines whether the user will + receive notifications for that resource. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Subjects (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete schema subjects and versions. + This API allows you to create, retrieve, update, delete and + list ResourceSubscription. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Key Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete key encryption keys. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Data Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - The API allows you to create, retrieve, update, and delete data encryption keys. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Entity (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Resource Subscriptions Model - The API allows you to create, retrieve, update, and delete catalog entities. + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ResourceSubscriptionList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `ResourceSubscription` objects represent the intent of + the customers to get notifications of particular types + + at the resource level. A ResourceSubscription is created + for a specific Confluent Cloud Resource + + (e.g., a connector) and determines whether the user will + receive notifications for that resource. + + + This API allows you to create, retrieve, update, delete + and list ResourceSubscription. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Resource Subscriptions Model + + + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - ResourceSubscription + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + resource: + type: string + description: Denotes the Confluent Cloud resource definition. + example: >- + environment=env-456xy/cloud-cluster=lkc-df123/connector=my_datagen_connector + resource_type: + type: string + x-extensible-enum: + - ENVIRONMENT + - CLUSTER + - CONNECTOR + - FLINK_COMPUTE_POOL + - FLINK_STATEMENT + description: Denotes the Confluent Cloud resource type. + example: CONNECTOR + current_state: + type: string + x-extensible-enum: + - ENABLED + - DISABLED + description: > + Denotes the state of the resource preference. When + the resource preference is ENABLED, the user will + receive + + notifications for the Confluent Cloud resource. If + the resource preference is DISABLED, the user will + not + + receive any notification for the resource. + + Note that, you will still receive notifications for + `REQUIRED` notification type even when it is + DISABLED. + example: ENABLED + notification_type: + description: The type of notification to subscribe to. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + integrations: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: Integrations to which notifications are to be sent. + minItems: 1 + required: + - id + - metadata + - resource + - resource_type + - notification_type + - integrations + uniqueItems: true + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true +components: + schemas: + notifications.v1.SubscriptionList: + type: object + description: >- + `Subscription` objects represent the intent of the customers to get + notifications of particular types. - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Search (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + A subscription is created for a particular `NotificationType` and the + user will get notifications on the - The API allows you to search for entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Types (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Provider Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. - - - ## The Provider Shared Resources Model - - - name: Provider Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderShare` object respresents the share that you have created through Stream Sharing. - - - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). - - ## The Provider Shares Model - - - name: Consumer Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. - - - ## The Consumer Shared Resources Model - - - name: Consumer Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerShare` object respresents the share that you received through Stream Sharing. - - - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). - - ## The Consumer Shares Model - - - name: Shared Tokens (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Encrypted Token shared with consumer - - - ## The Shared Tokens Model - - - name: Opt Ins (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Stream sharing opt in options - - ## The Opt Ins Model - - - name: Organizations (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Organizations` objects represent an entire Confluent Cloud organization. - Partners are allowed to get an organization they have signed up or - list all organizations they have signed up. - - name: Signup (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Signup` APIs can only be performed by partners. - - name: Networks (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. - - The API allows you to list, create, read, update, and delete your networks. - - - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - - ## The Networks Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - - name: Peerings (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - - - ## The Peerings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - - name: Transit Gateway Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AWS Transit Gateway Attachments - - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - - ## The Transit Gateway Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - - name: Private Link Accesses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. - - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). - - - ## The Private Link Accesses Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - - name: Network Link Services (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Services Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - - name: Network Link Endpoints (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Endpoints Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - - name: Network Link Service Associations (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - List of incoming Network Link Enpoints associated with the Network Link Service. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Service Associations Model - - - name: Gateways (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A gateway is a resource that defines network access to Confluent cloud resources. - - - ## The Gateways Model - - - name: IP Addresses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - IP Addresses - - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) - - ## The IP Addresses Model - - - name: Private Link Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. - - - ## The Private Link Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - - name: Private Link Attachment Connections (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. - - - ## The Private Link Attachment Connections Model - - - name: Identity Providers (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Identity Provider. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Identity Providers Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - - name: Jwks (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. - - The API allows you to refresh JWKS public key data. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Jwks Model - - - name: Identity Pools (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. - - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. - - - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). + `Integrations` that are provided while creating the subscription. - ## The Identity Pools Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + This API allows you to create, retrieve, and update subscriptions, - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - - name: OAuth Tokens (sts/v1) - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + as well as to view the list of all your subscriptions. You can also + delete subscriptions - OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of - external identities to access Confluent Cloud APIs - - name: Client Quotas (kafka-quotas/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + with RECOMMENDED or OPTIONAL notification types. Subscriptions with + REQUIRED notification types cannot be deleted. - `ClientQuota` objects represent Client Quotas you can set at the service account level. - The API allows you to list, create, read, update, and delete your client quotas. + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - ## The Client Quotas Model - - - name: Pipelines (sd/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Subscriptions Model - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - SubscriptionList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `Subscription` objects represent the intent of the customers to + get notifications of particular types. - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. + A subscription is created for a particular `NotificationType` and + the user will get notifications on the + `Integrations` that are provided while creating the subscription. - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). - ## The Pipelines Model - + This API allows you to create, retrieve, and update subscriptions, - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + as well as to view the list of all your subscriptions. You can + also delete subscriptions - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - - name: Keys (byok/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + with RECOMMENDED or OPTIONAL notification types. Subscriptions + with REQUIRED notification types cannot be deleted. - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). - ## The Keys Model - + ## The Subscriptions Model - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Subscription + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + current_state: + type: string + x-extensible-enum: + - ENABLED + - DISABLED + description: > + Denotes the state of the subscription. When the subscription + is ENABLED, the user will receive + + notification on the configured Integrations. If the + subscription is DISABLED, the user will not + + recieve any notification for the configured notification type. + Note that, you cannot disable + + a subscription for `REQUIRED` notification type. + example: ENABLED + notification_type: + description: The type of notification to subscribe to. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + integrations: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: Integrations to which notifications are to be sent. + minItems: 1 + required: + - id + - metadata + - notification_type + - integrations + uniqueItems: true + notifications.v1.Subscription: + type: object + description: >- + `Subscription` objects represent the intent of the customers to get + notifications of particular types. - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - - name: Costs (billing/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + A subscription is created for a particular `NotificationType` and the + user will get notifications on the - `Cost` objects represent the aggregated billing costs for an organization + `Integrations` that are provided while creating the subscription. - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + This API allows you to create, retrieve, and update subscriptions, - ## The Costs Model - - - name: Group Mappings (iam/v2/sso) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + as well as to view the list of all your subscriptions. You can also + delete subscriptions - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. + with RECOMMENDED or OPTIONAL notification types. Subscriptions with + REQUIRED notification types cannot be deleted. - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - ## The Group Mappings Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + ## The Subscriptions Model - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - - name: Compute Pools (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Subscription + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + current_state: + type: string + x-extensible-enum: + - ENABLED + - DISABLED + description: > + Denotes the state of the subscription. When the subscription is + ENABLED, the user will receive - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + notification on the configured Integrations. If the subscription is + DISABLED, the user will not + recieve any notification for the configured notification type. Note + that, you cannot disable - ## The Compute Pools Model - - - name: Regions (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + a subscription for `REQUIRED` notification type. + example: ENABLED + notification_type: + description: The type of notification to subscribe to. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + integrations: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: Integrations to which notifications are to be sent. + minItems: 1 + notifications.v1.IntegrationList: + type: object + description: >- + You can create an `Integration` to specify how we can notify you when we + receive an alert/notification for - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. + a subscription. Please note that you can only perform create, update and + delete operations for integrations + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or + delete integrations of type `RoleEmail` - ## The Regions Model - - - name: Statements (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + and `UserEmail`. - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - - name: Statement Results (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `StatementResult` represents a result of a `Statement` resource. - The API allows you to read your statement's results. - ## The Statement Results Model - - - name: Statement Exceptions (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `StatementException` represents an exception of a `Statement` resource. - The API allows you to read your statement's exceptions. - ## The Statement Exceptions Model - - - name: Connections (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - `Connection` represents a core resource used to model SQL connections for execution. - A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - - name: DNS Forwarders (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Add, remove, and update DNS forwarder for your gateway. + ## The Integrations Model - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + - ## The DNS Forwarders Model - - - name: Access Points (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## Quotas and Limits - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## The Access Points Model - - - name: DNS Records (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | Quota | Description | - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + | --- | --- | - ## The DNS Records Model - - - name: Certificate Authorities (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | `integrations_per_org` | Maximum number of integrations in one + Confluent Cloud organization | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IntegrationList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + You can create an `Integration` to specify how we can notify you + when we receive an alert/notification for - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + a subscription. Please note that you can only perform create, + update and delete operations for integrations - The API allows you to list, create, read, update, and delete your Certificate Authority. + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, + update or delete integrations of type `RoleEmail` + and `UserEmail`. - Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). - ## The Certificate Authorities Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - | Quota | Description | - | --- | --- | - | `certificate_authorities_per_org` | Number of certificate authorities per organization | - - name: Certificate Identity Pools (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Identitypool` objects represent workload identities in Confluent Cloud. + ## The Integrations Model - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities + - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + ## Quotas and Limits - ## The Certificate Identity Pools Model - + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - - name: Integrations (pim/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + | Quota | Description | - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). + | --- | --- | - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. + | `integrations_per_org` | Maximum number of integrations in one + Confluent Cloud organization | + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Integration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + display_name: + type: string + maxLength: 64 + description: | + A human readable name for the particular integration + example: Slack integration + description: + type: string + maxLength: 128 + description: | + A human readable description for the particular integration + example: A Slack channel integration + target: + description: | + Integration-specific details (integration targets) + discriminator: + propertyName: kind + mapping: + Slack: '#/components/schemas/notifications.v1.SlackTarget' + RoleEmail: '#/components/schemas/notifications.v1.RoleEmailTarget' + UserEmail: '#/components/schemas/notifications.v1.UserEmailTarget' + Webhook: '#/components/schemas/notifications.v1.WebhookTarget' + MsTeams: '#/components/schemas/notifications.v1.MsTeamsTarget' + example: + kind: Slack + webhook_url: https://hooks.slack.com/services/{id}/{id}/{id} + type: object + required: + - kind + - webhook_url + - role_name + - user + - url + properties: + kind: + type: string + enum: + - Slack + description: Integration Type + example: Slack + webhook_url: + type: string + format: uri + description: Slack Webhook URL for the particular Slack channel + example: https://hooks.slack.com/services/{id}/{id}/{id} + role_name: + type: string + description: name of the role + example: OrganizationAdmin + user: + description: Reference to the user + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + url: + type: string + format: uri + description: URL endpoint for the webhook + example: https://my.webhook.url/{id} + required: + - id + - metadata + - display_name + - target + uniqueItems: true + notifications.v1.Integration: + type: object + description: >- + You can create an `Integration` to specify how we can notify you when we + receive an alert/notification for + a subscription. Please note that you can only perform create, update and + delete operations for integrations - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or + delete integrations of type `RoleEmail` - ## The Integrations Model - - - name: Flink Artifacts (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + and `UserEmail`. - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. - ## The Flink Artifacts Model - - - name: Presigned Urls (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. + ## The Integrations Model - ## The Presigned Urls Model - - - name: Flink Artifact Versions (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + - FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + ## Quotas and Limits - ## The Flink Artifact Versions Model - -components: - schemas: - notifications.v1.SubscriptionList: - type: object - description: |- - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + | Quota | Description | - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + | --- | --- | - ## The Subscriptions Model - - required: - - api_version - - kind - - metadata - - data + | `integrations_per_org` | Maximum number of integrations in one + Confluent Cloud organization | properties: api_version: type: string enum: - notifications/v1 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string description: Kind defines the object this REST resource represents. readOnly: true enum: - - SubscriptionList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/notifications/v1/subscriptions' - last: - example: 'https://api.confluent.cloud/notifications/v1/subscriptions?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/notifications/v1/subscriptions?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/notifications/v1/subscriptions?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/notifications.v1.Subscription' - - type: object - required: - - id - - metadata - - notification_type - - integrations - uniqueItems: true - ListMeta: - type: object - description: ListMeta describes metadata that resource collections may have - properties: - first: - description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds' - last: - description: 'A link to the last page of results. If a response does not contain a last link, then direct navigation to the last page is not supported.' + - Integration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT' - prev: - description: 'A link to the previous page of results. If a response does not contain a prev link, then either there is no previous data or backwards traversal through the result set is not supported.' + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + display_name: type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld' - next: - description: 'A link to the next page of results. If a response does not contain a next link, then there is no more data available.' + maxLength: 64 + description: | + A human readable name for the particular integration + example: Slack integration + description: type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb' - total_size: - description: Number of records in the full result set. This response may be paginated and have a smaller number of records. - type: integer - format: int32 - minimum: 0 - example: 123 - notifications.v1.Subscription: + maxLength: 128 + description: | + A human readable description for the particular integration + example: A Slack channel integration + target: + description: | + Integration-specific details (integration targets) + discriminator: + propertyName: kind + mapping: + Slack: '#/components/schemas/notifications.v1.SlackTarget' + RoleEmail: '#/components/schemas/notifications.v1.RoleEmailTarget' + UserEmail: '#/components/schemas/notifications.v1.UserEmailTarget' + Webhook: '#/components/schemas/notifications.v1.WebhookTarget' + MsTeams: '#/components/schemas/notifications.v1.MsTeamsTarget' + example: + kind: Slack + webhook_url: https://hooks.slack.com/services/{id}/{id}/{id} + type: object + required: + - kind + - webhook_url + - role_name + - user + - url + properties: + kind: + type: string + enum: + - Slack + description: Integration Type + example: Slack + webhook_url: + type: string + format: uri + description: Slack Webhook URL for the particular Slack channel + example: https://hooks.slack.com/services/{id}/{id}/{id} + role_name: + type: string + description: name of the role + example: OrganizationAdmin + user: + description: Reference to the user + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + url: + type: string + format: uri + description: URL endpoint for the webhook + example: https://my.webhook.url/{id} + notifications.v1.NotificationType: type: object - description: |- - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. + description: >- + The type of notifications (and their corresponding metadata) supported + by Confluent. - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - ## The Subscriptions Model - + + ## The Notification Types Model + + properties: api_version: type: string enum: - notifications/v1 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string description: Kind defines the object this REST resource represents. readOnly: true enum: - - Subscription + - NotificationType id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). type: string maxLength: 255 readOnly: true example: dlz-f3a90de metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/notifications/v1/subscriptions/s-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/subscription=s-12345' - current_state: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + display_name: + type: string + description: | + Human readable display name of the notification type + example: Cluster Shrink + category: type: string x-extensible-enum: - - ENABLED - - DISABLED + - BILLING_LICENSING + - SECURITY + - SERVICE + - ACCOUNT + description: > + Represents the group with which the notification is associated. + + Notifications are grouped under certain categories for better + organization. + + - BILLING_LICENSING: All billing, payments or licensing related + notifications are grouped here. + + - SECURITY: All Confluent Cloud and Platform security related + notifications are grouped here. + + - SERVICE: All Confluent services (eg. Kafka, Schema Registry, + Connect etc.) related notifications are + grouped here. + - ACCOUNT: All Confluent account related notifications are grouped + here. + + For example: Billing, payment or license related notifications are + grouped in BILLING_LICENSING category. + example: BILLING_LICENSING + description: + type: string description: | - Denotes the state of the subscription. When the subscription is ENABLED, the user will receive - notification on the configured Integrations. If the subscription is DISABLED, the user will not - recieve any notification for the configured notification type. Note that, you cannot disable - a subscription for `REQUIRED` notification type. - example: ENABLED - notification_type: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' - description: The type of notification to subscribe to. - x-immutable: true - integrations: - type: array - items: - $ref: '#/components/schemas/GlobalObjectReference' - description: Integrations to which notifications are to be sent. - minItems: 1 - AclOperation: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - AclPatternType: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - MATCH - - LITERAL - - PREFIXED - AclPermission: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - DENY - - ALLOW - AclResourceType: - type: string - enum: - - UNKNOWN - - ANY - - TOPIC - - GROUP - - CLUSTER - - TRANSACTIONAL_ID - - DELEGATION_TOKEN - BrokerTaskType: - type: string - enum: - - add-broker - - remove-broker - MirrorTopicStatus: - enum: - - ACTIVE - - FAILED - - LINK_FAILED - - LINK_PAUSED - - PAUSED - - PENDING_STOPPED - - SOURCE_UNAVAILABLE - - STOPPED - - PENDING_MIRROR - - PENDING_SYNCHRONIZE - - PENDING_SETUP_FOR_RESTORE - - PENDING_RESTORE - type: string - Failure: - type: object - description: Provides information about problems encountered while performing an operation. - required: - - errors - properties: - errors: - description: List of errors which caused this operation to fail - type: array - items: - $ref: '#/components/schemas/Error' - uniqueItems: true - AlterConfigBatchRequestData: + Human readable description of the notification type + example: Cluster shrink operation is completed + subscription_priority: + type: string + x-extensible-enum: + - REQUIRED + - RECOMMENDED + - OPTIONAL + description: > + Indicates whether the notification is auto-subscribed and if the + user can opt-out. + + - REQUIRED: the user is auto-subscribed to this notification and + can't opt-out. + + - RECOMMENDED: the user is auto-subscribed to this notification and + can opt-out. + + - OPTIONAL: the user is not auto-subscribed to this notification but + can explicitly subscribe to it. + example: REQUIRED + is_included_in_plan: + type: boolean + description: | + Whether this notification is available to subscribe or not + as per the user's current billing plan. + severity: + type: string + x-extensible-enum: + - CRITICAL + - WARN + - INFO + description: > + Severity indicates the impact of this notification. + + - CRITICAL: a high impact notification which needs immediate + attention. + + - WARN: a warning notification which can be addressed now or later. + + - INFO: an informational notification. + example: INFO + notifications.v1.NotificationTypeList: type: object + description: >- + The type of notifications (and their corresponding metadata) supported + by Confluent. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Notification Types Model + + required: + - api_version + - kind + - metadata - data properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NotificationTypeList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 data: type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. items: type: object - required: - - name + description: >- + The type of notifications (and their corresponding metadata) + supported by Confluent. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Notification Types Model + + properties: - name: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - NotificationType + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + display_name: + type: string + description: | + Human readable display name of the notification type + example: Cluster Shrink + category: type: string - value: + x-extensible-enum: + - BILLING_LICENSING + - SECURITY + - SERVICE + - ACCOUNT + description: > + Represents the group with which the notification is + associated. + + Notifications are grouped under certain categories for better + organization. + + - BILLING_LICENSING: All billing, payments or licensing + related notifications are grouped here. + + - SECURITY: All Confluent Cloud and Platform security related + notifications are grouped here. + + - SERVICE: All Confluent services (eg. Kafka, Schema Registry, + Connect etc.) related notifications are + grouped here. + - ACCOUNT: All Confluent account related notifications are + grouped here. + + For example: Billing, payment or license related notifications + are grouped in BILLING_LICENSING category. + example: BILLING_LICENSING + description: type: string - nullable: true - operation: + description: | + Human readable description of the notification type + example: Cluster shrink operation is completed + subscription_priority: type: string x-extensible-enum: - - SET - - DELETE - nullable: true - validate_only: - type: boolean - CreateAclRequestData: + - REQUIRED + - RECOMMENDED + - OPTIONAL + description: > + Indicates whether the notification is auto-subscribed and if + the user can opt-out. + + - REQUIRED: the user is auto-subscribed to this notification + and can't opt-out. + + - RECOMMENDED: the user is auto-subscribed to this + notification and can opt-out. + + - OPTIONAL: the user is not auto-subscribed to this + notification but can explicitly subscribe to it. + example: REQUIRED + is_included_in_plan: + type: boolean + description: | + Whether this notification is available to subscribe or not + as per the user's current billing plan. + severity: + type: string + x-extensible-enum: + - CRITICAL + - WARN + - INFO + description: > + Severity indicates the impact of this notification. + + - CRITICAL: a high impact notification which needs immediate + attention. + + - WARN: a warning notification which can be addressed now or + later. + + - INFO: an informational notification. + example: INFO + required: + - id + - metadata + - display_name + - category + - description + - subscription_priority + - is_included_in_plan + - severity + uniqueItems: true + notifications.v1.ResourcePreference: type: object - required: - - resource_type - - resource_name - - pattern_type - - principal - - host - - operation - - permission + description: >- + `ResourcePreference` objects represent the intent of the customers to + enable or disable all notifications + + at the resource level. A ResourcePreference is created for a specific + Confluent Cloud Resource + + (e.g., a connector) and determines whether the user will receive + notifications for that resource. + + + This API allows you to create, retrieve, update and delete + resourcePreferences. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Resource Preferences Model + + properties: - resource_type: - $ref: '#/components/schemas/AclResourceType' - resource_name: + api_version: type: string - pattern_type: - $ref: '#/components/schemas/AclPatternType' - principal: + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: type: string - host: + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ResourcePreference + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). type: string - operation: - $ref: '#/components/schemas/AclOperation' - permission: - $ref: '#/components/schemas/AclPermission' - CreateAclRequestDataList: - allOf: - - type: object + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. required: - - data + - self properties: - data: - type: array - items: - $ref: '#/components/schemas/CreateAclRequestData' - CreateTopicRequestData: - type: object - required: - - topic_name - properties: - topic_name: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + resource: type: string - partitions_count: - type: integer - replication_factor: - type: integer - configs: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - validate_only: - type: boolean - ProduceRequest: - type: object - properties: - partition_id: - type: integer - nullable: true - format: int32 - headers: - type: array - items: - $ref: '#/components/schemas/ProduceRequestHeader' - key: - $ref: '#/components/schemas/ProduceRequestData' - value: - $ref: '#/components/schemas/ProduceRequestData' - timestamp: + description: Denotes the Confluent Cloud resource definition. + example: >- + environment=env-456xy/cloud-cluster=lkc-df123/connector=my_datagen_connector + resource_type: type: string - format: date-time - nullable: true - UpdateConfigRequestData: + x-extensible-enum: + - ORGANIZATION + - ENVIRONMENT + - CLUSTER + - CONNECTOR + - FLINK_COMPUTE_POOL + - FLINK_STATEMENT + description: Denotes the Confluent Cloud resource type. + example: CONNECTOR + current_state: + type: string + x-extensible-enum: + - ENABLED + - DISABLED + description: > + Denotes the state of the resource preference. When the resource + preference is ENABLED, the user will receive + + notifications for the Confluent Cloud resource. If the resource + preference is DISABLED, the user will not + + receive any notification for the resource. + + Note that, you will still receive notifications for `REQUIRED` + notification type even when it is DISABLED. + example: ENABLED + notifications.v1.ResourceSubscription: type: object + description: >- + `ResourceSubscription` objects represent the intent of the customers to + get notifications of particular types + + at the resource level. A ResourceSubscription is created for a specific + Confluent Cloud Resource + + (e.g., a connector) and determines whether the user will receive + notifications for that resource. + + + This API allows you to create, retrieve, update, delete and list + ResourceSubscription. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Resource Subscriptions Model + + properties: - value: + api_version: type: string - nullable: true - CreateLinkRequestData: - properties: - source_cluster_id: + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: type: string - destination_cluster_id: + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ResourceSubscription + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). type: string - remote_cluster_id: - description: The expected remote cluster ID. + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + resource: type: string - cluster_link_id: - description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + description: Denotes the Confluent Cloud resource definition. + example: >- + environment=env-456xy/cloud-cluster=lkc-df123/connector=my_datagen_connector + resource_type: type: string - configs: - items: - $ref: '#/components/schemas/ConfigData' + x-extensible-enum: + - ENVIRONMENT + - CLUSTER + - CONNECTOR + - FLINK_COMPUTE_POOL + - FLINK_STATEMENT + description: Denotes the Confluent Cloud resource type. + example: CONNECTOR + current_state: + type: string + x-extensible-enum: + - ENABLED + - DISABLED + description: > + Denotes the state of the resource preference. When the resource + preference is ENABLED, the user will receive + + notifications for the Confluent Cloud resource. If the resource + preference is DISABLED, the user will not + + receive any notification for the resource. + + Note that, you will still receive notifications for `REQUIRED` + notification type even when it is DISABLED. + example: ENABLED + notification_type: + description: The type of notification to subscribe to. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + integrations: type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: Integrations to which notifications are to be sent. + minItems: 1 + notifications.v1.ResourceSubscriptionList: type: object - UpdateLinkConfigRequestData: - properties: - value: - type: string + description: >- + `ResourceSubscription` objects represent the intent of the customers to + get notifications of particular types + + at the resource level. A ResourceSubscription is created for a specific + Confluent Cloud Resource + + (e.g., a connector) and determines whether the user will receive + notifications for that resource. + + + This API allows you to create, retrieve, update, delete and list + ResourceSubscription. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Resource Subscriptions Model + + required: - - value - type: object - CreateMirrorTopicRequestData: + - api_version + - kind + - metadata + - data properties: - source_topic_name: + api_version: type: string - mirror_topic_name: + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: type: string - replication_factor: - type: integer - configs: + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ResourceSubscriptionList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. items: - $ref: '#/components/schemas/ConfigData' - required: - - source_topic_name + type: object + description: >- + `ResourceSubscription` objects represent the intent of the + customers to get notifications of particular types + + at the resource level. A ResourceSubscription is created for a + specific Confluent Cloud Resource + + (e.g., a connector) and determines whether the user will receive + notifications for that resource. + + + This API allows you to create, retrieve, update, delete and list + ResourceSubscription. + + + + Related guide: [Cloud + Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + + + ## The Resource Subscriptions Model + + + properties: + api_version: + type: string + enum: + - notifications/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ResourceSubscription + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + resource: + type: string + description: Denotes the Confluent Cloud resource definition. + example: >- + environment=env-456xy/cloud-cluster=lkc-df123/connector=my_datagen_connector + resource_type: + type: string + x-extensible-enum: + - ENVIRONMENT + - CLUSTER + - CONNECTOR + - FLINK_COMPUTE_POOL + - FLINK_STATEMENT + description: Denotes the Confluent Cloud resource type. + example: CONNECTOR + current_state: + type: string + x-extensible-enum: + - ENABLED + - DISABLED + description: > + Denotes the state of the resource preference. When the + resource preference is ENABLED, the user will receive + + notifications for the Confluent Cloud resource. If the + resource preference is DISABLED, the user will not + + receive any notification for the resource. + + Note that, you will still receive notifications for `REQUIRED` + notification type even when it is DISABLED. + example: ENABLED + notification_type: + description: The type of notification to subscribe to. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + integrations: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: Integrations to which notifications are to be sent. + minItems: 1 + required: + - id + - metadata + - resource + - resource_type + - notification_type + - integrations + uniqueItems: true + ListMeta: type: object - AlterMirrorsRequestData: + description: ListMeta describes metadata that resource collections may have properties: - mirror_topic_names: - description: The mirror topics specified as a list of topic names. - type: array - items: - type: string - mirror_topic_name_pattern: - description: The mirror topics specified as a pattern. + first: + description: >- + A link to the first page of results. If a response does not contain + a first link, then direct navigation to the first page is not + supported. type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not contain a + last link, then direct navigation to the last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not contain a + next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + Failure: type: object - RemoveBrokersRequestData: - properties: - broker_ids: - type: array - items: - type: integer - required: - - broker_ids - type: object - BrokerReplicaExclusionBatchRequestData: - type: object + description: >- + Provides information about problems encountered while performing an + operation. required: - - data + - errors properties: - data: + errors: + description: List of errors which caused this operation to fail type: array items: - $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + $ref: '#/components/schemas/Error' + uniqueItems: true ObjectMeta: - description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. required: - self properties: self: - description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time type: string format: uri readOnly: true - example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de resource_name: - description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name type: string format: uri readOnly: true - example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + example: crn://confluent.cloud/kafka=lkc-f3a90de created_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. updated_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. deleted_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was (or will be) deleted. It + is represented in RFC3339 format and is in UTC. readOnly: true + type: object GlobalObjectReference: type: object - description: ObjectReference provides information for you to locate the referred object + description: >- + ObjectReference provides information for you to locate the referred + object required: - id - related @@ -1562,6 +8374,72 @@ components: description: CRN reference to the referred resource minLength: 1 readOnly: true + notifications.v1.Target: + description: Target for the particular integration + discriminator: + propertyName: kind + mapping: + Slack: '#/components/schemas/notifications.v1.SlackTarget' + RoleEmail: '#/components/schemas/notifications.v1.RoleEmailTarget' + UserEmail: '#/components/schemas/notifications.v1.UserEmailTarget' + Webhook: '#/components/schemas/notifications.v1.WebhookTarget' + MsTeams: '#/components/schemas/notifications.v1.MsTeamsTarget' + example: + kind: Slack + webhook_url: https://hooks.slack.com/services/{id}/{id}/{id} + type: object + required: + - kind + - webhook_url + - role_name + - user + - url + properties: + kind: + type: string + enum: + - Slack + description: Integration Type + example: Slack + webhook_url: + type: string + format: uri + description: Slack Webhook URL for the particular Slack channel + example: https://hooks.slack.com/services/{id}/{id}/{id} + role_name: + type: string + description: name of the role + example: OrganizationAdmin + user: + description: Reference to the user + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + url: + type: string + format: uri + description: URL endpoint for the webhook + example: https://my.webhook.url/{id} Error: type: object description: Describes a particular error encountered while performing an operation. @@ -1571,23 +8449,36 @@ components: type: string maxLength: 255 status: - description: 'The HTTP status code applicable to this problem, expressed as a string value.' + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. type: string code: - description: 'An application-specific error code, expressed as a string value.' + description: An application-specific error code, expressed as a string value. type: string title: - description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. type: string detail: - description: A human-readable explanation specific to this occurrence of the problem. + description: >- + A human-readable explanation specific to this occurrence of the + problem. type: string source: type: object - description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. properties: pointer: - description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. type: string parameter: description: A string indicating which query parameter caused the error. @@ -1599,286 +8490,32 @@ components: type: string nullable: true additionalProperties: false - ProduceRequestHeader: + notifications.v1.SlackTarget: type: object + description: Target required for Slack integration required: - - name + - kind + - webhook_url properties: - name: + kind: type: string - value: + enum: + - Slack + description: Integration Type + example: Slack + webhook_url: type: string - format: byte - nullable: true - ProduceRequestData: + format: uri + description: Slack Webhook URL for the particular Slack channel + example: https://hooks.slack.com/services/{id}/{id}/{id} + notifications.v1.RoleEmailTarget: type: object + description: Email integration target to send email to all user with specified role + required: + - kind + - role_name properties: - type: - type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - data: - $ref: '#/components/schemas/AnyValue' - nullable: true - ConfigData: - example: - name: name - value: value - properties: - name: - type: string - value: - nullable: true - type: string - required: - - name - - value - BrokerReplicaExclusionRequestData: - type: object - required: - - broker_id - - reason - properties: - broker_id: - type: integer - reason: - type: string - AnyValue: - nullable: true - notifications.v1.SubscriptionUpdate: - type: object - description: |- - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. - - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Subscriptions Model - - properties: - api_version: - type: string - enum: - - notifications/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Subscription - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/notifications/v1/subscriptions/s-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/subscription=s-12345' - current_state: - type: string - x-extensible-enum: - - ENABLED - - DISABLED - description: | - Denotes the state of the subscription. When the subscription is ENABLED, the user will receive - notification on the configured Integrations. If the subscription is DISABLED, the user will not - recieve any notification for the configured notification type. Note that, you cannot disable - a subscription for `REQUIRED` notification type. - example: ENABLED - integrations: - type: array - items: - $ref: '#/components/schemas/GlobalObjectReference' - description: Integrations to which notifications are to be sent. - minItems: 1 - notifications.v1.IntegrationList: - type: object - description: |- - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Integrations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - notifications/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - IntegrationList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/notifications/v1/integrations' - last: - example: 'https://api.confluent.cloud/notifications/v1/integrations?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/notifications/v1/integrations?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/notifications/v1/integrations?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/notifications.v1.Integration' - - type: object - required: - - id - - metadata - - display_name - - target - uniqueItems: true - notifications.v1.Integration: - type: object - description: |- - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Integrations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - properties: - api_version: - type: string - enum: - - notifications/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Integration - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/notifications/v1/integrations/i-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/integration=i-12345' - display_name: - type: string - maxLength: 64 - description: | - A human readable name for the particular integration - example: Slack integration - description: - type: string - maxLength: 128 - description: | - A human readable description for the particular integration - example: A Slack channel integration - target: - description: | - Integration-specific details (integration targets) - allOf: - - $ref: '#/components/schemas/notifications.v1.Target' - notifications.v1.Target: - description: Target for the particular integration - oneOf: - - $ref: '#/components/schemas/notifications.v1.SlackTarget' - - $ref: '#/components/schemas/notifications.v1.RoleEmailTarget' - - $ref: '#/components/schemas/notifications.v1.UserEmailTarget' - - $ref: '#/components/schemas/notifications.v1.WebhookTarget' - - $ref: '#/components/schemas/notifications.v1.MsTeamsTarget' - discriminator: - propertyName: kind - mapping: - Slack: '#/components/schemas/notifications.v1.SlackTarget' - RoleEmail: '#/components/schemas/notifications.v1.RoleEmailTarget' - UserEmail: '#/components/schemas/notifications.v1.UserEmailTarget' - Webhook: '#/components/schemas/notifications.v1.WebhookTarget' - MsTeams: '#/components/schemas/notifications.v1.MsTeamsTarget' - example: - kind: Slack - webhook_url: 'https://hooks.slack.com/services/{id}/{id}/{id}' - notifications.v1.SlackTarget: - type: object - description: Target required for Slack integration - required: - - kind - - webhook_url - properties: - kind: - type: string - enum: - - Slack - description: Integration Type - example: Slack - webhook_url: - type: string - format: uri - description: Slack Webhook URL for the particular Slack channel - example: 'https://hooks.slack.com/services/{id}/{id}/{id}' - notifications.v1.RoleEmailTarget: - type: object - description: Email integration target to send email to all user with specified role - required: - - kind - - role_name - properties: - kind: + kind: type: string enum: - RoleEmail @@ -1902,9 +8539,30 @@ components: description: Email Integration type for User example: UserEmail user: - type: string - description: ID of the user - example: u-temp1 + description: Reference to the user + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true notifications.v1.WebhookTarget: type: object description: Target required for webhook integration @@ -1922,7 +8580,7 @@ components: type: string format: uri description: URL endpoint for the webhook - example: 'https://my.webhook.url/{id}' + example: https://my.webhook.url/{id} notifications.v1.MsTeamsTarget: type: object description: Target required for MS Teams integration @@ -1940,402 +8598,7 @@ components: type: string format: uri description: MS Teams Webhook URL for the particular team channel - example: 'https://admin.webhook.office.com/webhookb2/{id}/IncomingWebhook/{id}' - notifications.v1.NotificationTypeList: - type: object - description: |- - The type of notifications (and their corresponding metadata) supported by Confluent. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Notification Types Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - notifications/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - NotificationTypeList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/notifications/v1/notification-types' - last: - example: 'https://api.confluent.cloud/notifications/v1/notification-types?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/notifications/v1/notification-types?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/notifications/v1/notification-types?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/notifications.v1.NotificationType' - - type: object - required: - - id - - metadata - - display_name - - category - - description - - subscription_priority - - is_included_in_plan - - severity - uniqueItems: true - notifications.v1.NotificationType: - type: object - description: |- - The type of notifications (and their corresponding metadata) supported by Confluent. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Notification Types Model - - properties: - api_version: - type: string - enum: - - notifications/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - NotificationType - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/notifications/v1/notification-types/nt-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/notification-type=nt-12345' - display_name: - type: string - description: | - Human readable display name of the notification type - example: Cluster Shrink - category: - type: string - x-extensible-enum: - - BILLING_LICENSING - - SECURITY - - SERVICE - - ACCOUNT - description: | - Represents the group with which the notification is associated. - Notifications are grouped under certain categories for better organization. - - BILLING_LICENSING: All billing, payments or licensing related notifications are grouped here. - - SECURITY: All Confluent Cloud and Platform security related notifications are grouped here. - - SERVICE: All Confluent services (eg. Kafka, Schema Registry, Connect etc.) related notifications are - grouped here. - - ACCOUNT: All Confluent account related notifications are grouped here. - For example: Billing, payment or license related notifications are grouped in BILLING_LICENSING category. - example: BILLING_LICENSING - description: - type: string - description: | - Human readable description of the notification type - example: Cluster shrink operation is completed - subscription_priority: - type: string - x-extensible-enum: - - REQUIRED - - RECOMMENDED - - OPTIONAL - description: | - Indicates whether the notification is auto-subscribed and if the user can opt-out. - - REQUIRED: the user is auto-subscribed to this notification and can't opt-out. - - RECOMMENDED: the user is auto-subscribed to this notification and can opt-out. - - OPTIONAL: the user is not auto-subscribed to this notification but can explicitly subscribe to it. - example: REQUIRED - is_included_in_plan: - type: boolean - description: | - Whether this notification is available to subscribe or not - as per the user's current billing plan. - severity: - type: string - x-extensible-enum: - - CRITICAL - - WARN - - INFO - description: | - Severity indicates the impact of this notification. - - CRITICAL: a high impact notification which needs immediate attention. - - WARN: a warning notification which can be addressed now or later. - - INFO: an informational notification. - example: INFO - parameters: - AclHost: - name: host - description: The ACL host. - in: query - required: false - schema: - type: string - AclOperation: - name: operation - description: The ACL operation. - in: query - required: false - schema: - $ref: '#/components/schemas/AclOperation' - AclOperationRequired: - name: operation - description: The ACL operation. - in: query - required: true - schema: - $ref: '#/components/schemas/AclOperation' - AclPatternType: - name: pattern_type - description: The ACL pattern type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPatternType' - AclPatternTypeRequired: - name: pattern_type - description: The ACL pattern type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPatternType' - AclPermission: - name: permission - description: The ACL permission. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPermission' - AclPermissionRequired: - name: permission - description: The ACL permission. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPermission' - AclPrincipal: - name: principal - description: The ACL principal. This is the Service Account name or user name. - in: query - required: false - schema: - type: string - AclResourceName: - name: resource_name - description: The ACL resource name. - in: query - required: false - schema: - type: string - AclResourceType: - name: resource_type - description: The ACL resource type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclResourceType' - AclResourceTypeRequired: - name: resource_type - description: The ACL resource type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclResourceType' - BrokerId: - name: broker_id - description: The Kafka broker ID. - in: path - required: true - schema: - type: integer - example: 1 - ClusterId: - name: cluster_id - description: The Kafka cluster ID. - in: path - required: true - schema: - type: string - example: cluster-1 - ConfigName: - name: name - description: The configuration parameter name. - in: path - required: true - schema: - type: string - example: compression.type - ConsumerGroupId: - name: consumer_group_id - description: The consumer group ID. - in: path - required: true - schema: - type: string - example: consumer-group-1 - ConsumerId: - name: consumer_id - description: The consumer ID. - in: path - required: true - schema: - type: string - example: consumer-1 - IncludeAuthorizedOperations: - name: include_authorized_operations - description: Specify if authorized operations should be included in the response. - in: query - required: false - schema: - type: boolean - PartitionId: - name: partition_id - description: The partition ID. - in: path - required: true - schema: - type: integer - example: 0 - TopicName: - name: topic_name - description: The topic name. - in: path - required: true - schema: - type: string - example: topic-1 - BrokerTaskType: - name: task_type - description: The Kafka broker task type. - in: path - required: true - schema: - $ref: '#/components/schemas/BrokerTaskType' - example: remove-broker - ShouldShutdown: - name: should_shutdown - description: 'To shutdown the broker or not, Default: true' - in: query - required: false - schema: - type: boolean - example: true - ValidateOnly: - name: validate_only - description: 'To validate the action can be performed successfully or not. Default: false' - in: query - required: false - schema: - type: boolean - example: false - ValidateLink: - name: validate_link - description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' - in: query - required: false - schema: - type: boolean - example: false - IncludeTasks: - name: include_tasks - description: 'Whether to include cluster linking tasks in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludeStateTransitionErrors: - name: include_state_transition_errors - description: 'Whether to include mirror state transition errors in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - Force: - name: force - description: 'Force the action. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludePartitionLevelTruncationData: - name: include_partition_level_truncation_data - description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - LinkName: - name: link_name - description: The link name - in: path - required: true - schema: - type: string - example: link-sb1 - LinkConfigName: - name: config_name - description: The link config name - in: path - required: true - schema: - type: string - example: consumer.offset.sync.enable - MirrorTopicStatus: - name: mirror_status - description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' - in: query - required: false - schema: - $ref: '#/components/schemas/MirrorTopicStatus' - example: ACTIVE - MirrorTopicName: - name: mirror_topic_name - description: Cluster Linking mirror topic name - in: path - required: true - schema: - type: string - example: topic-1 - QueryParamLinkName: - name: link_name - description: The link name - in: query - required: true - schema: - type: string - example: link-sb1 + example: https://admin.webhook.office.com/webhookb2/{id}/IncomingWebhook/{id} responses: BadRequestError: description: Bad Request @@ -2369,7 +8632,9 @@ components: schema: type: string description: The unique identifier for the API request. - example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + example: >- + Basic error="invalid_key", error_description="The API Key is + invalid" content: application/json: schema: @@ -2399,7 +8664,9 @@ components: status: '403' code: user_unauthorized title: User Access Unauthorized - detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + detail: >- + The user 'mcfly' is not allowed to access the 'delorean' + resource without the 'plutonium' role. RateLimitError: description: Rate Limit Exceeded headers: @@ -2410,7 +8677,9 @@ components: X-RateLimit-Limit: schema: type: integer - description: The maximum number of requests you're permitted to make per time period. + description: >- + The maximum number of requests you're permitted to make per time + period. X-RateLimit-Remaining: schema: type: integer @@ -2418,16 +8687,21 @@ components: X-RateLimit-Reset: schema: type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. + description: >- + The relative time in seconds until the current rate-limit window + resets. - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. Retry-After: schema: type: integer - description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. DefaultSystemError: - description: 'Oops, something went wrong!' + description: Oops, something went wrong! headers: X-Request-Id: schema: @@ -2443,7 +8717,9 @@ components: status: '500' code: out_of_gas title: DeLorean Out Of Gas - detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap ConflictError: x-summary: Conflict description: The request is in conflict with the current server state @@ -2456,7 +8732,7 @@ components: schema: type: string format: uri - example: 'https://api.confluent.cloud/{object}/{id}' + example: https://api.confluent.cloud/{object}/{id} description: Resource URI of conflicting resource content: application/json: @@ -2468,7 +8744,9 @@ components: status: '409' code: resource_already_exists title: Resource Already exists - detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + detail: >- + The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already + exists. ValidationError: description: Validation Failed headers: @@ -2486,210 +8764,324 @@ components: code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size NotFoundError: @@ -2726,420 +9118,47 @@ components: status: '402' code: quota_exceeded title: Kafka Clusters Per Org Quota Exceeded - detail: 'The request would exceed the quota: kafka_clusters_per_environment' - securitySchemes: - cloud-api-key: - type: http - scheme: basic - description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. - confluent-sts-access-token: - type: oauth2 - description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' - scopes: {} - api-key: - type: http - scheme: basic - description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. - resource-api-key: - type: http - scheme: basic - description: | - Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID - as the username and resource-specific API Key Secret as the password. - external-access-token: - type: oauth2 - description: Authenticate with OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https:///token' - scopes: {} - oauth: - type: oauth2 - description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. - flows: - clientCredentials: - tokenUrl: /oauth2/token - scopes: - 'partner:alter': enables partners to alter entitlements - 'partner:create': enables partners to create entitlements and signup on behalf of customers - 'partner:delete': enables partners to delete entitlements and organizations - 'partner:describe': enables partners to read and list entitlements and organizations - requestBodies: - AlterBrokerConfigBatchRequest: - description: The alter broker configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterClusterConfigBatchRequest: - description: The alter cluster configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterTopicConfigBatchRequest: - description: The alter topic configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - examples: - batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only_batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only: true - CreateAclRequest: - description: The ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestData' - example: - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - BatchCreateAclRequest: - description: The batch ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestDataList' - example: - data: - - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - - resource_type: TOPIC - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: READ - permission: ALLOW - CreateTopicRequest: - description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTopicRequestData' - examples: - uniform_replication: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - configs: - - name: cleanup.policy - value: compact - - name: compression.type - value: gzip - dry_run_create_topic: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - validate_only: true - ProduceRequest: - description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' - content: - application/json: - schema: - $ref: '#/components/schemas/ProduceRequest' - examples: - binary_and_json: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - partition_id: 1 - headers: - - name: Header-1 - value: SGVhZGVyLTE= - - name: Header-2 - value: SGVhZGVyLTI= - key: - type: BINARY - data: Zm9vYmFy - value: - type: JSON - data: - foo: bar - timestamp: '2021-02-05T19:14:42Z' - string: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - value: - type: STRING - data: My message - empty_value: - description: key or value can be omitted entirely. - value: - key: - data: 1000 - UpdateBrokerConfigRequest: - description: The broker configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateClusterConfigRequest: - description: The cluster configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateTopicConfigRequest: - description: The topic configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - CreateLinkRequest: - description: Create a cluster link - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLinkRequestData' - examples: - destination_initiated_link: - description: Create a destination initiated cluster link - value: - source_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: acl.sync.enable - value: 'false' - - name: consumer.offset.sync.ms - value: '30000' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_source_cluster: - description: Create a source initiated cluster link at source cluster - value: - destination_cluster_id: cluster-2 - configs: - - name: bootstrap.servers - value: cluster-2-bootstrap-server - - name: link.mode - value: SOURCE - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_destination_cluster: - description: Create a source initiated cluster link at destination cluster - value: - destination_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: link.mode - value: DESTINATION - - name: connection.mode - value: INBOUND - - name: acl.sync.enable - value: 'false' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_east: - description: Create a bidirectional cluster link in east - value: - remote_cluster_id: cluster-west - configs: - - name: bootstrap.servers - value: cluster-west-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: west. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_west: - description: Create a bidirectional cluster link in west - value: - remote_cluster_id: cluster-east - cluster_link_id: eEBkTffYSESld6EO898x3w - configs: - - name: bootstrap.servers - value: cluster-east-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: east. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - UpdateLinkConfigRequest: - content: - application/json: - example: - value: '300000' - schema: - $ref: '#/components/schemas/UpdateLinkConfigRequestData' - description: Link config value to update - AlterLinkConfigBatchRequest: - content: - application/json: - example: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - CreateMirrorTopicRequest: - description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateMirrorTopicRequestData' - examples: - generic_example: - description: Generic example of creating a mirror topic - value: - source_topic_name: topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 1 - example_with_mirror_topic_name: - description: Example using optional mirror_topic_name flag - value: - source_topic_name: topic-1 - mirror_topic_name: link1_topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 3 - AlterMirrorsRequest: - description: Mirror topics to be altered. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterMirrorsRequestData' - examples: - mirror_topic_names: - description: Example using mirror topic names - value: - mirror_topic_names: - - topic-1 - - topic-2 - mirror_topic_name_pattern: - description: Example using mirror topic name pattern - value: - mirror_topic_name_pattern: .* - RemoveBrokersRequest: - content: - application/json: - example: - broker_ids: - - 1 - - 2 - - 3 - schema: - $ref: '#/components/schemas/RemoveBrokersRequestData' - description: Broker ids to remove - BrokerReplicaExclusionBatchRequest: - description: Alter Broker Replica Exclusions. - content: - application/json: - schema: - $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' - example: - data: - - broker_id: 1 - reason: The broker is to be removed. - - broker_id: 2 - reason: The broker is to be removed. + detail: >- + The request would exceed the quota: + kafka_clusters_per_environment x-stackQL-resources: subscriptions: id: confluent.notifications.subscriptions name: subscriptions title: Subscriptions methods: - list_notifications_v1subscriptions: + list_notifications_v1_subscriptions: operation: $ref: '#/paths/~1notifications~1v1~1subscriptions/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_notifications_v1subscription: + create_notifications_v1_subscription: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1notifications~1v1~1subscriptions/post' response: mediaType: application/json openAPIDocKey: '201' - get_notifications_v1subscription: + get_notifications_v1_subscription: operation: $ref: '#/paths/~1notifications~1v1~1subscriptions~1{id}/get' response: mediaType: application/json openAPIDocKey: '200' - update_notifications_v1subscription: + update_notifications_v1_subscription: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1notifications~1v1~1subscriptions~1{id}/patch' response: mediaType: application/json openAPIDocKey: '200' - delete_notifications_v1subscription: + delete_notifications_v1_subscription: operation: $ref: '#/paths/~1notifications~1v1~1subscriptions~1{id}/delete' response: @@ -3147,52 +9166,66 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/subscriptions/methods/get_notifications_v1subscription' - - $ref: '#/components/x-stackQL-resources/subscriptions/methods/list_notifications_v1subscriptions' + - $ref: >- + #/components/x-stackQL-resources/subscriptions/methods/get_notifications_v1_subscription + - $ref: >- + #/components/x-stackQL-resources/subscriptions/methods/list_notifications_v1_subscriptions insert: - - $ref: '#/components/x-stackQL-resources/subscriptions/methods/create_notifications_v1subscription' + - $ref: >- + #/components/x-stackQL-resources/subscriptions/methods/create_notifications_v1_subscription update: - - $ref: '#/components/x-stackQL-resources/subscriptions/methods/update_notifications_v1subscription' - replace: [] + - $ref: >- + #/components/x-stackQL-resources/subscriptions/methods/update_notifications_v1_subscription delete: - - $ref: '#/components/x-stackQL-resources/subscriptions/methods/delete_notifications_v1subscription' + - $ref: >- + #/components/x-stackQL-resources/subscriptions/methods/delete_notifications_v1_subscription + replace: [] integrations: id: confluent.notifications.integrations name: integrations title: Integrations methods: - list_notifications_v1integrations: + list_notifications_v1_integrations: operation: $ref: '#/paths/~1notifications~1v1~1integrations/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_notifications_v1integration: + create_notifications_v1_integration: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1notifications~1v1~1integrations/post' response: mediaType: application/json openAPIDocKey: '201' - get_notifications_v1integration: + get_notifications_v1_integration: operation: $ref: '#/paths/~1notifications~1v1~1integrations~1{id}/get' response: mediaType: application/json openAPIDocKey: '200' - update_notifications_v1integration: + update_notifications_v1_integration: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1notifications~1v1~1integrations~1{id}/patch' response: mediaType: application/json openAPIDocKey: '200' - delete_notifications_v1integration: + delete_notifications_v1_integration: operation: $ref: '#/paths/~1notifications~1v1~1integrations~1{id}/delete' response: mediaType: application/json openAPIDocKey: '204' - test_notifications_v1integration: + test_notifications_v1_integration: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1notifications~1v1~1integrations:test/post' response: @@ -3200,2032 +9233,162 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/integrations/methods/get_notifications_v1integration' - - $ref: '#/components/x-stackQL-resources/integrations/methods/list_notifications_v1integrations' + - $ref: >- + #/components/x-stackQL-resources/integrations/methods/get_notifications_v1_integration + - $ref: >- + #/components/x-stackQL-resources/integrations/methods/list_notifications_v1_integrations insert: - - $ref: '#/components/x-stackQL-resources/integrations/methods/create_notifications_v1integration' + - $ref: >- + #/components/x-stackQL-resources/integrations/methods/create_notifications_v1_integration update: - - $ref: '#/components/x-stackQL-resources/integrations/methods/update_notifications_v1integration' - replace: [] + - $ref: >- + #/components/x-stackQL-resources/integrations/methods/update_notifications_v1_integration delete: - - $ref: '#/components/x-stackQL-resources/integrations/methods/delete_notifications_v1integration' + - $ref: >- + #/components/x-stackQL-resources/integrations/methods/delete_notifications_v1_integration + replace: [] notification_types: id: confluent.notifications.notification_types name: notification_types title: Notification Types methods: - list_notifications_v1notification_types: + get_notifications_v1_notification_type: operation: - $ref: '#/paths/~1notifications~1v1~1notification-types/get' + $ref: '#/paths/~1notifications~1v1~1notification-types~1{id}/get' response: mediaType: application/json openAPIDocKey: '200' - objectKey: $.data - get_notifications_v1notification_type: + list_notifications_v1_notification_types: operation: - $ref: '#/paths/~1notifications~1v1~1notification-types~1{id}/get' + $ref: '#/paths/~1notifications~1v1~1notification-types/get' response: mediaType: application/json openAPIDocKey: '200' + objectKey: $.data sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/notification_types/methods/get_notifications_v1notification_type' - - $ref: '#/components/x-stackQL-resources/notification_types/methods/list_notifications_v1notification_types' + - $ref: >- + #/components/x-stackQL-resources/notification_types/methods/get_notifications_v1_notification_type + - $ref: >- + #/components/x-stackQL-resources/notification_types/methods/list_notifications_v1_notification_types insert: [] update: [] - replace: [] delete: [] -paths: - /notifications/v1/subscriptions: - get: - operationId: listNotificationsV1Subscriptions - summary: List of Subscriptions - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all subscriptions. - parameters: - - name: page_size - in: query - required: false - schema: - type: integer - default: 100 - maximum: 250 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Subscriptions (notifications/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Subscription. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/notifications.v1.SubscriptionList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://api.confluent.cloud/notifications/v1/subscriptions \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/notifications/v1/subscriptions") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/subscriptions\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/notifications/v1/subscriptions", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/notifications/v1/subscriptions", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/subscriptions"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/notifications/v1/subscriptions"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createNotificationsV1Subscription - summary: Create a Subscription - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to create a subscription. - tags: - - Subscriptions (notifications/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/notifications.v1.Subscription' - - type: object - required: - - notification_type - - integrations - responses: - '201': - description: A Subscription was created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/notifications/v1/subscriptions/{id}' - description: Subscription resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/notifications.v1.Subscription' - - type: object - required: - - notification_type - - integrations - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/notifications/v1/subscriptions \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"current_state":"ENABLED","notification_type":{"id":"string"},"integrations":[{"id":"string"}]}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"current_state\":\"ENABLED\",\"notification_type\":{\"id\":\"string\"},\"integrations\":[{\"id\":\"string\"}]}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/notifications/v1/subscriptions") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/subscriptions\"\n\n\tpayload := strings.NewReader(\"{\\\"current_state\\\":\\\"ENABLED\\\",\\\"notification_type\\\":{\\\"id\\\":\\\"string\\\"},\\\"integrations\\\":[{\\\"id\\\":\\\"string\\\"}]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"current_state\":\"ENABLED\",\"notification_type\":{\"id\":\"string\"},\"integrations\":[{\"id\":\"string\"}]}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/notifications/v1/subscriptions", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/notifications/v1/subscriptions", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - current_state: 'ENABLED', - notification_type: {id: 'string'}, - integrations: [{id: 'string'}] - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/subscriptions"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"current_state\":\"ENABLED\",\"notification_type\":{\"id\":\"string\"},\"integrations\":[{\"id\":\"string\"}]}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/notifications/v1/subscriptions"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"current_state\":\"ENABLED\",\"notification_type\":{\"id\":\"string\"},\"integrations\":[{\"id\":\"string\"}]}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/notifications/v1/subscriptions/{id}': - get: - operationId: getNotificationsV1Subscription - summary: Read a Subscription - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read a subscription. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the subscription. - tags: - - Subscriptions (notifications/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Subscription. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/notifications.v1.Subscription' - - type: object - required: - - api_version - - kind - - id - - notification_type - - integrations - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/notifications/v1/subscriptions/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/notifications/v1/subscriptions/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/subscriptions/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/notifications/v1/subscriptions/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/notifications/v1/subscriptions/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/subscriptions/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/notifications/v1/subscriptions/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateNotificationsV1Subscription - summary: Update a Subscription - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to update a subscription. - - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the subscription. - tags: - - Subscriptions (notifications/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/notifications.v1.SubscriptionUpdate' - responses: - '200': - description: Subscription. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/notifications.v1.Subscription' - - type: object - required: - - api_version - - kind - - id - - notification_type - - integrations - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/notifications/v1/subscriptions/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"current_state":"ENABLED","notification_type":{"id":"string"},"integrations":[{"id":"string"}]}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"current_state\":\"ENABLED\",\"notification_type\":{\"id\":\"string\"},\"integrations\":[{\"id\":\"string\"}]}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/notifications/v1/subscriptions/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/subscriptions/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"current_state\\\":\\\"ENABLED\\\",\\\"notification_type\\\":{\\\"id\\\":\\\"string\\\"},\\\"integrations\\\":[{\\\"id\\\":\\\"string\\\"}]}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"current_state\":\"ENABLED\",\"notification_type\":{\"id\":\"string\"},\"integrations\":[{\"id\":\"string\"}]}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/notifications/v1/subscriptions/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/notifications/v1/subscriptions/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - current_state: 'ENABLED', - notification_type: {id: 'string'}, - integrations: [{id: 'string'}] - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/subscriptions/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"current_state\":\"ENABLED\",\"notification_type\":{\"id\":\"string\"},\"integrations\":[{\"id\":\"string\"}]}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/notifications/v1/subscriptions/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"current_state\":\"ENABLED\",\"notification_type\":{\"id\":\"string\"},\"integrations\":[{\"id\":\"string\"}]}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteNotificationsV1Subscription - summary: Delete a Subscription - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to delete a subscription. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the subscription. - tags: - - Subscriptions (notifications/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A Subscription is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/notifications/v1/subscriptions/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/notifications/v1/subscriptions/{id}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/subscriptions/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/notifications/v1/subscriptions/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/notifications/v1/subscriptions/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/subscriptions/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/notifications/v1/subscriptions/{id}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /notifications/v1/integrations: - get: - operationId: listNotificationsV1Integrations - summary: List of Integrations - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all integrations. - parameters: - - name: page_size - in: query - required: false - schema: - type: integer - default: 100 - maximum: 250 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Integrations (notifications/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Integration. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/notifications.v1.IntegrationList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://api.confluent.cloud/notifications/v1/integrations \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/notifications/v1/integrations") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/integrations\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/notifications/v1/integrations", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/notifications/v1/integrations", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/integrations"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/notifications/v1/integrations"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createNotificationsV1Integration - summary: Create an Integration - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to create an integration. - tags: - - Integrations (notifications/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/notifications.v1.Integration' - - type: object - required: - - display_name - - target - responses: - '201': - description: An Integration was created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/notifications/v1/integrations/{id}' - description: Integration resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/notifications.v1.Integration' - - type: object - required: - - display_name - - target - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/notifications/v1/integrations \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"display_name":"Slack integration","description":"A Slack channel integration","target":{"kind":"Slack","webhook_url":"https://hooks.slack.com/services/{id}/{id}/{id}"}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/notifications/v1/integrations") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/integrations\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"Slack integration\\\",\\\"description\\\":\\\"A Slack channel integration\\\",\\\"target\\\":{\\\"kind\\\":\\\"Slack\\\",\\\"webhook_url\\\":\\\"https://hooks.slack.com/services/{id}/{id}/{id}\\\"}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/notifications/v1/integrations", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/notifications/v1/integrations", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - display_name: 'Slack integration', - description: 'A Slack channel integration', - target: {kind: 'Slack', webhook_url: 'https://hooks.slack.com/services/{id}/{id}/{id}'} - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/integrations"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/notifications/v1/integrations"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/notifications/v1/integrations/{id}': - get: - operationId: getNotificationsV1Integration - summary: Read an Integration - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read an integration. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the integration. - tags: - - Integrations (notifications/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Integration. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/notifications.v1.Integration' - - type: object - required: - - api_version - - kind - - id - - display_name - - target - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/notifications/v1/integrations/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/notifications/v1/integrations/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/integrations/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/notifications/v1/integrations/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/notifications/v1/integrations/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/integrations/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/notifications/v1/integrations/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateNotificationsV1Integration - summary: Update an Integration - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to update an integration. - - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the integration. - tags: - - Integrations (notifications/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/notifications.v1.Integration' - responses: - '200': - description: Integration. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/notifications.v1.Integration' - - type: object - required: - - api_version - - kind - - id - - display_name - - target - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/notifications/v1/integrations/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"display_name":"Slack integration","description":"A Slack channel integration","target":{"kind":"Slack","webhook_url":"https://hooks.slack.com/services/{id}/{id}/{id}"}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/notifications/v1/integrations/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/integrations/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"Slack integration\\\",\\\"description\\\":\\\"A Slack channel integration\\\",\\\"target\\\":{\\\"kind\\\":\\\"Slack\\\",\\\"webhook_url\\\":\\\"https://hooks.slack.com/services/{id}/{id}/{id}\\\"}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/notifications/v1/integrations/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/notifications/v1/integrations/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - display_name: 'Slack integration', - description: 'A Slack channel integration', - target: {kind: 'Slack', webhook_url: 'https://hooks.slack.com/services/{id}/{id}/{id}'} - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/integrations/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/notifications/v1/integrations/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteNotificationsV1Integration - summary: Delete an Integration - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to delete an integration. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the integration. - tags: - - Integrations (notifications/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: An Integration is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/notifications/v1/integrations/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/notifications/v1/integrations/{id}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/integrations/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/notifications/v1/integrations/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/notifications/v1/integrations/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/integrations/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/notifications/v1/integrations/{id}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/notifications/v1/integrations:test': - post: - summary: 'Test a Webhook, Slack or Microsoft Teams integration' - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Sends a test notification to validate the integration. This is supported only for Webhook, Slack - and MsTeams targets - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/notifications.v1.Integration' - - type: object - required: - - display_name - - target - x-name: notifications.v1.Integration - operationId: testNotificationsV1Integration - tags: - - Integrations (notifications/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: Notification sent to test integration. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/notifications/v1/integrations:test \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"display_name":"Slack integration","description":"A Slack channel integration","target":{"kind":"Slack","webhook_url":"https://hooks.slack.com/services/{id}/{id}/{id}"}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/notifications/v1/integrations:test") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/integrations:test\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"Slack integration\\\",\\\"description\\\":\\\"A Slack channel integration\\\",\\\"target\\\":{\\\"kind\\\":\\\"Slack\\\",\\\"webhook_url\\\":\\\"https://hooks.slack.com/services/{id}/{id}/{id}\\\"}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/notifications/v1/integrations:test", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/notifications/v1/integrations:test", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - display_name: 'Slack integration', - description: 'A Slack channel integration', - target: {kind: 'Slack', webhook_url: 'https://hooks.slack.com/services/{id}/{id}/{id}'} - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/integrations:test"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/notifications/v1/integrations:test"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"display_name\":\"Slack integration\",\"description\":\"A Slack channel integration\",\"target\":{\"kind\":\"Slack\",\"webhook_url\":\"https://hooks.slack.com/services/{id}/{id}/{id}\"}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - /notifications/v1/notification-types: - get: - operationId: listNotificationsV1NotificationTypes - summary: List of Notification Types - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all notification types. - parameters: - - name: page_size - in: query - required: false - schema: - type: integer - default: 100 - maximum: 250 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Notification Types (notifications/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Notification Type. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/notifications.v1.NotificationTypeList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://api.confluent.cloud/notifications/v1/notification-types \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/notifications/v1/notification-types") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/notification-types\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/notifications/v1/notification-types", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/notifications/v1/notification-types", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/notification-types"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/notifications/v1/notification-types"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/notifications/v1/notification-types/{id}': - get: - operationId: getNotificationsV1NotificationType - summary: Read a Notification Type - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read a notification type. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the notification type. - tags: - - Notification Types (notifications/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Notification Type. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/notifications.v1.NotificationType' - - type: object - required: - - api_version - - kind - - id - - display_name - - category - - description - - subscription_priority - - is_included_in_plan - - severity - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/notifications/v1/notification-types/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/notifications/v1/notification-types/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/notifications/v1/notification-types/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/notifications/v1/notification-types/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/notifications/v1/notification-types/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/notifications/v1/notification-types/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/notifications/v1/notification-types/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); + replace: [] + resource_preferences: + id: confluent.notifications.resource_preferences + name: resource_preferences + title: Resource Preferences + methods: + create_notifications_v1_resource_preference: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1notifications~1v1~1resource-preferences/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_notifications_v1_resource_preference: + operation: + $ref: '#/paths/~1notifications~1v1~1resource-preferences~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_notifications_v1_resource_preference: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1notifications~1v1~1resource-preferences~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_notifications_v1_resource_preference: + operation: + $ref: '#/paths/~1notifications~1v1~1resource-preferences~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + get_notifications_v1_resource_preference_by_filter: + operation: + $ref: '#/paths/~1notifications~1v1~1resource-preferences:lookup/get' + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/resource_preferences/methods/get_notifications_v1_resource_preference + - $ref: >- + #/components/x-stackQL-resources/resource_preferences/methods/get_notifications_v1_resource_preference_by_filter + insert: + - $ref: >- + #/components/x-stackQL-resources/resource_preferences/methods/create_notifications_v1_resource_preference + update: + - $ref: >- + #/components/x-stackQL-resources/resource_preferences/methods/update_notifications_v1_resource_preference + delete: + - $ref: >- + #/components/x-stackQL-resources/resource_preferences/methods/delete_notifications_v1_resource_preference + replace: [] + resource_subscriptions: + id: confluent.notifications.resource_subscriptions + name: resource_subscriptions + title: Resource Subscriptions + methods: + create_notifications_v1_resource_subscription: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1notifications~1v1~1resource-subscriptions/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_notifications_v1_resource_subscription: + operation: + $ref: '#/paths/~1notifications~1v1~1resource-subscriptions~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_notifications_v1_resource_subscription: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1notifications~1v1~1resource-subscriptions~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_notifications_v1_resource_subscription: + operation: + $ref: '#/paths/~1notifications~1v1~1resource-subscriptions~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + list_notifications_v1_resource_subscriptions_by_filter: + operation: + $ref: '#/paths/~1notifications~1v1~1resource-subscriptions:lookup/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/resource_subscriptions/methods/get_notifications_v1_resource_subscription + - $ref: >- + #/components/x-stackQL-resources/resource_subscriptions/methods/list_notifications_v1_resource_subscriptions_by_filter + insert: + - $ref: >- + #/components/x-stackQL-resources/resource_subscriptions/methods/create_notifications_v1_resource_subscription + update: + - $ref: >- + #/components/x-stackQL-resources/resource_subscriptions/methods/update_notifications_v1_resource_subscription + delete: + - $ref: >- + #/components/x-stackQL-resources/resource_subscriptions/methods/delete_notifications_v1_resource_subscription + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/org.yaml b/providers/src/confluent/v00.00.00000/services/org.yaml index cd9b39f3..10461ca2 100644 --- a/providers/src/confluent/v00.00.00000/services/org.yaml +++ b/providers/src/confluent/v00.00.00000/services/org.yaml @@ -1,1315 +1,2831 @@ openapi: 3.0.0 -servers: - - url: 'https://api.confluent.cloud' - description: Confluent Cloud API info: - version: '' - contact: - name: Confluent Cloud - url: 'https://www.confluent.io/cloud-contact-us/' - email: support@confluent.io - x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b - x-audience: external-public - x-logo: - url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' - title: Confluent Cloud APIs - org - description: org -tags: - - name: API Keys (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. - - The API allows you to list, create, update and delete your API Keys. - - - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - - ## The API Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - - name: Environments (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. + title: org API + description: confluent org API + version: 1.0.0 +paths: + /org/v2/environments: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listOrgV2Environments + summary: List of Environments + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). + Retrieve a sorted, filtered, paginated list of all environments. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Environments (org/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Environment. + content: + application/json: + schema: + type: object + description: >- + `Environment` objects represent an isolated namespace for your + Confluent resources - ## The Environments Model - + for organizational purposes. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - - name: Organizations (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to create, delete, and update your + environments. You can retrieve - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). + individual environments as well as a list of all your + environments. - The API allows you to list, view, and update your organizations. - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + Related guide: [Environments in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - ## The Organizations Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + ## The Environments Model - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - - name: Users (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + - `User` objects represent individuals who may access your Confluent resources. - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. + ## Quotas and Limits + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). - ## The Users Model - + | Quota | Description | - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + | --- | --- | - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - - name: Service Accounts (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | `environments_per_org` | Environments in one Confluent Cloud + organization | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - org/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - EnvironmentList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `Environment` objects represent an isolated namespace + for your Confluent resources + + for organizational purposes. + + + The API allows you to create, delete, and update your + environments. You can retrieve + + individual environments as well as a list of all your + environments. + + + + Related guide: [Environments in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). + + + ## The Environments Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `environments_per_org` | Environments in one Confluent + Cloud organization | + properties: + api_version: + type: string + enum: + - org/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - Environment + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + display_name: + type: string + example: prod-finance01 + description: A human-readable name for the Environment + stream_governance_config: + type: object + description: Stream Governance configurations for the environment + properties: + package: + type: string + x-extensible-enum: + - ESSENTIALS + - ADVANCED + description: > + Stream Governance Package. Supported values are + ESSENTIALS and ADVANCED. + + Package comparison can be found + + [here](https://docs.confluent.io/cloud/current/stream-governance/packages.html#features-by-package-type). + required: + - package + required: + - id + - metadata + - display_name + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createOrgV2Environment + summary: Create an Environment + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. + Make a request to create an environment. + tags: + - Environments (org/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `Environment` objects represent an isolated namespace for your + Confluent resources + for organizational purposes. - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). - ## The Service Accounts Model - + The API allows you to create, delete, and update your + environments. You can retrieve - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + individual environments as well as a list of all your + environments. - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - - name: Invitations (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + Related guide: [Environments in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + ## The Environments Model - ## The Invitations Model - + - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - - name: IP Groups (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + ## Quotas and Limits - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## The IP Groups Model - - - name: IP Filters (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + | Quota | Description | - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud + organization | + properties: + api_version: + type: string + enum: + - org/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Environment + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + display_name: + type: string + example: prod-finance01 + description: A human-readable name for the Environment + stream_governance_config: + type: object + description: Stream Governance configurations for the environment + properties: + package: + type: string + x-extensible-enum: + - ESSENTIALS + - ADVANCED + description: > + Stream Governance Package. Supported values are + ESSENTIALS and ADVANCED. + + Package comparison can be found + + [here](https://docs.confluent.io/cloud/current/stream-governance/packages.html#features-by-package-type). + required: + - package + required: + - display_name + responses: + '201': + description: An Environment was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/org/v2/environments/{id} + description: Environment resource uri + content: + application/json: + schema: + type: object + description: >- + `Environment` objects represent an isolated namespace for your + Confluent resources - ## The IP Filters Model - - - name: Role Bindings (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + for organizational purposes. - A role binding grants a Principal a role on resources that match a pattern. - The API allows you to perform create, delete, and list operations on role bindings. + The API allows you to create, delete, and update your + environments. You can retrieve + individual environments as well as a list of all your + environments. - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). - ## The Role Bindings Model - - - name: Subscriptions (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. + Related guide: [Environments in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + ## The Environments Model - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + - ## The Subscriptions Model - - - name: Integrations (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. + ## Quotas and Limits + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - ## The Integrations Model - + | Quota | Description | - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + | --- | --- | - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - - name: Notification Types (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | `environments_per_org` | Environments in one Confluent Cloud + organization | + properties: + api_version: + type: string + enum: + - org/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Environment + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + example: prod-finance01 + description: A human-readable name for the Environment + stream_governance_config: + type: object + description: Stream Governance configurations for the environment + properties: + package: + type: string + x-extensible-enum: + - ESSENTIALS + - ADVANCED + description: > + Stream Governance Package. Supported values are + ESSENTIALS and ADVANCED. + + Package comparison can be found + + [here](https://docs.confluent.io/cloud/current/stream-governance/packages.html#features-by-package-type). + required: + - package + required: + - display_name + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /org/v2/environments/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getOrgV2Environment + summary: Read an Environment + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The type of notifications (and their corresponding metadata) supported by Confluent. + Make a request to read an environment. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the environment. + tags: + - Environments (org/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Environment. + content: + application/json: + schema: + type: object + description: >- + `Environment` objects represent an isolated namespace for your + Confluent resources - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + for organizational purposes. - ## The Notification Types Model - - - name: Clusters (cmk/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. + The API allows you to create, delete, and update your + environments. You can retrieve - The API allows you to list, create, read, update, and delete your Kafka clusters. + individual environments as well as a list of all your + environments. - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - ## The Clusters Model - + Related guide: [Environments in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - - name: Clusters (ksqldbcm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Environments Model - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). + ## Quotas and Limits - ## The Clusters Model - + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## Quotas and Limits - This resource is subject to the following quotas: - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - - name: Connectors (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | Quota | Description | - API for Managed Connectors or Custom Connectors in Confluent Cloud. + | --- | --- | - The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + | `environments_per_org` | Environments in one Confluent Cloud + organization | + properties: + api_version: + type: string + enum: + - org/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Environment + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + example: prod-finance01 + description: A human-readable name for the Environment + stream_governance_config: + type: object + description: Stream Governance configurations for the environment + properties: + package: + type: string + x-extensible-enum: + - ESSENTIALS + - ADVANCED + description: > + Stream Governance Package. Supported values are + ESSENTIALS and ADVANCED. + + Package comparison can be found + + [here](https://docs.confluent.io/cloud/current/stream-governance/packages.html#features-by-package-type). + required: + - package + required: + - api_version + - kind + - id + - display_name + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateOrgV2Environment + summary: Update an Environment + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). - Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - name: Lifecycle (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to update an environment. - API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. - - name: Status (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the environment. + tags: + - Environments (org/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/org.v2.Environment' + responses: + '200': + description: Environment. + content: + application/json: + schema: + type: object + description: >- + `Environment` objects represent an isolated namespace for your + Confluent resources - API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. - - name: Managed Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + for organizational purposes. - API for Managed connectors in Confluent Cloud. - - name: Offsets (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for managing the offsets for a Managed Connector. + The API allows you to create, delete, and update your + environments. You can retrieve - Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) - - name: Custom Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + individual environments as well as a list of all your + environments. - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - ## The Custom Connector Plugins Model - - - name: Presigned Urls (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [Environments in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + ## The Environments Model + - ## The Presigned Urls Model - - - name: Cluster (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Configs (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: ACL (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Consumer Group (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Partition (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Topic (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Records (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Cluster Linking (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Applied Quotas (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. + ## Quotas and Limits + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - ## The Applied Quotas Model - - - name: Scopes (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | Quota | Description | - Gets a list of all available scopes for applied quotas. + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud + organization | + properties: + api_version: + type: string + enum: + - org/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Environment + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + example: prod-finance01 + description: A human-readable name for the Environment + stream_governance_config: + type: object + description: Stream Governance configurations for the environment + properties: + package: + type: string + x-extensible-enum: + - ESSENTIALS + - ADVANCED + description: > + Stream Governance Package. Supported values are + ESSENTIALS and ADVANCED. + + Package comparison can be found + + [here](https://docs.confluent.io/cloud/current/stream-governance/packages.html#features-by-package-type). + required: + - package + required: + - api_version + - kind + - id + - display_name + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteOrgV2Environment + summary: Delete an Environment + description: > + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). - ## The Scopes Model - - - name: Entitlements (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + Make a request to delete an environment. - `Entitlement` objects represent metadata about a marketplace entitlement. - An entitlement includes metadata about a marketplace purchase - (start date, end date, billing information, partner IDs, etc). - The API allows partners to create, read, and list entitlements. (Unless you - need entitlement creation and customer registration to be separate, - we recommend using the Signup API to create an organization and entitlement - at the same time) + If successful, this request will also recursively delete all of the + environment's associated resources, - The API only allows authorized partners to interact with the Entitlements API. - - name: Regions (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. - - - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Regions Model - - - name: Clusters (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list, create, read, and delete your Schema Registry clusters. - - - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Clusters Model - - - name: Clusters (srcm/v3) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list and read your Schema Registry clusters. - - - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - - ## The Clusters Model - - - name: Compatibility (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to test schema compatibility. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Config (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to manage and query schema compatibility settings and cluster configurations. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Contexts (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to retrieve information about schema contexts. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Exporters (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete exporters. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Modes (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects modes of operation. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Schemas (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + including all Kafka clusters, connectors, etc. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the environment. + tags: + - Environments (org/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: An Environment is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /org/v2/organizations: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listOrgV2Organizations + summary: List of Organizations + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete schemas. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Subjects (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Retrieve a sorted, filtered, paginated list of all organizations. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Organizations (org/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Organization. + content: + application/json: + schema: + type: object + description: >- + `Organization` objects represent a customer organization. An + organization contains all customer - The API allows you to create, retrieve, update, and delete schema subjects and versions. + resources (e.g., Environments, Kafka Clusters, Service + Accounts, API Keys) and is tied to a billing - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Key Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + agreement (including any annual commitment or support plan). - The API allows you to create, retrieve, update, and delete key encryption keys. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Data Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to list, view, and update your + organizations. - The API allows you to create, retrieve, update, and delete data encryption keys. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Entity (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete catalog entities. + Related guide: [Organizations for Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Search (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to search for entities. + ## The Organizations Model - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Types (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + - The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Provider Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## Quotas and Limits - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## The Provider Shared Resources Model - - - name: Provider Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | Quota | Description | - `ProviderShare` object respresents the share that you have created through Stream Sharing. + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a + user belongs to | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - org/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - OrganizationList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `Organization` objects represent a customer + organization. An organization contains all customer + + resources (e.g., Environments, Kafka Clusters, Service + Accounts, API Keys) and is tied to a billing + + agreement (including any annual commitment or support + plan). + + + The API allows you to list, view, and update your + organizations. + + + + Related guide: [Organizations for Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). + + + ## The Organizations Model + + + + + ## Quotas and Limits + + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + + | Quota | Description | + + | --- | --- | + + | `organizations_per_user` | Confluent Cloud + organizations a user belongs to | + properties: + api_version: + type: string + enum: + - org/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - Organization + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + display_name: + type: string + example: Finance Org + pattern: ^[^<>#%'*^`{|}~\"]{1,31}$ + description: A human-readable name for the Organization + jit_enabled: + type: boolean + description: >- + The flag to toggle Just-In-Time user provisioning + for SSO-enabled organization. Available for early + access only. + required: + - id + - metadata + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /org/v2/organizations/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getOrgV2Organization + summary: Read an Organization + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). - ## The Provider Shares Model - - - name: Consumer Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to read an organization. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the organization. + tags: + - Organizations (org/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Organization. + content: + application/json: + schema: + type: object + description: >- + `Organization` objects represent a customer organization. An + organization contains all customer - `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + resources (e.g., Environments, Kafka Clusters, Service + Accounts, API Keys) and is tied to a billing + agreement (including any annual commitment or support plan). - ## The Consumer Shared Resources Model - - - name: Consumer Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `ConsumerShare` object respresents the share that you received through Stream Sharing. + The API allows you to list, view, and update your + organizations. - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). - ## The Consumer Shares Model - - - name: Shared Tokens (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [Organizations for Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - Encrypted Token shared with consumer + ## The Organizations Model - ## The Shared Tokens Model - - - name: Opt Ins (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + - Stream sharing opt in options - ## The Opt Ins Model - - - name: Organizations (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + ## Quotas and Limits - `Organizations` objects represent an entire Confluent Cloud organization. - Partners are allowed to get an organization they have signed up or - list all organizations they have signed up. - - name: Signup (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - `Signup` APIs can only be performed by partners. - - name: Networks (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. + | Quota | Description | - The API allows you to list, create, read, update, and delete your networks. + | --- | --- | + | `organizations_per_user` | Confluent Cloud organizations a + user belongs to | + properties: + api_version: + type: string + enum: + - org/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Organization + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + example: Finance Org + pattern: ^[^<>#%'*^`{|}~\"]{1,31}$ + description: A human-readable name for the Organization + jit_enabled: + type: boolean + description: >- + The flag to toggle Just-In-Time user provisioning for + SSO-enabled organization. Available for early access only. + required: + - api_version + - kind + - id + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateOrgV2Organization + summary: Update an Organization + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - ## The Networks Model - + Make a request to update an organization. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the organization. + tags: + - Organizations (org/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/org.v2.Organization' + responses: + '200': + description: Organization. + content: + application/json: + schema: + type: object + description: >- + `Organization` objects represent a customer organization. An + organization contains all customer - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - - name: Peerings (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + resources (e.g., Environments, Kafka Clusters, Service + Accounts, API Keys) and is tied to a billing - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + agreement (including any annual commitment or support plan). - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + The API allows you to list, view, and update your + organizations. - ## The Peerings Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - - name: Transit Gateway Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [Organizations for Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - AWS Transit Gateway Attachments - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + ## The Organizations Model - ## The Transit Gateway Attachments Model - + - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - - name: Private Link Accesses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## Quotas and Limits - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + | Quota | Description | - ## The Private Link Accesses Model - + | --- | --- | - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + | `organizations_per_user` | Confluent Cloud organizations a + user belongs to | + properties: + api_version: + type: string + enum: + - org/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Organization + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + display_name: + type: string + example: Finance Org + pattern: ^[^<>#%'*^`{|}~\"]{1,31}$ + description: A human-readable name for the Organization + jit_enabled: + type: boolean + description: >- + The flag to toggle Just-In-Time user provisioning for + SSO-enabled organization. Available for early access only. + required: + - api_version + - kind + - id + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '402': + $ref: '#/components/responses/OverQuotaError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true +components: + schemas: + org.v2.EnvironmentList: + type: object + description: >- + `Environment` objects represent an isolated namespace for your Confluent + resources - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - - name: Network Link Services (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + for organizational purposes. - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. + The API allows you to create, delete, and update your environments. You + can retrieve - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + individual environments as well as a list of all your environments. - ## The Network Link Services Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - - name: Network Link Endpoints (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [Environments in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. + ## The Environments Model - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + - ## The Network Link Endpoints Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + ## Quotas and Limits - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - - name: Network Link Service Associations (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - List of incoming Network Link Enpoints associated with the Network Link Service. + | Quota | Description | - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + | --- | --- | - ## The Network Link Service Associations Model - - - name: Gateways (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A gateway is a resource that defines network access to Confluent cloud resources. - - - ## The Gateways Model - - - name: IP Addresses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - IP Addresses - - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) - - ## The IP Addresses Model - - - name: Private Link Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. - - - ## The Private Link Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - - name: Private Link Attachment Connections (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. - - - ## The Private Link Attachment Connections Model - - - name: Identity Providers (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Identity Provider. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Identity Providers Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - - name: Jwks (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. - - The API allows you to refresh JWKS public key data. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Jwks Model - - - name: Identity Pools (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. - - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. - - - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). - - ## The Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + | `environments_per_org` | Environments in one Confluent Cloud + organization | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - org/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - EnvironmentList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `Environment` objects represent an isolated namespace for your + Confluent resources - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - - name: OAuth Tokens (sts/v1) - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + for organizational purposes. - OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of - external identities to access Confluent Cloud APIs - - name: Client Quotas (kafka-quotas/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `ClientQuota` objects represent Client Quotas you can set at the service account level. + The API allows you to create, delete, and update your + environments. You can retrieve - The API allows you to list, create, read, update, and delete your client quotas. + individual environments as well as a list of all your + environments. - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - ## The Client Quotas Model - - - name: Pipelines (sd/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [Environments in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. + ## The Environments Model + - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). - ## The Pipelines Model - + ## Quotas and Limits - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - - name: Keys (byok/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + | Quota | Description | - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud + organization | + properties: + api_version: + type: string + enum: + - org/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Environment + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + display_name: + type: string + example: prod-finance01 + description: A human-readable name for the Environment + stream_governance_config: + type: object + description: Stream Governance configurations for the environment + properties: + package: + type: string + x-extensible-enum: + - ESSENTIALS + - ADVANCED + description: > + Stream Governance Package. Supported values are ESSENTIALS + and ADVANCED. + + Package comparison can be found + + [here](https://docs.confluent.io/cloud/current/stream-governance/packages.html#features-by-package-type). + required: + - package + required: + - id + - metadata + - display_name + uniqueItems: true + org.v2.Environment: + type: object + description: >- + `Environment` objects represent an isolated namespace for your Confluent + resources - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + for organizational purposes. - ## The Keys Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + The API allows you to create, delete, and update your environments. You + can retrieve - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - - name: Costs (billing/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + individual environments as well as a list of all your environments. - `Cost` objects represent the aggregated billing costs for an organization - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). + Related guide: [Environments in Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - ## The Costs Model - - - name: Group Mappings (iam/v2/sso) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. + ## The Environments Model - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. + - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). + ## Quotas and Limits - ## The Group Mappings Model - + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - - name: Compute Pools (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | Quota | Description | - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. + | --- | --- | + | `environments_per_org` | Environments in one Confluent Cloud + organization | + properties: + api_version: + type: string + enum: + - org/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Environment + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + display_name: + type: string + example: prod-finance01 + description: A human-readable name for the Environment + stream_governance_config: + type: object + description: Stream Governance configurations for the environment + properties: + package: + type: string + x-extensible-enum: + - ESSENTIALS + - ADVANCED + description: > + Stream Governance Package. Supported values are ESSENTIALS and + ADVANCED. - ## The Compute Pools Model - - - name: Regions (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Package comparison can be found - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. + [here](https://docs.confluent.io/cloud/current/stream-governance/packages.html#features-by-package-type). + required: + - package + org.v2.OrganizationList: + type: object + description: >- + `Organization` objects represent a customer organization. An + organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, API + Keys) and is tied to a billing - ## The Regions Model - - - name: Statements (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + agreement (including any annual commitment or support plan). - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - - name: Statement Results (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `StatementResult` represents a result of a `Statement` resource. - The API allows you to read your statement's results. - ## The Statement Results Model - - - name: Statement Exceptions (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to list, view, and update your organizations. - `StatementException` represents an exception of a `Statement` resource. - The API allows you to read your statement's exceptions. - ## The Statement Exceptions Model - - - name: Connections (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Connection` represents a core resource used to model SQL connections for execution. - A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - - name: DNS Forwarders (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Add, remove, and update DNS forwarder for your gateway. + Related guide: [Organizations for Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). + ## The Organizations Model - ## The DNS Forwarders Model - - - name: Access Points (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. + ## Quotas and Limits - ## The Access Points Model - - - name: DNS Records (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - ## The DNS Records Model - - - name: Certificate Authorities (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + | Quota | Description | - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. + | --- | --- | - The API allows you to list, create, read, update, and delete your Certificate Authority. + | `organizations_per_user` | Confluent Cloud organizations a user + belongs to | + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - org/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - OrganizationList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `Organization` objects represent a customer organization. An + organization contains all customer + resources (e.g., Environments, Kafka Clusters, Service Accounts, + API Keys) and is tied to a billing - Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + agreement (including any annual commitment or support plan). - ## The Certificate Authorities Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + The API allows you to list, view, and update your organizations. - | Quota | Description | - | --- | --- | - | `certificate_authorities_per_org` | Number of certificate authorities per organization | - - name: Certificate Identity Pools (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Identitypool` objects represent workload identities in Confluent Cloud. - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities + Related guide: [Organizations for Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). + ## The Organizations Model - ## The Certificate Identity Pools Model - + - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - - name: Integrations (pim/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + ## Quotas and Limits - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. + | Quota | Description | - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + | --- | --- | - ## The Integrations Model - - - name: Flink Artifacts (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + | `organizations_per_user` | Confluent Cloud organizations a user + belongs to | + properties: + api_version: + type: string + enum: + - org/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Organization + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + display_name: + type: string + example: Finance Org + pattern: ^[^<>#%'*^`{|}~\"]{1,31}$ + description: A human-readable name for the Organization + jit_enabled: + type: boolean + description: >- + The flag to toggle Just-In-Time user provisioning for + SSO-enabled organization. Available for early access only. + required: + - id + - metadata + uniqueItems: true + org.v2.Organization: + type: object + description: >- + `Organization` objects represent a customer organization. An + organization contains all customer - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + resources (e.g., Environments, Kafka Clusters, Service Accounts, API + Keys) and is tied to a billing + agreement (including any annual commitment or support plan). - ## The Flink Artifacts Model - - - name: Presigned Urls (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. + The API allows you to list, view, and update your organizations. - ## The Presigned Urls Model - - - name: Flink Artifact Versions (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + Related guide: [Organizations for Confluent + Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - ## The Flink Artifact Versions Model - -components: - schemas: - org.v2.EnvironmentList: - type: object - description: |- - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. + ## The Organizations Model - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. + - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). + ## Quotas and Limits - ## The Environments Model - + This resource is subject to the [following + quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): | Quota | Description | + | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - required: - - api_version - - kind - - metadata - - data + + | `organizations_per_user` | Confluent Cloud organizations a user + belongs to | properties: api_version: type: string enum: - org/v2 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string description: Kind defines the object this REST resource represents. readOnly: true enum: - - EnvironmentList + - Organization + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/org/v2/environments' - last: - example: 'https://api.confluent.cloud/org/v2/environments?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/org/v2/environments?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/org/v2/environments?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/org.v2.Environment' - - type: object - required: - - id - - metadata - - display_name - uniqueItems: true + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + display_name: + type: string + example: Finance Org + pattern: ^[^<>#%'*^`{|}~\"]{1,31}$ + description: A human-readable name for the Organization + jit_enabled: + type: boolean + description: >- + The flag to toggle Just-In-Time user provisioning for SSO-enabled + organization. Available for early access only. ListMeta: type: object description: ListMeta describes metadata that resource collections may have properties: first: - description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' + description: >- + A link to the first page of results. If a response does not contain + a first link, then direct navigation to the first page is not + supported. type: string format: uri nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds' + example: https://api.confluent.cloud/v2/resourcekinds last: - description: 'A link to the last page of results. If a response does not contain a last link, then direct navigation to the last page is not supported.' + description: >- + A link to the last page of results. If a response does not contain a + last link, then direct navigation to the last page is not supported. type: string format: uri nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT' + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT prev: - description: 'A link to the previous page of results. If a response does not contain a prev link, then either there is no previous data or backwards traversal through the result set is not supported.' + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. type: string format: uri nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld' + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld next: - description: 'A link to the next page of results. If a response does not contain a next link, then there is no more data available.' + description: >- + A link to the next page of results. If a response does not contain a + next link, then there is no more data available. type: string format: uri nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb' + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb total_size: - description: Number of records in the full result set. This response may be paginated and have a smaller number of records. + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. type: integer format: int32 minimum: 0 example: 123 - org.v2.Environment: - type: object - description: |- - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. - - - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - - ## The Environments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - properties: - api_version: - type: string - enum: - - org/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Environment - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/org/v2/environments/e-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=e-12345' - display_name: - type: string - example: prod-finance01 - description: A human-readable name for the Environment - stream_governance_config: - type: object - description: Stream Governance configurations for the environment - allOf: - - $ref: '#/components/schemas/org.v2.StreamGovernanceConfig' - AclOperation: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - AclPatternType: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - MATCH - - LITERAL - - PREFIXED - AclPermission: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - DENY - - ALLOW - AclResourceType: - type: string - enum: - - UNKNOWN - - ANY - - TOPIC - - GROUP - - CLUSTER - - TRANSACTIONAL_ID - - DELEGATION_TOKEN - BrokerTaskType: - type: string - enum: - - add-broker - - remove-broker - MirrorTopicStatus: - enum: - - ACTIVE - - FAILED - - LINK_FAILED - - LINK_PAUSED - - PAUSED - - PENDING_STOPPED - - SOURCE_UNAVAILABLE - - STOPPED - - PENDING_MIRROR - - PENDING_SYNCHRONIZE - - PENDING_SETUP_FOR_RESTORE - - PENDING_RESTORE - type: string Failure: type: object - description: Provides information about problems encountered while performing an operation. + description: >- + Provides information about problems encountered while performing an + operation. required: - errors properties: @@ -1319,220 +2835,58 @@ components: items: $ref: '#/components/schemas/Error' uniqueItems: true - AlterConfigBatchRequestData: - type: object + ObjectMeta: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. required: - - data - properties: - data: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - operation: - type: string - x-extensible-enum: - - SET - - DELETE - nullable: true - validate_only: - type: boolean - CreateAclRequestData: - type: object - required: - - resource_type - - resource_name - - pattern_type - - principal - - host - - operation - - permission - properties: - resource_type: - $ref: '#/components/schemas/AclResourceType' - resource_name: - type: string - pattern_type: - $ref: '#/components/schemas/AclPatternType' - principal: - type: string - host: - type: string - operation: - $ref: '#/components/schemas/AclOperation' - permission: - $ref: '#/components/schemas/AclPermission' - CreateAclRequestDataList: - allOf: - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/CreateAclRequestData' - CreateTopicRequestData: - type: object - required: - - topic_name - properties: - topic_name: - type: string - partitions_count: - type: integer - replication_factor: - type: integer - configs: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - validate_only: - type: boolean - ProduceRequest: - type: object - properties: - partition_id: - type: integer - nullable: true - format: int32 - headers: - type: array - items: - $ref: '#/components/schemas/ProduceRequestHeader' - key: - $ref: '#/components/schemas/ProduceRequestData' - value: - $ref: '#/components/schemas/ProduceRequestData' - timestamp: - type: string - format: date-time - nullable: true - UpdateConfigRequestData: - type: object - properties: - value: - type: string - nullable: true - CreateLinkRequestData: - properties: - source_cluster_id: - type: string - destination_cluster_id: - type: string - remote_cluster_id: - description: The expected remote cluster ID. - type: string - cluster_link_id: - description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' - type: string - configs: - items: - $ref: '#/components/schemas/ConfigData' - type: array - type: object - UpdateLinkConfigRequestData: - properties: - value: - type: string - required: - - value - type: object - CreateMirrorTopicRequestData: - properties: - source_topic_name: - type: string - mirror_topic_name: - type: string - replication_factor: - type: integer - configs: - type: array - items: - $ref: '#/components/schemas/ConfigData' - required: - - source_topic_name - type: object - AlterMirrorsRequestData: - properties: - mirror_topic_names: - description: The mirror topics specified as a list of topic names. - type: array - items: - type: string - mirror_topic_name_pattern: - description: The mirror topics specified as a pattern. - type: string - type: object - RemoveBrokersRequestData: - properties: - broker_ids: - type: array - items: - type: integer - required: - - broker_ids - type: object - BrokerReplicaExclusionBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' - ObjectMeta: - description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' - required: - - self + - self properties: self: - description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time type: string format: uri readOnly: true - example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de resource_name: - description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name type: string format: uri readOnly: true - example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + example: crn://confluent.cloud/kafka=lkc-f3a90de created_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. updated_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. deleted_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was (or will be) deleted. It + is represented in RFC3339 format and is in UTC. readOnly: true + type: object org.v2.StreamGovernanceConfig: description: | Configurations pertaining to Stream Governance @@ -1543,9 +2897,12 @@ components: x-extensible-enum: - ESSENTIALS - ADVANCED - description: | - Stream Governance Package. Supported values are ESSENTIALS and ADVANCED. + description: > + Stream Governance Package. Supported values are ESSENTIALS and + ADVANCED. + Package comparison can be found + [here](https://docs.confluent.io/cloud/current/stream-governance/packages.html#features-by-package-type). required: - package @@ -1558,23 +2915,36 @@ components: type: string maxLength: 255 status: - description: 'The HTTP status code applicable to this problem, expressed as a string value.' + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. type: string code: - description: 'An application-specific error code, expressed as a string value.' + description: An application-specific error code, expressed as a string value. type: string title: - description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. type: string detail: - description: A human-readable explanation specific to this occurrence of the problem. + description: >- + A human-readable explanation specific to this occurrence of the + problem. type: string source: type: object - description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. properties: pointer: - description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. type: string parameter: description: A string indicating which query parameter caused the error. @@ -1586,417 +2956,6 @@ components: type: string nullable: true additionalProperties: false - ProduceRequestHeader: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - format: byte - nullable: true - ProduceRequestData: - type: object - properties: - type: - type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - data: - $ref: '#/components/schemas/AnyValue' - nullable: true - ConfigData: - example: - name: name - value: value - properties: - name: - type: string - value: - nullable: true - type: string - required: - - name - - value - BrokerReplicaExclusionRequestData: - type: object - required: - - broker_id - - reason - properties: - broker_id: - type: integer - reason: - type: string - AnyValue: - nullable: true - org.v2.OrganizationList: - type: object - description: |- - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). - - The API allows you to list, view, and update your organizations. - - - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - - ## The Organizations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - org/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - OrganizationList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/org/v2/organizations' - last: - example: 'https://api.confluent.cloud/org/v2/organizations?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/org/v2/organizations?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/org/v2/organizations?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/org.v2.Organization' - - type: object - required: - - id - - metadata - uniqueItems: true - org.v2.Organization: - type: object - description: |- - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). - - The API allows you to list, view, and update your organizations. - - - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - - ## The Organizations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - properties: - api_version: - type: string - enum: - - org/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Organization - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/org/v2/organizations/o-12345' - resource_name: - example: 'crn://confluent.cloud/organization=o-12345' - display_name: - type: string - example: Finance Org - pattern: '^[^<>#%''*^`{|}~\"]{1,31}$' - description: A human-readable name for the Organization - jit_enabled: - type: boolean - description: The flag to toggle Just-In-Time user provisioning for SSO-enabled organization. Available for early access only. - parameters: - AclHost: - name: host - description: The ACL host. - in: query - required: false - schema: - type: string - AclOperation: - name: operation - description: The ACL operation. - in: query - required: false - schema: - $ref: '#/components/schemas/AclOperation' - AclOperationRequired: - name: operation - description: The ACL operation. - in: query - required: true - schema: - $ref: '#/components/schemas/AclOperation' - AclPatternType: - name: pattern_type - description: The ACL pattern type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPatternType' - AclPatternTypeRequired: - name: pattern_type - description: The ACL pattern type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPatternType' - AclPermission: - name: permission - description: The ACL permission. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPermission' - AclPermissionRequired: - name: permission - description: The ACL permission. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPermission' - AclPrincipal: - name: principal - description: The ACL principal. This is the Service Account name or user name. - in: query - required: false - schema: - type: string - AclResourceName: - name: resource_name - description: The ACL resource name. - in: query - required: false - schema: - type: string - AclResourceType: - name: resource_type - description: The ACL resource type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclResourceType' - AclResourceTypeRequired: - name: resource_type - description: The ACL resource type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclResourceType' - BrokerId: - name: broker_id - description: The Kafka broker ID. - in: path - required: true - schema: - type: integer - example: 1 - ClusterId: - name: cluster_id - description: The Kafka cluster ID. - in: path - required: true - schema: - type: string - example: cluster-1 - ConfigName: - name: name - description: The configuration parameter name. - in: path - required: true - schema: - type: string - example: compression.type - ConsumerGroupId: - name: consumer_group_id - description: The consumer group ID. - in: path - required: true - schema: - type: string - example: consumer-group-1 - ConsumerId: - name: consumer_id - description: The consumer ID. - in: path - required: true - schema: - type: string - example: consumer-1 - IncludeAuthorizedOperations: - name: include_authorized_operations - description: Specify if authorized operations should be included in the response. - in: query - required: false - schema: - type: boolean - PartitionId: - name: partition_id - description: The partition ID. - in: path - required: true - schema: - type: integer - example: 0 - TopicName: - name: topic_name - description: The topic name. - in: path - required: true - schema: - type: string - example: topic-1 - BrokerTaskType: - name: task_type - description: The Kafka broker task type. - in: path - required: true - schema: - $ref: '#/components/schemas/BrokerTaskType' - example: remove-broker - ShouldShutdown: - name: should_shutdown - description: 'To shutdown the broker or not, Default: true' - in: query - required: false - schema: - type: boolean - example: true - ValidateOnly: - name: validate_only - description: 'To validate the action can be performed successfully or not. Default: false' - in: query - required: false - schema: - type: boolean - example: false - ValidateLink: - name: validate_link - description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' - in: query - required: false - schema: - type: boolean - example: false - IncludeTasks: - name: include_tasks - description: 'Whether to include cluster linking tasks in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludeStateTransitionErrors: - name: include_state_transition_errors - description: 'Whether to include mirror state transition errors in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - Force: - name: force - description: 'Force the action. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludePartitionLevelTruncationData: - name: include_partition_level_truncation_data - description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - LinkName: - name: link_name - description: The link name - in: path - required: true - schema: - type: string - example: link-sb1 - LinkConfigName: - name: config_name - description: The link config name - in: path - required: true - schema: - type: string - example: consumer.offset.sync.enable - MirrorTopicStatus: - name: mirror_status - description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' - in: query - required: false - schema: - $ref: '#/components/schemas/MirrorTopicStatus' - example: ACTIVE - MirrorTopicName: - name: mirror_topic_name - description: Cluster Linking mirror topic name - in: path - required: true - schema: - type: string - example: topic-1 - QueryParamLinkName: - name: link_name - description: The link name - in: query - required: true - schema: - type: string - example: link-sb1 responses: BadRequestError: description: Bad Request @@ -2030,7 +2989,9 @@ components: schema: type: string description: The unique identifier for the API request. - example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + example: >- + Basic error="invalid_key", error_description="The API Key is + invalid" content: application/json: schema: @@ -2060,7 +3021,9 @@ components: status: '403' code: user_unauthorized title: User Access Unauthorized - detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + detail: >- + The user 'mcfly' is not allowed to access the 'delorean' + resource without the 'plutonium' role. RateLimitError: description: Rate Limit Exceeded headers: @@ -2071,7 +3034,9 @@ components: X-RateLimit-Limit: schema: type: integer - description: The maximum number of requests you're permitted to make per time period. + description: >- + The maximum number of requests you're permitted to make per time + period. X-RateLimit-Remaining: schema: type: integer @@ -2079,16 +3044,21 @@ components: X-RateLimit-Reset: schema: type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. + description: >- + The relative time in seconds until the current rate-limit window + resets. - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. Retry-After: schema: type: integer - description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. DefaultSystemError: - description: 'Oops, something went wrong!' + description: Oops, something went wrong! headers: X-Request-Id: schema: @@ -2104,7 +3074,9 @@ components: status: '500' code: out_of_gas title: DeLorean Out Of Gas - detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap OverQuotaError: x-summary: Over Quota description: The request would exceed one or more quotas. @@ -2123,7 +3095,9 @@ components: status: '402' code: quota_exceeded title: Kafka Clusters Per Org Quota Exceeded - detail: 'The request would exceed the quota: kafka_clusters_per_environment' + detail: >- + The request would exceed the quota: + kafka_clusters_per_environment ConflictError: x-summary: Conflict description: The request is in conflict with the current server state @@ -2136,7 +3110,7 @@ components: schema: type: string format: uri - example: 'https://api.confluent.cloud/{object}/{id}' + example: https://api.confluent.cloud/{object}/{id} description: Resource URI of conflicting resource content: application/json: @@ -2148,7 +3122,9 @@ components: status: '409' code: resource_already_exists title: Resource Already exists - detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + detail: >- + The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already + exists. ValidationError: description: Validation Failed headers: @@ -2166,210 +3142,324 @@ components: code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size NotFoundError: @@ -2388,419 +3478,44 @@ components: - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d status: '404' title: Not Found - securitySchemes: - cloud-api-key: - type: http - scheme: basic - description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. - confluent-sts-access-token: - type: oauth2 - description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' - scopes: {} - api-key: - type: http - scheme: basic - description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. - resource-api-key: - type: http - scheme: basic - description: | - Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID - as the username and resource-specific API Key Secret as the password. - external-access-token: - type: oauth2 - description: Authenticate with OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https:///token' - scopes: {} - oauth: - type: oauth2 - description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. - flows: - clientCredentials: - tokenUrl: /oauth2/token - scopes: - 'partner:alter': enables partners to alter entitlements - 'partner:create': enables partners to create entitlements and signup on behalf of customers - 'partner:delete': enables partners to delete entitlements and organizations - 'partner:describe': enables partners to read and list entitlements and organizations - requestBodies: - AlterBrokerConfigBatchRequest: - description: The alter broker configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterClusterConfigBatchRequest: - description: The alter cluster configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterTopicConfigBatchRequest: - description: The alter topic configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - examples: - batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only_batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only: true - CreateAclRequest: - description: The ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestData' - example: - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - BatchCreateAclRequest: - description: The batch ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestDataList' - example: - data: - - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - - resource_type: TOPIC - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: READ - permission: ALLOW - CreateTopicRequest: - description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTopicRequestData' - examples: - uniform_replication: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - configs: - - name: cleanup.policy - value: compact - - name: compression.type - value: gzip - dry_run_create_topic: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - validate_only: true - ProduceRequest: - description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' - content: - application/json: - schema: - $ref: '#/components/schemas/ProduceRequest' - examples: - binary_and_json: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - partition_id: 1 - headers: - - name: Header-1 - value: SGVhZGVyLTE= - - name: Header-2 - value: SGVhZGVyLTI= - key: - type: BINARY - data: Zm9vYmFy - value: - type: JSON - data: - foo: bar - timestamp: '2021-02-05T19:14:42Z' - string: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - value: - type: STRING - data: My message - empty_value: - description: key or value can be omitted entirely. - value: - key: - data: 1000 - UpdateBrokerConfigRequest: - description: The broker configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateClusterConfigRequest: - description: The cluster configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateTopicConfigRequest: - description: The topic configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - CreateLinkRequest: - description: Create a cluster link - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLinkRequestData' - examples: - destination_initiated_link: - description: Create a destination initiated cluster link - value: - source_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: acl.sync.enable - value: 'false' - - name: consumer.offset.sync.ms - value: '30000' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_source_cluster: - description: Create a source initiated cluster link at source cluster - value: - destination_cluster_id: cluster-2 - configs: - - name: bootstrap.servers - value: cluster-2-bootstrap-server - - name: link.mode - value: SOURCE - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_destination_cluster: - description: Create a source initiated cluster link at destination cluster - value: - destination_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: link.mode - value: DESTINATION - - name: connection.mode - value: INBOUND - - name: acl.sync.enable - value: 'false' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_east: - description: Create a bidirectional cluster link in east - value: - remote_cluster_id: cluster-west - configs: - - name: bootstrap.servers - value: cluster-west-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: west. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_west: - description: Create a bidirectional cluster link in west - value: - remote_cluster_id: cluster-east - cluster_link_id: eEBkTffYSESld6EO898x3w - configs: - - name: bootstrap.servers - value: cluster-east-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: east. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - UpdateLinkConfigRequest: - content: - application/json: - example: - value: '300000' - schema: - $ref: '#/components/schemas/UpdateLinkConfigRequestData' - description: Link config value to update - AlterLinkConfigBatchRequest: - content: - application/json: - example: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - CreateMirrorTopicRequest: - description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateMirrorTopicRequestData' - examples: - generic_example: - description: Generic example of creating a mirror topic - value: - source_topic_name: topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 1 - example_with_mirror_topic_name: - description: Example using optional mirror_topic_name flag - value: - source_topic_name: topic-1 - mirror_topic_name: link1_topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 3 - AlterMirrorsRequest: - description: Mirror topics to be altered. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterMirrorsRequestData' - examples: - mirror_topic_names: - description: Example using mirror topic names - value: - mirror_topic_names: - - topic-1 - - topic-2 - mirror_topic_name_pattern: - description: Example using mirror topic name pattern - value: - mirror_topic_name_pattern: .* - RemoveBrokersRequest: - content: - application/json: - example: - broker_ids: - - 1 - - 2 - - 3 - schema: - $ref: '#/components/schemas/RemoveBrokersRequestData' - description: Broker ids to remove - BrokerReplicaExclusionBatchRequest: - description: Alter Broker Replica Exclusions. - content: - application/json: - schema: - $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' - example: - data: - - broker_id: 1 - reason: The broker is to be removed. - - broker_id: 2 - reason: The broker is to be removed. x-stackQL-resources: environments: id: confluent.org.environments name: environments title: Environments methods: - list_org_v2environments: + list_org_v2_environments: operation: $ref: '#/paths/~1org~1v2~1environments/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_org_v2environment: + create_org_v2_environment: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1org~1v2~1environments/post' response: mediaType: application/json openAPIDocKey: '201' - get_org_v2environment: + get_org_v2_environment: operation: $ref: '#/paths/~1org~1v2~1environments~1{id}/get' response: mediaType: application/json openAPIDocKey: '200' - update_org_v2environment: + update_org_v2_environment: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1org~1v2~1environments~1{id}/patch' response: mediaType: application/json openAPIDocKey: '200' - delete_org_v2environment: + delete_org_v2_environment: operation: $ref: '#/paths/~1org~1v2~1environments~1{id}/delete' response: @@ -2808,34 +3523,42 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/environments/methods/get_org_v2environment' - - $ref: '#/components/x-stackQL-resources/environments/methods/list_org_v2environments' + - $ref: >- + #/components/x-stackQL-resources/environments/methods/get_org_v2_environment + - $ref: >- + #/components/x-stackQL-resources/environments/methods/list_org_v2_environments insert: - - $ref: '#/components/x-stackQL-resources/environments/methods/create_org_v2environment' + - $ref: >- + #/components/x-stackQL-resources/environments/methods/create_org_v2_environment update: - - $ref: '#/components/x-stackQL-resources/environments/methods/update_org_v2environment' - replace: [] + - $ref: >- + #/components/x-stackQL-resources/environments/methods/update_org_v2_environment delete: - - $ref: '#/components/x-stackQL-resources/environments/methods/delete_org_v2environment' + - $ref: >- + #/components/x-stackQL-resources/environments/methods/delete_org_v2_environment + replace: [] organizations: id: confluent.org.organizations name: organizations title: Organizations methods: - list_org_v2organizations: + list_org_v2_organizations: operation: $ref: '#/paths/~1org~1v2~1organizations/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - get_org_v2organization: + get_org_v2_organization: operation: $ref: '#/paths/~1org~1v2~1organizations~1{id}/get' response: mediaType: application/json openAPIDocKey: '200' - update_org_v2organization: + update_org_v2_organization: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1org~1v2~1organizations~1{id}/patch' response: @@ -2843,1313 +3566,15 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/organizations/methods/get_org_v2organization' - - $ref: '#/components/x-stackQL-resources/organizations/methods/list_org_v2organizations' + - $ref: >- + #/components/x-stackQL-resources/organizations/methods/get_org_v2_organization + - $ref: >- + #/components/x-stackQL-resources/organizations/methods/list_org_v2_organizations insert: [] update: - - $ref: '#/components/x-stackQL-resources/organizations/methods/update_org_v2organization' - replace: [] + - $ref: >- + #/components/x-stackQL-resources/organizations/methods/update_org_v2_organization delete: [] - vw_organizations: - name: vw_organizations - id: confluent.org.vw_organizations - config: - views: - select: - predicate: sqlDialect == "sqlite3" - ddl: |- - select - id, - display_name, - json_extract(metadata, '$.resource_name') as resource_name, - json_extract(metadata, '$.created_at') as created_at, - json_extract(metadata, '$.updated_at') as updated_at, - jit_enabled, - api_version, - kind - from - confluent.org.organizations - fallback: - predicate: sqlDialect == "postgres" - ddl: |- - select - id, - display_name, - json_extract_path_text(metadata, 'resource_name') as resource_name, - json_extract_path_text(metadata, 'created_at') as created_at, - json_extract_path_text(metadata, 'updated_at') as updated_at, - jit_enabled, - api_version, - kind - from - confluent.org.organizations - vw_environments: - name: vw_environments - id: confluent.org.vw_environments - config: - views: - select: - predicate: sqlDialect == "sqlite3" - ddl: |- - select - id, - display_name, - json_extract(stream_governance_config, '$.package') as stream_governance_package, - json_extract(metadata, '$.resource_name') as resource_name, - json_extract(metadata, '$.created_at') as created_at, - json_extract(metadata, '$.updated_at') as updated_at, - json_extract(metadata, '$.self') as self, - api_version, - kind - from - confluent.org.environments - fallback: - predicate: sqlDialect == "postgres" - ddl: |- - select - id, - display_name, - json_extract_path_text(stream_governance_config, 'package') as stream_governance_package, - json_extract_path_text(metadata, 'resource_name') as resource_name, - json_extract_path_text(metadata, 'created_at') as created_at, - json_extract_path_text(metadata, 'updated_at') as updated_at, - json_extract_path_text(metadata, 'self') as self, - api_version, - kind - from - confluent.org.environments -paths: - /org/v2/environments: - get: - operationId: listOrgV2Environments - summary: List of Environments - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all environments. - parameters: - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Environments (org/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Environment. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/org.v2.EnvironmentList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://api.confluent.cloud/org/v2/environments \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/org/v2/environments") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/org/v2/environments\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/org/v2/environments", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/org/v2/environments", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/org/v2/environments"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/org/v2/environments"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createOrgV2Environment - summary: Create an Environment - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to create an environment. - tags: - - Environments (org/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/org.v2.Environment' - - type: object - required: - - display_name - responses: - '201': - description: An Environment was created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/org/v2/environments/{id}' - description: Environment resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/org.v2.Environment' - - type: object - required: - - display_name - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/org/v2/environments \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"display_name":"prod-finance01","stream_governance_config":{"package":"string"}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"prod-finance01\",\"stream_governance_config\":{\"package\":\"string\"}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/org/v2/environments") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/org/v2/environments\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"prod-finance01\\\",\\\"stream_governance_config\\\":{\\\"package\\\":\\\"string\\\"}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"display_name\":\"prod-finance01\",\"stream_governance_config\":{\"package\":\"string\"}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/org/v2/environments", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/org/v2/environments", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({display_name: 'prod-finance01', stream_governance_config: {package: 'string'}})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/org/v2/environments"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"prod-finance01\",\"stream_governance_config\":{\"package\":\"string\"}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/org/v2/environments"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"display_name\":\"prod-finance01\",\"stream_governance_config\":{\"package\":\"string\"}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/org/v2/environments/{id}': - get: - operationId: getOrgV2Environment - summary: Read an Environment - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read an environment. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the environment. - tags: - - Environments (org/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Environment. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/org.v2.Environment' - - type: object - required: - - api_version - - kind - - id - - display_name - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/org/v2/environments/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/org/v2/environments/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/org/v2/environments/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/org/v2/environments/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/org/v2/environments/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/org/v2/environments/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/org/v2/environments/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateOrgV2Environment - summary: Update an Environment - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to update an environment. - - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the environment. - tags: - - Environments (org/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/org.v2.Environment' - responses: - '200': - description: Environment. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/org.v2.Environment' - - type: object - required: - - api_version - - kind - - id - - display_name - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/org/v2/environments/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"display_name":"prod-finance01","stream_governance_config":{"package":"string"}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"prod-finance01\",\"stream_governance_config\":{\"package\":\"string\"}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/org/v2/environments/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/org/v2/environments/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"prod-finance01\\\",\\\"stream_governance_config\\\":{\\\"package\\\":\\\"string\\\"}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"display_name\":\"prod-finance01\",\"stream_governance_config\":{\"package\":\"string\"}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/org/v2/environments/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/org/v2/environments/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({display_name: 'prod-finance01', stream_governance_config: {package: 'string'}})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/org/v2/environments/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"prod-finance01\",\"stream_governance_config\":{\"package\":\"string\"}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/org/v2/environments/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"display_name\":\"prod-finance01\",\"stream_governance_config\":{\"package\":\"string\"}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteOrgV2Environment - summary: Delete an Environment - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to delete an environment. - - If successful, this request will also recursively delete all of the environment's associated resources, - including all Kafka clusters, connectors, etc. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the environment. - tags: - - Environments (org/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: An Environment is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/org/v2/environments/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/org/v2/environments/{id}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/org/v2/environments/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/org/v2/environments/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/org/v2/environments/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/org/v2/environments/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/org/v2/environments/{id}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /org/v2/organizations: - get: - operationId: listOrgV2Organizations - summary: List of Organizations - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all organizations. - parameters: - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Organizations (org/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Organization. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/org.v2.OrganizationList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://api.confluent.cloud/org/v2/organizations \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/org/v2/organizations") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/org/v2/organizations\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/org/v2/organizations", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/org/v2/organizations", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/org/v2/organizations"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/org/v2/organizations"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/org/v2/organizations/{id}': - get: - operationId: getOrgV2Organization - summary: Read an Organization - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read an organization. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the organization. - tags: - - Organizations (org/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Organization. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/org.v2.Organization' - - type: object - required: - - api_version - - kind - - id - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/org/v2/organizations/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/org/v2/organizations/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/org/v2/organizations/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/org/v2/organizations/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/org/v2/organizations/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/org/v2/organizations/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/org/v2/organizations/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateOrgV2Organization - summary: Update an Organization - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to update an organization. - - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the organization. - tags: - - Organizations (org/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/org.v2.Organization' - responses: - '200': - description: Organization. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/org.v2.Organization' - - type: object - required: - - api_version - - kind - - id - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/org/v2/organizations/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"display_name":"Finance Org","jit_enabled":true}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"Finance Org\",\"jit_enabled\":true}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/org/v2/organizations/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/org/v2/organizations/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"Finance Org\\\",\\\"jit_enabled\\\":true}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"display_name\":\"Finance Org\",\"jit_enabled\":true}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/org/v2/organizations/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/org/v2/organizations/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({display_name: 'Finance Org', jit_enabled: true})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/org/v2/organizations/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"Finance Org\",\"jit_enabled\":true}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/org/v2/organizations/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"display_name\":\"Finance Org\",\"jit_enabled\":true}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/partner.yaml b/providers/src/confluent/v00.00.00000/services/partner.yaml index f59b005d..f0c03641 100644 --- a/providers/src/confluent/v00.00.00000/services/partner.yaml +++ b/providers/src/confluent/v00.00.00000/services/partner.yaml @@ -1,1181 +1,1551 @@ openapi: 3.0.0 -servers: - - url: 'https://api.confluent.cloud' - description: Confluent Cloud API info: - version: '' - contact: - name: Confluent Cloud - url: 'https://www.confluent.io/cloud-contact-us/' - email: support@confluent.io - x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b - x-audience: external-public - x-logo: - url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' - title: Confluent Cloud APIs - partner - description: partner -tags: - - name: API Keys (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. - - The API allows you to list, create, update and delete your API Keys. - - - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - - ## The API Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - - name: Environments (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. - - - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - - ## The Environments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - - name: Organizations (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). - - The API allows you to list, view, and update your organizations. - - - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - - ## The Organizations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - - name: Users (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + title: partner API + description: confluent partner API + version: 1.0.0 +paths: + /partner/v2/entitlements: + get: + x-lifecycle-stage: Early Access + x-request-access-name: Partner v2 + operationId: listPartnerV2Entitlements + summary: List of Entitlements + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [![Request Access To Partner + v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - `User` objects represent individuals who may access your Confluent resources. - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. + Retrieve a sorted, filtered, paginated list of all entitlements. + parameters: + - name: organization.id + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: b3a17773-05cc-4431-9560-433fb4613da8 + description: Filter the results by exact match for organization.id. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + description: An opaque pagination token for collection requests. + tags: + - Entitlements (partner/v2) + security: + - oauth: + - partner:describe + responses: + '200': + description: Entitlement. + content: + application/json: + schema: + $ref: '#/components/schemas/partner.v2.EntitlementList' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/partner/v2/entitlements?organization.id=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE' \ + --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); + Request request = new Request.Builder() + .url("https://api.confluent.cloud/partner/v2/entitlements?organization.id=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE") + .get() + .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") + .build(); - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/entitlements?organization.id=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: >- + import http.client - ## The Users Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + conn = http.client.HTTPSConnection("api.confluent.cloud") - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - - name: Service Accounts (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. + headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" } - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. + conn.request("GET", + "/partner/v2/entitlements?organization.id=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE", + headers=headers) - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). - ## The Service Accounts Model - + res = conn.getresponse() - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + data = res.read() - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - - name: Invitations (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/partner/v2/entitlements?organization.id=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE", + "headers": { + "Authorization": "Bearer REPLACE_BEARER_TOKEN" + } + }; + const req = http.request(options, function (res) { + const chunks = []; - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + res.on("data", function (chunk) { + chunks.push(chunk); + }); - ## The Invitations Model - + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + req.end(); + - lang: C + source: >- + CURL *hnd = curl_easy_init(); - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - - name: IP Groups (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); + curl_easy_setopt(hnd, CURLOPT_URL, + "https://api.confluent.cloud/partner/v2/entitlements?organization.id=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE"); - ## The IP Groups Model - - - name: IP Filters (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Bearer + REPLACE_BEARER_TOKEN"); - ## The IP Filters Model - - - name: Role Bindings (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - A role binding grants a Principal a role on resources that match a pattern. - The API allows you to perform create, delete, and list operations on role bindings. + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: >- + var client = new + RestClient("https://api.confluent.cloud/partner/v2/entitlements?organization.id=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE"); + var request = new RestRequest(Method.GET); - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); - ## The Role Bindings Model - - - name: Subscriptions (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + IRestResponse response = client.Execute(request); + post: + x-lifecycle-stage: Early Access + x-request-access-name: Partner v2 + operationId: createPartnerV2Entitlement + summary: Create an Entitlement + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [![Request Access To Partner + v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + Make a request to create an entitlement. + tags: + - Entitlements (partner/v2) + security: + - oauth: + - partner:create + requestBody: + content: + application/json: + schema: + type: object + description: >- + `Entitlement` objects represent metadata about a marketplace + entitlement. + properties: + api_version: + type: string + enum: + - partner/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Entitlement + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + readOnly: true + example: dlz-f3a90de + metadata: + $ref: '#/components/schemas/ObjectMeta' + external_id: + type: string + description: >- + The unique external ID of the entitlement (this should be + unique to customer) + example: 1111-2222-3333-4444 + name: + type: string + description: The name of the entitlement + example: Acme Prod Entitlement + plan_id: + type: string + description: The plan ID the entitlement + example: confluent-cloud-payg-prod + x-extensible-enum: + - confluent-cloud-payg-prod + - payg-prod.gcpmarketplace.confluent.cloud + product_id: + type: string + description: The product ID of the entitlement + example: confluent-cloud-kafka-service-azure + x-extensible-enum: + - confluent-cloud-kafka-service-azure + - confluent-cloud-for-apache-kafka + - payg-prod.gcpmarketplace.confluent.cloud + usage_reporting_id: + type: string + description: > + The usage reporting ID of the entitlement (if usage + reporting uses + + a different ID, otherwise, same as external_id) + example: 1111-2222-3333-4444 + resource_id: + type: string + description: The resource ID of the entitlement + example: 1111-2222-3333-4444 + organization: + description: The organization associated with this object. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + additionalProperties: false + required: + - external_id + - name + - plan_id + - product_id + responses: + '201': + description: An Entitlement is being created. + headers: + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/partner/v2/entitlements/{id} + description: Entitlement resource uri + content: + application/json: + schema: + type: object + description: >- + `Entitlement` objects represent metadata about a marketplace + entitlement. + properties: + api_version: + type: string + enum: + - partner/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Entitlement + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + readOnly: true + example: dlz-f3a90de + metadata: + $ref: '#/components/schemas/ObjectMeta' + external_id: + type: string + description: >- + The unique external ID of the entitlement (this should be + unique to customer) + example: 1111-2222-3333-4444 + name: + type: string + description: The name of the entitlement + example: Acme Prod Entitlement + plan_id: + type: string + description: The plan ID the entitlement + example: confluent-cloud-payg-prod + x-extensible-enum: + - confluent-cloud-payg-prod + - payg-prod.gcpmarketplace.confluent.cloud + product_id: + type: string + description: The product ID of the entitlement + example: confluent-cloud-kafka-service-azure + x-extensible-enum: + - confluent-cloud-kafka-service-azure + - confluent-cloud-for-apache-kafka + - payg-prod.gcpmarketplace.confluent.cloud + usage_reporting_id: + type: string + description: > + The usage reporting ID of the entitlement (if usage + reporting uses + + a different ID, otherwise, same as external_id) + example: 1111-2222-3333-4444 + resource_id: + type: string + description: The resource ID of the entitlement + example: 1111-2222-3333-4444 + organization: + description: The organization associated with this object. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + additionalProperties: false + required: + - external_id + - name + - plan_id + - product_id + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request POST \ + --url https://api.confluent.cloud/partner/v2/entitlements \ + --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \ + --header 'content-type: application/json' \ + --data '{"external_id":"1111-2222-3333-4444","name":"Acme Prod Entitlement","plan_id":"confluent-cloud-payg-prod","product_id":"confluent-cloud-kafka-service-azure","usage_reporting_id":"1111-2222-3333-4444","resource_id":"1111-2222-3333-4444","organization":{"related":"string"}}' + - lang: Java + source: >- + OkHttpClient client = new OkHttpClient(); - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + MediaType mediaType = MediaType.parse("application/json"); - ## The Subscriptions Model - - - name: Integrations (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + RequestBody body = RequestBody.create(mediaType, + "{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod + Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"related\":\"string\"}}"); - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. + Request request = new Request.Builder() + .url("https://api.confluent.cloud/partner/v2/entitlements") + .post(body) + .addHeader("content-type", "application/json") + .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") + .build(); + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/entitlements\"\n\n\tpayload := strings.NewReader(\"{\\\"external_id\\\":\\\"1111-2222-3333-4444\\\",\\\"name\\\":\\\"Acme Prod Entitlement\\\",\\\"plan_id\\\":\\\"confluent-cloud-payg-prod\\\",\\\"product_id\\\":\\\"confluent-cloud-kafka-service-azure\\\",\\\"usage_reporting_id\\\":\\\"1111-2222-3333-4444\\\",\\\"resource_id\\\":\\\"1111-2222-3333-4444\\\",\\\"organization\\\":{\\\"related\\\":\\\"string\\\"}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: >- + import http.client - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - ## The Integrations Model - + conn = http.client.HTTPSConnection("api.confluent.cloud") - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - - name: Notification Types (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + payload = "{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme + Prod + Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"related\":\"string\"}}" - The type of notifications (and their corresponding metadata) supported by Confluent. + headers = { + 'content-type': "application/json", + 'Authorization': "Bearer REPLACE_BEARER_TOKEN" + } - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + conn.request("POST", "/partner/v2/entitlements", payload, headers) - ## The Notification Types Model - - - name: Clusters (cmk/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. + res = conn.getresponse() - The API allows you to list, create, read, update, and delete your Kafka clusters. + data = res.read() - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); - ## The Clusters Model - + const options = { + "method": "POST", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/partner/v2/entitlements", + "headers": { + "content-type": "application/json", + "Authorization": "Bearer REPLACE_BEARER_TOKEN" + } + }; - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + const req = http.request(options, function (res) { + const chunks = []; - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - - name: Clusters (ksqldbcm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + res.on("data", function (chunk) { + chunks.push(chunk); + }); - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + req.write(JSON.stringify({ + external_id: '1111-2222-3333-4444', + name: 'Acme Prod Entitlement', + plan_id: 'confluent-cloud-payg-prod', + product_id: 'confluent-cloud-kafka-service-azure', + usage_reporting_id: '1111-2222-3333-4444', + resource_id: '1111-2222-3333-4444', + organization: {related: 'string'} + })); + req.end(); + - lang: C + source: >- + CURL *hnd = curl_easy_init(); - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - ## The Clusters Model - + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - ## Quotas and Limits - This resource is subject to the following quotas: + curl_easy_setopt(hnd, CURLOPT_URL, + "https://api.confluent.cloud/partner/v2/entitlements"); - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - - name: Connectors (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for Managed Connectors or Custom Connectors in Confluent Cloud. + struct curl_slist *headers = NULL; - The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + headers = curl_slist_append(headers, "content-type: + application/json"); - Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + headers = curl_slist_append(headers, "Authorization: Bearer + REPLACE_BEARER_TOKEN"); - Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - name: Lifecycle (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. - - name: Status (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. - - name: Managed Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, + "{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod + Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"related\":\"string\"}}"); - API for Managed connectors in Confluent Cloud. - - name: Offsets (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for managing the offsets for a Managed Connector. + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: >- + var client = new + RestClient("https://api.confluent.cloud/partner/v2/entitlements"); - Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) - - name: Custom Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + var request = new RestRequest(Method.POST); - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + request.AddHeader("content-type", "application/json"); + request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); - ## The Custom Connector Plugins Model - - - name: Presigned Urls (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + request.AddParameter("application/json", + "{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod + Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"related\":\"string\"}}", + ParameterType.RequestBody); - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. + IRestResponse response = client.Execute(request); + x-lifecycle-stage: Early Access + x-request-access-name: Partner v2 + /partner/v2/entitlements/{id}: + get: + x-lifecycle-stage: Early Access + x-request-access-name: Partner v2 + operationId: getPartnerV2Entitlement + summary: Read an Entitlement + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [![Request Access To Partner + v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + Make a request to read an entitlement. + parameters: + - name: organization.id + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: b3a17773-05cc-4431-9560-433fb4613da8 + description: Scope the operation to the given organization.id. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the entitlement. + tags: + - Entitlements (partner/v2) + security: + - oauth: + - partner:describe + responses: + '200': + description: Entitlement. + content: + application/json: + schema: + type: object + description: >- + `Entitlement` objects represent metadata about a marketplace + entitlement. + properties: + api_version: + type: string + enum: + - partner/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Entitlement + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + readOnly: true + example: dlz-f3a90de + metadata: + $ref: '#/components/schemas/ObjectMeta' + external_id: + type: string + description: >- + The unique external ID of the entitlement (this should be + unique to customer) + example: 1111-2222-3333-4444 + name: + type: string + description: The name of the entitlement + example: Acme Prod Entitlement + plan_id: + type: string + description: The plan ID the entitlement + example: confluent-cloud-payg-prod + x-extensible-enum: + - confluent-cloud-payg-prod + - payg-prod.gcpmarketplace.confluent.cloud + product_id: + type: string + description: The product ID of the entitlement + example: confluent-cloud-kafka-service-azure + x-extensible-enum: + - confluent-cloud-kafka-service-azure + - confluent-cloud-for-apache-kafka + - payg-prod.gcpmarketplace.confluent.cloud + usage_reporting_id: + type: string + description: > + The usage reporting ID of the entitlement (if usage + reporting uses + + a different ID, otherwise, same as external_id) + example: 1111-2222-3333-4444 + resource_id: + type: string + description: The resource ID of the entitlement + example: 1111-2222-3333-4444 + organization: + description: The organization associated with this object. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + additionalProperties: false + required: + - external_id + - name + - plan_id + - product_id + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=SOME_STRING_VALUE' \ + --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); - ## The Presigned Urls Model - - - name: Cluster (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Configs (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: ACL (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Consumer Group (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Partition (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Topic (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Records (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Cluster Linking (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Applied Quotas (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. - + Request request = new Request.Builder() + .url("https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=SOME_STRING_VALUE") + .get() + .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") + .build(); - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: >- + import http.client - ## The Applied Quotas Model - - - name: Scopes (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Gets a list of all available scopes for applied quotas. + conn = http.client.HTTPSConnection("api.confluent.cloud") - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" } - ## The Scopes Model - - - name: Entitlements (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - `Entitlement` objects represent metadata about a marketplace entitlement. + conn.request("GET", + "/partner/v2/entitlements/%7Bid%7D?organization.id=SOME_STRING_VALUE", + headers=headers) - An entitlement includes metadata about a marketplace purchase - (start date, end date, billing information, partner IDs, etc). - The API allows partners to create, read, and list entitlements. (Unless you - need entitlement creation and customer registration to be separate, - we recommend using the Signup API to create an organization and entitlement - at the same time) - The API only allows authorized partners to interact with the Entitlements API. - - name: Regions (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + res = conn.getresponse() - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. + data = res.read() - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/partner/v2/entitlements/%7Bid%7D?organization.id=SOME_STRING_VALUE", + "headers": { + "Authorization": "Bearer REPLACE_BEARER_TOKEN" + } + }; - ## The Regions Model - - - name: Clusters (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + const req = http.request(options, function (res) { + const chunks = []; - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. + res.on("data", function (chunk) { + chunks.push(chunk); + }); - The API allows you to list, create, read, and delete your Schema Registry clusters. + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + req.end(); + - lang: C + source: >- + CURL *hnd = curl_easy_init(); - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - ## The Clusters Model - - - name: Clusters (srcm/v3) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + curl_easy_setopt(hnd, CURLOPT_URL, + "https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=SOME_STRING_VALUE"); - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - The API allows you to list and read your Schema Registry clusters. + struct curl_slist *headers = NULL; + headers = curl_slist_append(headers, "Authorization: Bearer + REPLACE_BEARER_TOKEN"); - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - ## The Clusters Model - - - name: Compatibility (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to test schema compatibility. + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: >- + var client = new + RestClient("https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=SOME_STRING_VALUE"); - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Config (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + var request = new RestRequest(Method.GET); - The API allows you to manage and query schema compatibility settings and cluster configurations. + request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Contexts (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + IRestResponse response = client.Execute(request); + x-lifecycle-stage: Early Access + x-request-access-name: Partner v2 + /partner/v2/organizations/{id}: + get: + x-lifecycle-stage: Early Access + x-request-access-name: Partner v2 + operationId: getPartnerV2Organization + summary: Read an Organization + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [![Request Access To Partner + v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - The API allows you to retrieve information about schema contexts. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Exporters (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to read an organization. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the organization. + tags: + - Organizations (partner/v2) + security: + - oauth: + - marketplace::describe + responses: + '200': + description: Organization. + content: + application/json: + schema: + type: object + description: >- + `Organizations` objects represent an entire Confluent Cloud + organization. + properties: + api_version: + type: string + enum: + - partner/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Organization + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + readOnly: true + example: dlz-f3a90de + metadata: + $ref: '#/components/schemas/ObjectMeta' + name: + type: string + description: The name of the organization + example: Acme Organization + pattern: ^[^<>#%'*^`{|}~\"]{1,31}$ + sso_url: + type: string + format: uri + description: The login URL for the customer to access Confluent Cloud + example: https://confluent.cloud/login/sso/AzureAD-OIDC-Conn + readOnly: true + sso_config: + discriminator: + propertyName: kind + type: object + required: + - kind + - tenant_id + properties: + kind: + type: string + example: AzureSSOConfig + tenant_id: + type: string + example: b3a17773-05cc-4431-9560-433fb4613da8 + description: The Azure AD tenant ID + additionalProperties: false + required: + - api_version + - kind + - id + - metadata + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/partner/v2/organizations/{id}' \ + --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); - The API allows you to create, retrieve, update, and delete exporters. + Request request = new Request.Builder() + .url("https://api.confluent.cloud/partner/v2/organizations/{id}") + .get() + .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") + .build(); - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Modes (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/organizations/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: >- + import http.client - The API allows you to create, retrieve, update, and delete schema subjects modes of operation. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Schemas (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + conn = http.client.HTTPSConnection("api.confluent.cloud") - The API allows you to create, retrieve, update, and delete schemas. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Subjects (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" } - The API allows you to create, retrieve, update, and delete schema subjects and versions. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Key Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + conn.request("GET", "/partner/v2/organizations/{id}", + headers=headers) - The API allows you to create, retrieve, update, and delete key encryption keys. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Data Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + res = conn.getresponse() - The API allows you to create, retrieve, update, and delete data encryption keys. + data = res.read() - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Entity (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete catalog entities. + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Search (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/partner/v2/organizations/{id}", + "headers": { + "Authorization": "Bearer REPLACE_BEARER_TOKEN" + } + }; - The API allows you to search for entities. + const req = http.request(options, function (res) { + const chunks = []; - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Types (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + res.on("data", function (chunk) { + chunks.push(chunk); + }); - The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Provider Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + req.end(); + - lang: C + source: >- + CURL *hnd = curl_easy_init(); - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - ## The Provider Shared Resources Model - - - name: Provider Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + curl_easy_setopt(hnd, CURLOPT_URL, + "https://api.confluent.cloud/partner/v2/organizations/{id}"); - `ProviderShare` object respresents the share that you have created through Stream Sharing. + struct curl_slist *headers = NULL; - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + headers = curl_slist_append(headers, "Authorization: Bearer + REPLACE_BEARER_TOKEN"); - ## The Provider Shares Model - - - name: Consumer Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: >- + var client = new + RestClient("https://api.confluent.cloud/partner/v2/organizations/{id}"); - ## The Consumer Shared Resources Model - - - name: Consumer Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + var request = new RestRequest(Method.GET); - `ConsumerShare` object respresents the share that you received through Stream Sharing. + request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); + IRestResponse response = client.Execute(request); + x-lifecycle-stage: Early Access + x-request-access-name: Partner v2 + /partner/v2/organizations: + get: + x-lifecycle-stage: Early Access + x-request-access-name: Partner v2 + operationId: listPartnerV2Organizations + summary: List of Organizations + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [![Request Access To Partner + v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). - ## The Consumer Shares Model - - - name: Shared Tokens (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Retrieve a sorted, filtered, paginated list of all organizations. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + description: An opaque pagination token for collection requests. + tags: + - Organizations (partner/v2) + security: + - oauth: + - marketplace::describe + responses: + '200': + description: Organization. + content: + application/json: + schema: + $ref: '#/components/schemas/partner.v2.OrganizationList' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-codeSamples: + - lang: Shell + source: |- + curl --request GET \ + --url 'https://api.confluent.cloud/partner/v2/organizations?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE' \ + --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' + - lang: Java + source: |- + OkHttpClient client = new OkHttpClient(); - Encrypted Token shared with consumer - - - ## The Shared Tokens Model - - - name: Opt Ins (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Stream sharing opt in options - - ## The Opt Ins Model - - - name: Organizations (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Organizations` objects represent an entire Confluent Cloud organization. - Partners are allowed to get an organization they have signed up or - list all organizations they have signed up. - - name: Signup (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Signup` APIs can only be performed by partners. - - name: Networks (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. - - The API allows you to list, create, read, update, and delete your networks. - - - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - - ## The Networks Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - - name: Peerings (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - - - ## The Peerings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - - name: Transit Gateway Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AWS Transit Gateway Attachments - - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - - ## The Transit Gateway Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - - name: Private Link Accesses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. - - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). - - - ## The Private Link Accesses Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - - name: Network Link Services (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Services Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - - name: Network Link Endpoints (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Endpoints Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - - name: Network Link Service Associations (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - List of incoming Network Link Enpoints associated with the Network Link Service. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Service Associations Model - - - name: Gateways (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A gateway is a resource that defines network access to Confluent cloud resources. - - - ## The Gateways Model - - - name: IP Addresses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - IP Addresses - - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) - - ## The IP Addresses Model - - - name: Private Link Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. - - - ## The Private Link Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - - name: Private Link Attachment Connections (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. + Request request = new Request.Builder() + .url("https://api.confluent.cloud/partner/v2/organizations?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE") + .get() + .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") + .build(); + Response response = client.newCall(request).execute(); + - lang: Go + source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/organizations?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" + - lang: Python + source: >- + import http.client - ## The Private Link Attachment Connections Model - - - name: Identity Providers (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. + conn = http.client.HTTPSConnection("api.confluent.cloud") - The API allows you to list, create, read, update, and delete your Identity Provider. + headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" } - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - ## The Identity Providers Model - + conn.request("GET", + "/partner/v2/organizations?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE", + headers=headers) - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - - name: Jwks (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + res = conn.getresponse() - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. + data = res.read() - The API allows you to refresh JWKS public key data. + print(data.decode("utf-8")) + - lang: Node + source: |- + const http = require("https"); - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). + const options = { + "method": "GET", + "hostname": "api.confluent.cloud", + "port": null, + "path": "/partner/v2/organizations?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE", + "headers": { + "Authorization": "Bearer REPLACE_BEARER_TOKEN" + } + }; - ## The Jwks Model - - - name: Identity Pools (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + const req = http.request(options, function (res) { + const chunks = []; - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. + res.on("data", function (chunk) { + chunks.push(chunk); + }); - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. + res.on("end", function () { + const body = Buffer.concat(chunks); + console.log(body.toString()); + }); + }); + req.end(); + - lang: C + source: >- + CURL *hnd = curl_easy_init(); - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). - ## The Identity Pools Model - + curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + curl_easy_setopt(hnd, CURLOPT_URL, + "https://api.confluent.cloud/partner/v2/organizations?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE"); - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - - name: OAuth Tokens (sts/v1) - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of - external identities to access Confluent Cloud APIs - - name: Client Quotas (kafka-quotas/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + struct curl_slist *headers = NULL; - `ClientQuota` objects represent Client Quotas you can set at the service account level. + headers = curl_slist_append(headers, "Authorization: Bearer + REPLACE_BEARER_TOKEN"); - The API allows you to list, create, read, update, and delete your client quotas. + curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + CURLcode ret = curl_easy_perform(hnd); + - lang: C# + source: >- + var client = new + RestClient("https://api.confluent.cloud/partner/v2/organizations?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE"); - ## The Client Quotas Model - - - name: Pipelines (sd/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + var request = new RestRequest(Method.GET); - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. + request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. + IRestResponse response = client.Execute(request); + x-lifecycle-stage: Early Access + x-request-access-name: Partner v2 + /partner/v2/signup: + post: + summary: Signup an Organization on behalf of a Customer + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [![Request Access To Partner + v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). + Create an organization for a customer. You must pass in either an + entitlement object reference (a url to - ## The Pipelines Model - + a previously created entitlement) or entitlement details. If you pass in + an entitlement object reference, we will link with the - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + created entitlement. If you pass in the entitlement details, we will + create the entitlement with the organization - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - - name: Keys (byok/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + in a single transaction. If you pass in user details (email, given name, + and family name), we will - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. + create a user as well. If you do not pass in user details, you MUST call + `/partner/v2/signup/activate` - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. + with user details to complete signup. + parameters: + - name: dry_run + in: query + required: false + schema: + type: boolean + description: If true, only perform validation of signup + requestBody: + description: A JSON object containing signup information + content: + application/json: + schema: + $ref: '#/components/schemas/PartnerSignupRequest' + x-lifecycle-stage: Early Access + operationId: signup + tags: + - Signup (partner/v2) + security: + - oauth: + - partner:create + responses: + '201': + description: Successful signup. + content: + application/json: + schema: + $ref: '#/components/schemas/PartnerSignupResponse' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + /partner/v2/signup/activate: + post: + summary: Activate an Incomplete Signup + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [![Request Access To Partner + v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). + Creates a user in the organization previously created in + `/partner/v2/signup`. This completes the signup - ## The Keys Model - + process if you did not pass in user details to `/partner/v2/signup`. + Calling this endpoint if the signup - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + process has been completed will result in a `409 Conflict` error. + requestBody: + description: A JSON object containing signup information + content: + application/json: + schema: + $ref: '#/components/schemas/ActivatePartnerSignupRequest' + x-lifecycle-stage: Early Access + operationId: activateSignup + tags: + - Signup (partner/v2) + security: + - oauth: + - partner:create + responses: + '201': + description: Successful signup activation. User is being created. + content: + application/json: + schema: + $ref: '#/components/schemas/PartnerSignupResponse' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: Early Access + /partner/v2/signup/link: + post: + summary: Signup a Customer by Linking to an Existing Organization + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [![Request Access To Partner + v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - - name: Costs (billing/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Cost` objects represent the aggregated billing costs for an organization + Signup a customer by linking a new entitlement to an existing Confluent + Cloud organization. + parameters: + - name: dry_run + in: query + required: false + schema: + type: boolean + description: If true, only perform validation of signup + requestBody: + description: A JSON object containing signup information + content: + application/json: + schema: + $ref: '#/components/schemas/PartnerLinkRequest' + x-lifecycle-stage: Early Access + operationId: signupPartnerV2Link + tags: + - Signup (partner/v2) + security: + - oauth: + - partner:create + responses: + '201': + description: Successful signup. + content: + application/json: + schema: + $ref: '#/components/schemas/PartnerSignupResponse' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + partner.v2.EntitlementList: + type: object + description: >- + `Entitlement` objects represent metadata about a marketplace + entitlement. + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - partner/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - EntitlementList + metadata: + $ref: '#/components/schemas/ListMeta' + data: + type: array + items: + type: object + description: >- + `Entitlement` objects represent metadata about a marketplace + entitlement. + properties: + api_version: + type: string + enum: + - partner/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Entitlement + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + readOnly: true + example: dlz-f3a90de + metadata: + $ref: '#/components/schemas/ObjectMeta' + external_id: + type: string + description: >- + The unique external ID of the entitlement (this should be + unique to customer) + example: 1111-2222-3333-4444 + name: + type: string + description: The name of the entitlement + example: Acme Prod Entitlement + plan_id: + type: string + description: The plan ID the entitlement + example: confluent-cloud-payg-prod + x-extensible-enum: + - confluent-cloud-payg-prod + - payg-prod.gcpmarketplace.confluent.cloud + product_id: + type: string + description: The product ID of the entitlement + example: confluent-cloud-kafka-service-azure + x-extensible-enum: + - confluent-cloud-kafka-service-azure + - confluent-cloud-for-apache-kafka + - payg-prod.gcpmarketplace.confluent.cloud + usage_reporting_id: + type: string + description: > + The usage reporting ID of the entitlement (if usage reporting + uses - - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). - - ## The Costs Model - - - name: Group Mappings (iam/v2/sso) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. - - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. - - - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). - - ## The Group Mappings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - - name: Compute Pools (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. - - - ## The Compute Pools Model - - - name: Regions (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. - - - ## The Regions Model - - - name: Statements (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - - name: Statement Results (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementResult` represents a result of a `Statement` resource. - The API allows you to read your statement's results. - ## The Statement Results Model - - - name: Statement Exceptions (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementException` represents an exception of a `Statement` resource. - The API allows you to read your statement's exceptions. - ## The Statement Exceptions Model - - - name: Connections (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Connection` represents a core resource used to model SQL connections for execution. - A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - - name: DNS Forwarders (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add, remove, and update DNS forwarder for your gateway. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - - - ## The DNS Forwarders Model - - - name: Access Points (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. - - - ## The Access Points Model - - - name: DNS Records (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - - ## The DNS Records Model - - - name: Certificate Authorities (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Certificate Authority. - - - Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). - - ## The Certificate Authorities Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `certificate_authorities_per_org` | Number of certificate authorities per organization | - - name: Certificate Identity Pools (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Identitypool` objects represent workload identities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities - - - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). - - ## The Certificate Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - - name: Integrations (pim/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). - - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. - - - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). - - ## The Integrations Model - - - name: Flink Artifacts (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. - - - ## The Flink Artifacts Model - - - name: Presigned Urls (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - - ## The Presigned Urls Model - - - name: Flink Artifact Versions (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. - - - ## The Flink Artifact Versions Model - -components: - schemas: - SearchFilter: - description: Filter a collection by a string search - type: string - partner.v2.EntitlementList: - type: object - description: '`Entitlement` objects represent metadata about a marketplace entitlement.' - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - partner/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - EntitlementList - metadata: - $ref: '#/components/schemas/ListMeta' - data: - type: array - items: - allOf: - - $ref: '#/components/schemas/partner.v2.Entitlement' - - type: object + a different ID, otherwise, same as external_id) + example: 1111-2222-3333-4444 + resource_id: + type: string + description: The resource ID of the entitlement + example: 1111-2222-3333-4444 + organization: + description: The organization associated with this object. + type: object required: - id - - metadata - - external_id - - name - - plan_id - - product_id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + additionalProperties: false + required: + - id + - metadata + - external_id + - name + - plan_id + - product_id uniqueItems: true additionalProperties: false - ListMeta: - type: object - description: ListMeta describes metadata that resource collections may have - properties: - first: - description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds' - last: - description: 'A link to the last page of results. If a response does not contain a last link, then direct navigation to the last page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT' - prev: - description: 'A link to the previous page of results. If a response does not contain a prev link, then either there is no previous data or backwards traversal through the result set is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld' - next: - description: 'A link to the next page of results. If a response does not contain a next link, then there is no more data available.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb' - total_size: - description: Number of records in the full result set. This response may be paginated and have a smaller number of records. - type: integer - format: int32 - minimum: 0 - example: 123 partner.v2.Entitlement: type: object - description: '`Entitlement` objects represent metadata about a marketplace entitlement.' + description: >- + `Entitlement` objects represent metadata about a marketplace + entitlement. properties: api_version: type: string enum: - partner/v2 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string @@ -1184,7 +1554,13 @@ components: enum: - Entitlement id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). type: string readOnly: true example: dlz-f3a90de @@ -1192,7 +1568,9 @@ components: $ref: '#/components/schemas/ObjectMeta' external_id: type: string - description: The unique external ID of the entitlement (this should be unique to customer) + description: >- + The unique external ID of the entitlement (this should be unique to + customer) example: 1111-2222-3333-4444 name: type: string @@ -1224,302 +1602,789 @@ components: description: The resource ID of the entitlement example: 1111-2222-3333-4444 organization: - allOf: - - $ref: '#/components/schemas/ObjectReference' - - required: - - related description: The organization associated with this object. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true additionalProperties: false - AclOperation: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - AclPatternType: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - MATCH - - LITERAL - - PREFIXED - AclPermission: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - DENY - - ALLOW - AclResourceType: - type: string - enum: - - UNKNOWN - - ANY - - TOPIC - - GROUP - - CLUSTER - - TRANSACTIONAL_ID - - DELEGATION_TOKEN - BrokerTaskType: - type: string - enum: - - add-broker - - remove-broker - MirrorTopicStatus: - enum: - - ACTIVE - - FAILED - - LINK_FAILED - - LINK_PAUSED - - PAUSED - - PENDING_STOPPED - - SOURCE_UNAVAILABLE - - STOPPED - - PENDING_MIRROR - - PENDING_SYNCHRONIZE - - PENDING_SETUP_FOR_RESTORE - - PENDING_RESTORE - type: string - Failure: + partner.v2.Organization: type: object - description: Provides information about problems encountered while performing an operation. - required: - - errors + description: >- + `Organizations` objects represent an entire Confluent Cloud + organization. properties: - errors: - description: List of errors which caused this operation to fail - type: array - items: - $ref: '#/components/schemas/Error' - uniqueItems: true - AlterConfigBatchRequestData: + api_version: + type: string + enum: + - partner/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Organization + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + readOnly: true + example: dlz-f3a90de + metadata: + $ref: '#/components/schemas/ObjectMeta' + name: + type: string + description: The name of the organization + example: Acme Organization + pattern: ^[^<>#%'*^`{|}~\"]{1,31}$ + sso_url: + type: string + format: uri + description: The login URL for the customer to access Confluent Cloud + example: https://confluent.cloud/login/sso/AzureAD-OIDC-Conn + readOnly: true + sso_config: + discriminator: + propertyName: kind + type: object + required: + - kind + - tenant_id + properties: + kind: + type: string + example: AzureSSOConfig + tenant_id: + type: string + example: b3a17773-05cc-4431-9560-433fb4613da8 + description: The Azure AD tenant ID + additionalProperties: false + partner.v2.OrganizationList: type: object + description: >- + `Organizations` objects represent an entire Confluent Cloud + organization. required: + - api_version + - kind + - metadata - data properties: + api_version: + type: string + enum: + - partner/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - OrganizationList + metadata: + $ref: '#/components/schemas/ListMeta' data: type: array items: type: object - required: - - name + description: >- + `Organizations` objects represent an entire Confluent Cloud + organization. properties: - name: + api_version: type: string - value: + enum: + - partner/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: type: string - nullable: true - operation: + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Organization + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). type: string - x-extensible-enum: - - SET - - DELETE - nullable: true - validate_only: - type: boolean - CreateAclRequestData: + readOnly: true + example: dlz-f3a90de + metadata: + $ref: '#/components/schemas/ObjectMeta' + name: + type: string + description: The name of the organization + example: Acme Organization + pattern: ^[^<>#%'*^`{|}~\"]{1,31}$ + sso_url: + type: string + format: uri + description: The login URL for the customer to access Confluent Cloud + example: https://confluent.cloud/login/sso/AzureAD-OIDC-Conn + readOnly: true + sso_config: + discriminator: + propertyName: kind + type: object + required: + - kind + - tenant_id + properties: + kind: + type: string + example: AzureSSOConfig + tenant_id: + type: string + example: b3a17773-05cc-4431-9560-433fb4613da8 + description: The Azure AD tenant ID + additionalProperties: false + required: + - id + - metadata + uniqueItems: true + additionalProperties: false + PartnerSignupRequest: type: object + description: The partner signup request required: - - resource_type - - resource_name - - pattern_type - - principal - - host - - operation - - permission + - organization + - entitlement properties: - resource_type: - $ref: '#/components/schemas/AclResourceType' - resource_name: - type: string - pattern_type: - $ref: '#/components/schemas/AclPatternType' - principal: - type: string - host: + organization: + type: object + description: >- + `Organizations` objects represent an entire Confluent Cloud + organization. + properties: + api_version: + type: string + enum: + - partner/v2 + description: >- + APIVersion defines the schema version of this representation of + a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Organization + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be reclaimed + and reused after an object is deleted ("time"); however, it may + collide with IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + readOnly: true + example: dlz-f3a90de + metadata: + $ref: '#/components/schemas/ObjectMeta' + name: + type: string + description: The name of the organization + example: Acme Organization + pattern: ^[^<>#%'*^`{|}~\"]{1,31}$ + sso_url: + type: string + format: uri + description: The login URL for the customer to access Confluent Cloud + example: https://confluent.cloud/login/sso/AzureAD-OIDC-Conn + readOnly: true + sso_config: + discriminator: + propertyName: kind + type: object + required: + - kind + - tenant_id + properties: + kind: + type: string + example: AzureSSOConfig + tenant_id: + type: string + example: b3a17773-05cc-4431-9560-433fb4613da8 + description: The Azure AD tenant ID + additionalProperties: false + required: + - name + - sso_config + user: type: string - operation: - $ref: '#/components/schemas/AclOperation' - permission: - $ref: '#/components/schemas/AclPermission' - CreateAclRequestDataList: - allOf: - - type: object + description: (opaque JSON object) required: - - data + - given_name + - family_name + - email + entitlement: + type: object + description: >- + `Entitlement` objects represent metadata about a marketplace + entitlement. properties: - data: - type: array - items: - $ref: '#/components/schemas/CreateAclRequestData' - CreateTopicRequestData: + api_version: + type: string + enum: + - partner/v2 + description: >- + APIVersion defines the schema version of this representation of + a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Entitlement + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be reclaimed + and reused after an object is deleted ("time"); however, it may + collide with IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + readOnly: true + example: dlz-f3a90de + metadata: + $ref: '#/components/schemas/ObjectMeta' + external_id: + type: string + description: >- + The unique external ID of the entitlement (this should be unique + to customer) + example: 1111-2222-3333-4444 + name: + type: string + description: The name of the entitlement + example: Acme Prod Entitlement + plan_id: + type: string + description: The plan ID the entitlement + example: confluent-cloud-payg-prod + x-extensible-enum: + - confluent-cloud-payg-prod + - payg-prod.gcpmarketplace.confluent.cloud + product_id: + type: string + description: The product ID of the entitlement + example: confluent-cloud-kafka-service-azure + x-extensible-enum: + - confluent-cloud-kafka-service-azure + - confluent-cloud-for-apache-kafka + - payg-prod.gcpmarketplace.confluent.cloud + usage_reporting_id: + type: string + description: > + The usage reporting ID of the entitlement (if usage reporting + uses + + a different ID, otherwise, same as external_id) + example: 1111-2222-3333-4444 + resource_id: + type: string + description: The resource ID of the entitlement + example: 1111-2222-3333-4444 + organization: + description: The organization associated with this object. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + additionalProperties: false + required: + - external_id + - name + - plan_id + - product_id + - id + - related + - resource_name + PartnerSignupResponse: type: object + description: The partner signup response required: - - topic_name + - organization_id + - sso_url properties: - topic_name: + organization_id: type: string - partitions_count: - type: integer - replication_factor: - type: integer - configs: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - validate_only: - type: boolean - ProduceRequest: - type: object - properties: - partition_id: - type: integer - nullable: true - format: int32 - headers: - type: array - items: - $ref: '#/components/schemas/ProduceRequestHeader' - key: - $ref: '#/components/schemas/ProduceRequestData' - value: - $ref: '#/components/schemas/ProduceRequestData' - timestamp: + description: The ID of the organization + example: b3a17773-05cc-4431-9560-433fb4613da8 + sso_url: type: string - format: date-time - nullable: true - UpdateConfigRequestData: - type: object - properties: - value: + format: uri + description: The login URL for the customer to access Confluent Cloud + example: https://confluent.cloud/login/sso/AzureAD-OIDC-Conn + display_message: type: string - nullable: true - CreateLinkRequestData: + description: >- + The display message contains useful information which is shown on + the Marketplace UI to the customers. + example: >- + Your support plan will remain the same, to change the plan, follow + this + [link](https://docs.confluent.io/cloud/current/faq.html#how-do-i-change-support-plans). + ActivatePartnerSignupRequest: + type: object + description: The partner signup activation request + required: + - user + - organization_id properties: - source_cluster_id: - type: string - destination_cluster_id: - type: string - remote_cluster_id: - description: The expected remote cluster ID. + user: type: string - cluster_link_id: - description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + description: (opaque JSON object) + required: + - given_name + - family_name + - email + organization_id: type: string - configs: - items: - $ref: '#/components/schemas/ConfigData' - type: array + description: The ID of the organization + example: b3a17773-05cc-4431-9560-433fb4613da8 + PartnerLinkRequest: type: object - UpdateLinkConfigRequestData: + description: The partner linking request + required: + - token + - organization + - entitlement properties: - value: + token: type: string - required: - - value + description: The linking token that was generated. + example: >- + eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + x-redact: true + organization: + type: object + description: >- + `Organizations` objects represent an entire Confluent Cloud + organization. + properties: + api_version: + type: string + enum: + - partner/v2 + description: >- + APIVersion defines the schema version of this representation of + a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Organization + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be reclaimed + and reused after an object is deleted ("time"); however, it may + collide with IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + readOnly: true + example: dlz-f3a90de + metadata: + $ref: '#/components/schemas/ObjectMeta' + name: + type: string + description: The name of the organization + example: Acme Organization + pattern: ^[^<>#%'*^`{|}~\"]{1,31}$ + sso_url: + type: string + format: uri + description: The login URL for the customer to access Confluent Cloud + example: https://confluent.cloud/login/sso/AzureAD-OIDC-Conn + readOnly: true + sso_config: + discriminator: + propertyName: kind + type: object + required: + - kind + - tenant_id + properties: + kind: + type: string + example: AzureSSOConfig + tenant_id: + type: string + example: b3a17773-05cc-4431-9560-433fb4613da8 + description: The Azure AD tenant ID + additionalProperties: false + required: + - sso_config + entitlement: + type: object + description: >- + `Entitlement` objects represent metadata about a marketplace + entitlement. + properties: + api_version: + type: string + enum: + - partner/v2 + description: >- + APIVersion defines the schema version of this representation of + a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Entitlement + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be reclaimed + and reused after an object is deleted ("time"); however, it may + collide with IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + readOnly: true + example: dlz-f3a90de + metadata: + $ref: '#/components/schemas/ObjectMeta' + external_id: + type: string + description: >- + The unique external ID of the entitlement (this should be unique + to customer) + example: 1111-2222-3333-4444 + name: + type: string + description: The name of the entitlement + example: Acme Prod Entitlement + plan_id: + type: string + description: The plan ID the entitlement + example: confluent-cloud-payg-prod + x-extensible-enum: + - confluent-cloud-payg-prod + - payg-prod.gcpmarketplace.confluent.cloud + product_id: + type: string + description: The product ID of the entitlement + example: confluent-cloud-kafka-service-azure + x-extensible-enum: + - confluent-cloud-kafka-service-azure + - confluent-cloud-for-apache-kafka + - payg-prod.gcpmarketplace.confluent.cloud + usage_reporting_id: + type: string + description: > + The usage reporting ID of the entitlement (if usage reporting + uses + + a different ID, otherwise, same as external_id) + example: 1111-2222-3333-4444 + resource_id: + type: string + description: The resource ID of the entitlement + example: 1111-2222-3333-4444 + organization: + description: The organization associated with this object. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + additionalProperties: false + required: + - external_id + - name + - plan_id + - product_id + - id + - related + - resource_name + ListMeta: type: object - CreateMirrorTopicRequestData: + description: ListMeta describes metadata that resource collections may have properties: - source_topic_name: + first: + description: >- + A link to the first page of results. If a response does not contain + a first link, then direct navigation to the first page is not + supported. type: string - mirror_topic_name: + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not contain a + last link, then direct navigation to the last page is not supported. type: string - replication_factor: - type: integer - configs: - type: array - items: - $ref: '#/components/schemas/ConfigData' - required: - - source_topic_name - type: object - AlterMirrorsRequestData: - properties: - mirror_topic_names: - description: The mirror topics specified as a list of topic names. - type: array - items: - type: string - mirror_topic_name_pattern: - description: The mirror topics specified as a pattern. + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not contain a + next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + Failure: type: object - RemoveBrokersRequestData: - properties: - broker_ids: - type: array - items: - type: integer - required: - - broker_ids - type: object - BrokerReplicaExclusionBatchRequestData: - type: object + description: >- + Provides information about problems encountered while performing an + operation. required: - - data + - errors properties: - data: + errors: + description: List of errors which caused this operation to fail type: array items: - $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + $ref: '#/components/schemas/Error' + uniqueItems: true ObjectMeta: - description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. required: - self properties: self: - description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time type: string format: uri readOnly: true - example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de resource_name: - description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name type: string format: uri readOnly: true - example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + example: crn://confluent.cloud/kafka=lkc-f3a90de created_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. updated_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. deleted_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was (or will be) deleted. It + is represented in RFC3339 format and is in UTC. readOnly: true + type: object ObjectReference: type: object - description: ObjectReference provides information for you to locate the referred object + description: >- + ObjectReference provides information for you to locate the referred + object required: - id - related @@ -1532,7 +2397,7 @@ components: maxLength: 255 environment: type: string - description: 'Environment of the referred resource, if env-scoped' + description: Environment of the referred resource, if env-scoped minLength: 1 maxLength: 255 related: @@ -1557,6 +2422,22 @@ components: description: Kind of the referred resource minLength: 1 readOnly: true + AzureSSOConfig: + type: object + required: + - kind + - tenant_id + properties: + kind: + type: string + example: AzureSSOConfig + tenant_id: + type: string + example: b3a17773-05cc-4431-9560-433fb4613da8 + description: The Azure AD tenant ID + v2.User: + type: string + description: (opaque JSON object) Error: type: object description: Describes a particular error encountered while performing an operation. @@ -1566,23 +2447,36 @@ components: type: string maxLength: 255 status: - description: 'The HTTP status code applicable to this problem, expressed as a string value.' + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. type: string code: - description: 'An application-specific error code, expressed as a string value.' + description: An application-specific error code, expressed as a string value. type: string title: - description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. type: string detail: - description: A human-readable explanation specific to this occurrence of the problem. + description: >- + A human-readable explanation specific to this occurrence of the + problem. type: string source: type: object - description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. properties: pointer: - description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. type: string parameter: description: A string indicating which query parameter caused the error. @@ -1594,490 +2488,6 @@ components: type: string nullable: true additionalProperties: false - ProduceRequestHeader: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - format: byte - nullable: true - ProduceRequestData: - type: object - properties: - type: - type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - data: - $ref: '#/components/schemas/AnyValue' - nullable: true - ConfigData: - example: - name: name - value: value - properties: - name: - type: string - value: - nullable: true - type: string - required: - - name - - value - BrokerReplicaExclusionRequestData: - type: object - required: - - broker_id - - reason - properties: - broker_id: - type: integer - reason: - type: string - AnyValue: - nullable: true - partner.v2.Organization: - type: object - description: '`Organizations` objects represent an entire Confluent Cloud organization.' - properties: - api_version: - type: string - enum: - - partner/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Organization - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - readOnly: true - example: dlz-f3a90de - metadata: - $ref: '#/components/schemas/ObjectMeta' - name: - type: string - description: The name of the organization - example: Acme Organization - pattern: '^[^<>#%''*^`{|}~\"]{1,31}$' - sso_url: - type: string - format: uri - description: The login URL for the customer to access Confluent Cloud - example: 'https://confluent.cloud/login/sso/AzureAD-OIDC-Conn' - readOnly: true - sso_config: - oneOf: - - $ref: '#/components/schemas/AzureSSOConfig' - discriminator: - propertyName: kind - additionalProperties: false - AzureSSOConfig: - type: object - required: - - kind - - tenant_id - properties: - kind: - type: string - example: AzureSSOConfig - tenant_id: - type: string - example: b3a17773-05cc-4431-9560-433fb4613da8 - description: The Azure AD tenant ID - partner.v2.OrganizationList: - type: object - description: '`Organizations` objects represent an entire Confluent Cloud organization.' - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - partner/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - OrganizationList - metadata: - $ref: '#/components/schemas/ListMeta' - data: - type: array - items: - allOf: - - $ref: '#/components/schemas/partner.v2.Organization' - - type: object - required: - - id - - metadata - uniqueItems: true - additionalProperties: false - PartnerSignupRequest: - type: object - description: The partner signup request - required: - - organization - - entitlement - properties: - organization: - allOf: - - $ref: '#/components/schemas/partner.v2.Organization' - - required: - - name - - sso_config - user: - allOf: - - $ref: '#/components/schemas/v2.User' - - required: - - given_name - - family_name - - email - entitlement: - oneOf: - - allOf: - - $ref: '#/components/schemas/partner.v2.Entitlement' - - required: - - external_id - - name - - plan_id - - product_id - - allOf: - - $ref: '#/components/schemas/ObjectReference' - - required: - - related - PartnerSignupResponse: - type: object - description: The partner signup response - required: - - organization_id - - sso_url - properties: - organization_id: - type: string - description: The ID of the organization - example: b3a17773-05cc-4431-9560-433fb4613da8 - sso_url: - type: string - format: uri - description: The login URL for the customer to access Confluent Cloud - example: 'https://confluent.cloud/login/sso/AzureAD-OIDC-Conn' - display_message: - type: string - description: The display message contains useful information which is shown on the Marketplace UI to the customers. - example: 'Your support plan will remain the same, to change the plan, follow this [link](https://docs.confluent.io/cloud/current/faq.html#how-do-i-change-support-plans).' - v2.User: - type: object - ActivatePartnerSignupRequest: - type: object - description: The partner signup activation request - required: - - user - - organization_id - properties: - user: - allOf: - - $ref: '#/components/schemas/v2.User' - - required: - - given_name - - family_name - - email - organization_id: - type: string - description: The ID of the organization - example: b3a17773-05cc-4431-9560-433fb4613da8 - PartnerLinkRequest: - type: object - description: The partner linking request - required: - - token - - organization - - entitlement - properties: - token: - type: string - description: The linking token that was generated. - example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c - x-redact: true - organization: - allOf: - - $ref: '#/components/schemas/partner.v2.Organization' - - required: - - sso_config - entitlement: - oneOf: - - allOf: - - $ref: '#/components/schemas/partner.v2.Entitlement' - - required: - - external_id - - name - - plan_id - - product_id - - allOf: - - $ref: '#/components/schemas/ObjectReference' - - required: - - related - parameters: - AclHost: - name: host - description: The ACL host. - in: query - required: false - schema: - type: string - AclOperation: - name: operation - description: The ACL operation. - in: query - required: false - schema: - $ref: '#/components/schemas/AclOperation' - AclOperationRequired: - name: operation - description: The ACL operation. - in: query - required: true - schema: - $ref: '#/components/schemas/AclOperation' - AclPatternType: - name: pattern_type - description: The ACL pattern type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPatternType' - AclPatternTypeRequired: - name: pattern_type - description: The ACL pattern type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPatternType' - AclPermission: - name: permission - description: The ACL permission. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPermission' - AclPermissionRequired: - name: permission - description: The ACL permission. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPermission' - AclPrincipal: - name: principal - description: The ACL principal. This is the Service Account name or user name. - in: query - required: false - schema: - type: string - AclResourceName: - name: resource_name - description: The ACL resource name. - in: query - required: false - schema: - type: string - AclResourceType: - name: resource_type - description: The ACL resource type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclResourceType' - AclResourceTypeRequired: - name: resource_type - description: The ACL resource type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclResourceType' - BrokerId: - name: broker_id - description: The Kafka broker ID. - in: path - required: true - schema: - type: integer - example: 1 - ClusterId: - name: cluster_id - description: The Kafka cluster ID. - in: path - required: true - schema: - type: string - example: cluster-1 - ConfigName: - name: name - description: The configuration parameter name. - in: path - required: true - schema: - type: string - example: compression.type - ConsumerGroupId: - name: consumer_group_id - description: The consumer group ID. - in: path - required: true - schema: - type: string - example: consumer-group-1 - ConsumerId: - name: consumer_id - description: The consumer ID. - in: path - required: true - schema: - type: string - example: consumer-1 - IncludeAuthorizedOperations: - name: include_authorized_operations - description: Specify if authorized operations should be included in the response. - in: query - required: false - schema: - type: boolean - PartitionId: - name: partition_id - description: The partition ID. - in: path - required: true - schema: - type: integer - example: 0 - TopicName: - name: topic_name - description: The topic name. - in: path - required: true - schema: - type: string - example: topic-1 - BrokerTaskType: - name: task_type - description: The Kafka broker task type. - in: path - required: true - schema: - $ref: '#/components/schemas/BrokerTaskType' - example: remove-broker - ShouldShutdown: - name: should_shutdown - description: 'To shutdown the broker or not, Default: true' - in: query - required: false - schema: - type: boolean - example: true - ValidateOnly: - name: validate_only - description: 'To validate the action can be performed successfully or not. Default: false' - in: query - required: false - schema: - type: boolean - example: false - ValidateLink: - name: validate_link - description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' - in: query - required: false - schema: - type: boolean - example: false - IncludeTasks: - name: include_tasks - description: 'Whether to include cluster linking tasks in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludeStateTransitionErrors: - name: include_state_transition_errors - description: 'Whether to include mirror state transition errors in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - Force: - name: force - description: 'Force the action. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludePartitionLevelTruncationData: - name: include_partition_level_truncation_data - description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - LinkName: - name: link_name - description: The link name - in: path - required: true - schema: - type: string - example: link-sb1 - LinkConfigName: - name: config_name - description: The link config name - in: path - required: true - schema: - type: string - example: consumer.offset.sync.enable - MirrorTopicStatus: - name: mirror_status - description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' - in: query - required: false - schema: - $ref: '#/components/schemas/MirrorTopicStatus' - example: ACTIVE - MirrorTopicName: - name: mirror_topic_name - description: Cluster Linking mirror topic name - in: path - required: true - schema: - type: string - example: topic-1 - QueryParamLinkName: - name: link_name - description: The link name - in: query - required: true - schema: - type: string - example: link-sb1 responses: BadRequestError: description: Bad Request @@ -2111,7 +2521,9 @@ components: schema: type: string description: The unique identifier for the API request. - example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + example: >- + Basic error="invalid_key", error_description="The API Key is + invalid" content: application/json: schema: @@ -2141,7 +2553,9 @@ components: status: '403' code: user_unauthorized title: User Access Unauthorized - detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + detail: >- + The user 'mcfly' is not allowed to access the 'delorean' + resource without the 'plutonium' role. RateLimitError: description: Rate Limit Exceeded headers: @@ -2152,7 +2566,9 @@ components: X-RateLimit-Limit: schema: type: integer - description: The maximum number of requests you're permitted to make per time period. + description: >- + The maximum number of requests you're permitted to make per time + period. X-RateLimit-Remaining: schema: type: integer @@ -2160,16 +2576,21 @@ components: X-RateLimit-Reset: schema: type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. + description: >- + The relative time in seconds until the current rate-limit window + resets. - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. Retry-After: schema: type: integer - description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. DefaultSystemError: - description: 'Oops, something went wrong!' + description: Oops, something went wrong! headers: X-Request-Id: schema: @@ -2185,7 +2606,9 @@ components: status: '500' code: out_of_gas title: DeLorean Out Of Gas - detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap ConflictError: x-summary: Conflict description: The request is in conflict with the current server state @@ -2198,7 +2621,7 @@ components: schema: type: string format: uri - example: 'https://api.confluent.cloud/{object}/{id}' + example: https://api.confluent.cloud/{object}/{id} description: Resource URI of conflicting resource content: application/json: @@ -2210,7 +2633,9 @@ components: status: '409' code: resource_already_exists title: Resource Already exists - detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + detail: >- + The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already + exists. NotFoundError: description: Not Found headers: @@ -2227,408 +2652,29 @@ components: - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d status: '404' title: Not Found - securitySchemes: - cloud-api-key: - type: http - scheme: basic - description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. - confluent-sts-access-token: - type: oauth2 - description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' - scopes: {} - api-key: - type: http - scheme: basic - description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. - resource-api-key: - type: http - scheme: basic - description: | - Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID - as the username and resource-specific API Key Secret as the password. - external-access-token: - type: oauth2 - description: Authenticate with OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https:///token' - scopes: {} - oauth: - type: oauth2 - description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. - flows: - clientCredentials: - tokenUrl: /oauth2/token - scopes: - 'partner:alter': enables partners to alter entitlements - 'partner:create': enables partners to create entitlements and signup on behalf of customers - 'partner:delete': enables partners to delete entitlements and organizations - 'partner:describe': enables partners to read and list entitlements and organizations - requestBodies: - AlterBrokerConfigBatchRequest: - description: The alter broker configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterClusterConfigBatchRequest: - description: The alter cluster configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterTopicConfigBatchRequest: - description: The alter topic configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - examples: - batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only_batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only: true - CreateAclRequest: - description: The ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestData' - example: - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - BatchCreateAclRequest: - description: The batch ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestDataList' - example: - data: - - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - - resource_type: TOPIC - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: READ - permission: ALLOW - CreateTopicRequest: - description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTopicRequestData' - examples: - uniform_replication: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - configs: - - name: cleanup.policy - value: compact - - name: compression.type - value: gzip - dry_run_create_topic: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - validate_only: true - ProduceRequest: - description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' - content: - application/json: - schema: - $ref: '#/components/schemas/ProduceRequest' - examples: - binary_and_json: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - partition_id: 1 - headers: - - name: Header-1 - value: SGVhZGVyLTE= - - name: Header-2 - value: SGVhZGVyLTI= - key: - type: BINARY - data: Zm9vYmFy - value: - type: JSON - data: - foo: bar - timestamp: '2021-02-05T19:14:42Z' - string: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - value: - type: STRING - data: My message - empty_value: - description: key or value can be omitted entirely. - value: - key: - data: 1000 - UpdateBrokerConfigRequest: - description: The broker configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateClusterConfigRequest: - description: The cluster configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateTopicConfigRequest: - description: The topic configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - CreateLinkRequest: - description: Create a cluster link - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLinkRequestData' - examples: - destination_initiated_link: - description: Create a destination initiated cluster link - value: - source_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: acl.sync.enable - value: 'false' - - name: consumer.offset.sync.ms - value: '30000' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_source_cluster: - description: Create a source initiated cluster link at source cluster - value: - destination_cluster_id: cluster-2 - configs: - - name: bootstrap.servers - value: cluster-2-bootstrap-server - - name: link.mode - value: SOURCE - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_destination_cluster: - description: Create a source initiated cluster link at destination cluster - value: - destination_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: link.mode - value: DESTINATION - - name: connection.mode - value: INBOUND - - name: acl.sync.enable - value: 'false' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_east: - description: Create a bidirectional cluster link in east - value: - remote_cluster_id: cluster-west - configs: - - name: bootstrap.servers - value: cluster-west-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: west. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_west: - description: Create a bidirectional cluster link in west - value: - remote_cluster_id: cluster-east - cluster_link_id: eEBkTffYSESld6EO898x3w - configs: - - name: bootstrap.servers - value: cluster-east-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: east. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - UpdateLinkConfigRequest: - content: - application/json: - example: - value: '300000' - schema: - $ref: '#/components/schemas/UpdateLinkConfigRequestData' - description: Link config value to update - AlterLinkConfigBatchRequest: - content: - application/json: - example: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - CreateMirrorTopicRequest: - description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateMirrorTopicRequestData' - examples: - generic_example: - description: Generic example of creating a mirror topic - value: - source_topic_name: topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 1 - example_with_mirror_topic_name: - description: Example using optional mirror_topic_name flag - value: - source_topic_name: topic-1 - mirror_topic_name: link1_topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 3 - AlterMirrorsRequest: - description: Mirror topics to be altered. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterMirrorsRequestData' - examples: - mirror_topic_names: - description: Example using mirror topic names - value: - mirror_topic_names: - - topic-1 - - topic-2 - mirror_topic_name_pattern: - description: Example using mirror topic name pattern - value: - mirror_topic_name_pattern: .* - RemoveBrokersRequest: - content: - application/json: - example: - broker_ids: - - 1 - - 2 - - 3 - schema: - $ref: '#/components/schemas/RemoveBrokersRequestData' - description: Broker ids to remove - BrokerReplicaExclusionBatchRequest: - description: Alter Broker Replica Exclusions. - content: - application/json: - schema: - $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' - example: - data: - - broker_id: 1 - reason: The broker is to be removed. - - broker_id: 2 - reason: The broker is to be removed. x-stackQL-resources: entitlements: id: confluent.partner.entitlements name: entitlements title: Entitlements methods: - list_partner_v2entitlements: + list_partner_v2_entitlements: operation: $ref: '#/paths/~1partner~1v2~1entitlements/get' response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/schemas/partner.v2.EntitlementList' objectKey: $.data - create_partner_v2entitlement: + create_partner_v2_entitlement: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1partner~1v2~1entitlements/post' response: mediaType: application/json openAPIDocKey: '201' - get_partner_v2entitlement: + get_partner_v2_entitlement: operation: $ref: '#/paths/~1partner~1v2~1entitlements~1{id}/get' response: @@ -2636,1618 +2682,81 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/entitlements/methods/get_partner_v2entitlement' - - $ref: '#/components/x-stackQL-resources/entitlements/methods/list_partner_v2entitlements' + - $ref: >- + #/components/x-stackQL-resources/entitlements/methods/get_partner_v2_entitlement + - $ref: >- + #/components/x-stackQL-resources/entitlements/methods/list_partner_v2_entitlements insert: - - $ref: '#/components/x-stackQL-resources/entitlements/methods/create_partner_v2entitlement' + - $ref: >- + #/components/x-stackQL-resources/entitlements/methods/create_partner_v2_entitlement update: [] - replace: [] delete: [] + replace: [] organizations: id: confluent.partner.organizations name: organizations title: Organizations methods: - get_partner_v2organization: + get_partner_v2_organization: operation: $ref: '#/paths/~1partner~1v2~1organizations~1{id}/get' response: mediaType: application/json openAPIDocKey: '200' - list_partner_v2organizations: + list_partner_v2_organizations: operation: $ref: '#/paths/~1partner~1v2~1organizations/get' response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/schemas/partner.v2.OrganizationList' objectKey: $.data sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/organizations/methods/get_partner_v2organization' - - $ref: '#/components/x-stackQL-resources/organizations/methods/list_partner_v2organizations' + - $ref: >- + #/components/x-stackQL-resources/organizations/methods/get_partner_v2_organization + - $ref: >- + #/components/x-stackQL-resources/organizations/methods/list_partner_v2_organizations insert: [] update: [] - replace: [] delete: [] + replace: [] signups: id: confluent.partner.signups name: signups title: Signups methods: signup: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1partner~1v2~1signup/post' response: mediaType: application/json openAPIDocKey: '201' - schemaRef: '#/components/schemas/PartnerSignupResponse' activate_signup: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1partner~1v2~1signup~1activate/post' response: mediaType: application/json openAPIDocKey: '201' - schemaRef: '#/components/schemas/PartnerSignupResponse' - signup_partner_v2link: + signup_partner_v2_link: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1partner~1v2~1signup~1link/post' response: mediaType: application/json openAPIDocKey: '201' - schemaRef: '#/components/schemas/PartnerSignupResponse' sqlVerbs: select: [] insert: [] update: [] - replace: [] delete: [] -paths: - /partner/v2/entitlements: - get: - x-request-access-name: Partner v2 - operationId: listPartnerV2Entitlements - summary: List of Entitlements - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Retrieve a sorted, filtered, paginated list of all entitlements. - parameters: - - name: organization.id - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: b3a17773-05cc-4431-9560-433fb4613da8 - description: Filter the results by exact match for organization.id. - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - description: An opaque pagination token for collection requests. - tags: - - Entitlements (partner/v2) - security: - - oauth: - - 'partner:describe' - responses: - '200': - description: Entitlement. - content: - application/json: - schema: - $ref: '#/components/schemas/partner.v2.EntitlementList' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/partner/v2/entitlements?organization.id=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE' \ - --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/partner/v2/entitlements?organization.id=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE") - .get() - .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/entitlements?organization.id=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" } - - conn.request("GET", "/partner/v2/entitlements?organization.id=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/partner/v2/entitlements?organization.id=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE", - "headers": { - "Authorization": "Bearer REPLACE_BEARER_TOKEN" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/entitlements?organization.id=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/partner/v2/entitlements?organization.id=SOME_STRING_VALUE&page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); - IRestResponse response = client.Execute(request); - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/partner/v2/entitlements?organization.id=b3a17773-05cc-4431-9560-433fb4613da8' \ - --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/partner/v2/entitlements?organization.id=b3a17773-05cc-4431-9560-433fb4613da8") - .get() - .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/entitlements?organization.id=b3a17773-05cc-4431-9560-433fb4613da8\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" } - - conn.request("GET", "/partner/v2/entitlements?organization.id=b3a17773-05cc-4431-9560-433fb4613da8", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/partner/v2/entitlements?organization.id=b3a17773-05cc-4431-9560-433fb4613da8", - "headers": { - "Authorization": "Bearer REPLACE_BEARER_TOKEN" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/entitlements?organization.id=b3a17773-05cc-4431-9560-433fb4613da8"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/partner/v2/entitlements?organization.id=b3a17773-05cc-4431-9560-433fb4613da8"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); - IRestResponse response = client.Execute(request); - post: - x-request-access-name: Partner v2 - operationId: createPartnerV2Entitlement - summary: Create an Entitlement - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Make a request to create an entitlement. - tags: - - Entitlements (partner/v2) - security: - - oauth: - - 'partner:create' - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/partner.v2.Entitlement' - - type: object - required: - - external_id - - name - - plan_id - - product_id - responses: - '201': - description: An Entitlement is being created. - headers: - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/partner/v2/entitlements/{id}' - description: Entitlement resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/partner.v2.Entitlement' - - type: object - required: - - external_id - - name - - plan_id - - product_id - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/partner/v2/entitlements \ - --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \ - --header 'content-type: application/json' \ - --data '{"external_id":"1111-2222-3333-4444","name":"Acme Prod Entitlement","plan_id":"confluent-cloud-payg-prod","product_id":"confluent-cloud-kafka-service-azure","usage_reporting_id":"1111-2222-3333-4444","resource_id":"1111-2222-3333-4444","organization":{"related":"string"}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"related\":\"string\"}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/partner/v2/entitlements") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/entitlements\"\n\n\tpayload := strings.NewReader(\"{\\\"external_id\\\":\\\"1111-2222-3333-4444\\\",\\\"name\\\":\\\"Acme Prod Entitlement\\\",\\\"plan_id\\\":\\\"confluent-cloud-payg-prod\\\",\\\"product_id\\\":\\\"confluent-cloud-kafka-service-azure\\\",\\\"usage_reporting_id\\\":\\\"1111-2222-3333-4444\\\",\\\"resource_id\\\":\\\"1111-2222-3333-4444\\\",\\\"organization\\\":{\\\"related\\\":\\\"string\\\"}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"related\":\"string\"}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Bearer REPLACE_BEARER_TOKEN" - } - - conn.request("POST", "/partner/v2/entitlements", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/partner/v2/entitlements", - "headers": { - "content-type": "application/json", - "Authorization": "Bearer REPLACE_BEARER_TOKEN" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - external_id: '1111-2222-3333-4444', - name: 'Acme Prod Entitlement', - plan_id: 'confluent-cloud-payg-prod', - product_id: 'confluent-cloud-kafka-service-azure', - usage_reporting_id: '1111-2222-3333-4444', - resource_id: '1111-2222-3333-4444', - organization: {related: 'string'} - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/entitlements"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"related\":\"string\"}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/partner/v2/entitlements"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); - request.AddParameter("application/json", "{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"related\":\"string\"}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/partner/v2/entitlements \ - --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \ - --header 'content-type: application/json' \ - --data '{"external_id":"1111-2222-3333-4444","name":"Acme Prod Entitlement","plan_id":"confluent-cloud-payg-prod","product_id":"confluent-cloud-kafka-service-azure","usage_reporting_id":"1111-2222-3333-4444","resource_id":"1111-2222-3333-4444","organization":{"id":"string","environment":"string"}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/partner/v2/entitlements") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/entitlements\"\n\n\tpayload := strings.NewReader(\"{\\\"external_id\\\":\\\"1111-2222-3333-4444\\\",\\\"name\\\":\\\"Acme Prod Entitlement\\\",\\\"plan_id\\\":\\\"confluent-cloud-payg-prod\\\",\\\"product_id\\\":\\\"confluent-cloud-kafka-service-azure\\\",\\\"usage_reporting_id\\\":\\\"1111-2222-3333-4444\\\",\\\"resource_id\\\":\\\"1111-2222-3333-4444\\\",\\\"organization\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Bearer REPLACE_BEARER_TOKEN" - } - - conn.request("POST", "/partner/v2/entitlements", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/partner/v2/entitlements", - "headers": { - "content-type": "application/json", - "Authorization": "Bearer REPLACE_BEARER_TOKEN" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - external_id: '1111-2222-3333-4444', - name: 'Acme Prod Entitlement', - plan_id: 'confluent-cloud-payg-prod', - product_id: 'confluent-cloud-kafka-service-azure', - usage_reporting_id: '1111-2222-3333-4444', - resource_id: '1111-2222-3333-4444', - organization: {id: 'string', environment: 'string'} - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/entitlements"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/partner/v2/entitlements"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); - request.AddParameter("application/json", "{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/partner/v2/entitlements/{id}': - get: - x-request-access-name: Partner v2 - operationId: getPartnerV2Entitlement - summary: Read an Entitlement - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Make a request to read an entitlement. - parameters: - - name: organization.id - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: b3a17773-05cc-4431-9560-433fb4613da8 - description: Scope the operation to the given organization.id. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the entitlement. - tags: - - Entitlements (partner/v2) - security: - - oauth: - - 'partner:describe' - responses: - '200': - description: Entitlement. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/partner.v2.Entitlement' - - type: object - required: - - external_id - - name - - plan_id - - product_id - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=SOME_STRING_VALUE' \ - --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=SOME_STRING_VALUE") - .get() - .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" } - - conn.request("GET", "/partner/v2/entitlements/%7Bid%7D?organization.id=SOME_STRING_VALUE", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/partner/v2/entitlements/%7Bid%7D?organization.id=SOME_STRING_VALUE", - "headers": { - "Authorization": "Bearer REPLACE_BEARER_TOKEN" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=SOME_STRING_VALUE"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=SOME_STRING_VALUE"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); - IRestResponse response = client.Execute(request); - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=b3a17773-05cc-4431-9560-433fb4613da8' \ - --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=b3a17773-05cc-4431-9560-433fb4613da8") - .get() - .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=b3a17773-05cc-4431-9560-433fb4613da8\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" } - - conn.request("GET", "/partner/v2/entitlements/{id}?organization.id=b3a17773-05cc-4431-9560-433fb4613da8", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/partner/v2/entitlements/{id}?organization.id=b3a17773-05cc-4431-9560-433fb4613da8", - "headers": { - "Authorization": "Bearer REPLACE_BEARER_TOKEN" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=b3a17773-05cc-4431-9560-433fb4613da8"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/partner/v2/entitlements/{id}?organization.id=b3a17773-05cc-4431-9560-433fb4613da8"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); - IRestResponse response = client.Execute(request); - '/partner/v2/organizations/{id}': - get: - x-request-access-name: Partner v2 - operationId: getPartnerV2Organization - summary: Read an Organization - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Make a request to read an organization. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the organization. - tags: - - Organizations (partner/v2) - security: - - oauth: - - 'marketplace::describe' - responses: - '200': - description: Organization. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/partner.v2.Organization' - - type: object - required: - - api_version - - kind - - id - - metadata - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/partner/v2/organizations/{id}' \ - --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/partner/v2/organizations/{id}") - .get() - .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/organizations/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" } - - conn.request("GET", "/partner/v2/organizations/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/partner/v2/organizations/{id}", - "headers": { - "Authorization": "Bearer REPLACE_BEARER_TOKEN" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/organizations/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/partner/v2/organizations/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); - IRestResponse response = client.Execute(request); - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/partner/v2/organizations/{id}' \ - --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/partner/v2/organizations/{id}") - .get() - .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/organizations/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" } - - conn.request("GET", "/partner/v2/organizations/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/partner/v2/organizations/{id}", - "headers": { - "Authorization": "Bearer REPLACE_BEARER_TOKEN" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/organizations/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/partner/v2/organizations/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); - IRestResponse response = client.Execute(request); - /partner/v2/organizations: - get: - x-request-access-name: Partner v2 - operationId: listPartnerV2Organizations - summary: List of Organizations - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Retrieve a sorted, filtered, paginated list of all organizations. - parameters: - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - description: An opaque pagination token for collection requests. - tags: - - Organizations (partner/v2) - security: - - oauth: - - 'marketplace::describe' - responses: - '200': - description: Organization. - content: - application/json: - schema: - $ref: '#/components/schemas/partner.v2.OrganizationList' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/partner/v2/organizations?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE' \ - --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/partner/v2/organizations?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE") - .get() - .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/organizations?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" } - - conn.request("GET", "/partner/v2/organizations?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/partner/v2/organizations?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE", - "headers": { - "Authorization": "Bearer REPLACE_BEARER_TOKEN" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/organizations?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/partner/v2/organizations?page_size=SOME_INTEGER_VALUE&page_token=SOME_STRING_VALUE"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); - IRestResponse response = client.Execute(request); - - lang: Shell - source: |- - curl --request GET \ - --url https://api.confluent.cloud/partner/v2/organizations \ - --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/partner/v2/organizations") - .get() - .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/organizations\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" } - - conn.request("GET", "/partner/v2/organizations", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/partner/v2/organizations", - "headers": { - "Authorization": "Bearer REPLACE_BEARER_TOKEN" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/organizations"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/partner/v2/organizations"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); - IRestResponse response = client.Execute(request); - /partner/v2/signup: - post: - summary: Signup an Organization on behalf of a Customer - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Create an organization for a customer. You must pass in either an entitlement object reference (a url to - a previously created entitlement) or entitlement details. If you pass in an entitlement object reference, we will link with the - created entitlement. If you pass in the entitlement details, we will create the entitlement with the organization - in a single transaction. If you pass in user details (email, given name, and family name), we will - create a user as well. If you do not pass in user details, you MUST call `/partner/v2/signup/activate` - with user details to complete signup. - parameters: - - name: dry_run - in: query - required: false - schema: - type: boolean - description: 'If true, only perform validation of signup' - requestBody: - description: A JSON object containing signup information - content: - application/json: - schema: - $ref: '#/components/schemas/PartnerSignupRequest' - operationId: signup - tags: - - Signup (partner/v2) - security: - - oauth: - - 'partner:create' - responses: - '201': - description: Successful signup. - content: - application/json: - schema: - $ref: '#/components/schemas/PartnerSignupResponse' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/partner/v2/signup \ - --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \ - --header 'content-type: application/json' \ - --data '{"organization":{"name":"Acme Organization","sso_config":{"kind":"AzureSSOConfig","tenant_id":"b3a17773-05cc-4431-9560-433fb4613da8"}},"user":{},"entitlement":{"external_id":"1111-2222-3333-4444","name":"Acme Prod Entitlement","plan_id":"confluent-cloud-payg-prod","product_id":"confluent-cloud-kafka-service-azure","usage_reporting_id":"1111-2222-3333-4444","resource_id":"1111-2222-3333-4444","organization":{"id":"string","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"organization\":{\"name\":\"Acme Organization\",\"sso_config\":{\"kind\":\"AzureSSOConfig\",\"tenant_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}},\"user\":{},\"entitlement\":{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/partner/v2/signup") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/signup\"\n\n\tpayload := strings.NewReader(\"{\\\"organization\\\":{\\\"name\\\":\\\"Acme Organization\\\",\\\"sso_config\\\":{\\\"kind\\\":\\\"AzureSSOConfig\\\",\\\"tenant_id\\\":\\\"b3a17773-05cc-4431-9560-433fb4613da8\\\"}},\\\"user\\\":{},\\\"entitlement\\\":{\\\"external_id\\\":\\\"1111-2222-3333-4444\\\",\\\"name\\\":\\\"Acme Prod Entitlement\\\",\\\"plan_id\\\":\\\"confluent-cloud-payg-prod\\\",\\\"product_id\\\":\\\"confluent-cloud-kafka-service-azure\\\",\\\"usage_reporting_id\\\":\\\"1111-2222-3333-4444\\\",\\\"resource_id\\\":\\\"1111-2222-3333-4444\\\",\\\"organization\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"organization\":{\"name\":\"Acme Organization\",\"sso_config\":{\"kind\":\"AzureSSOConfig\",\"tenant_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}},\"user\":{},\"entitlement\":{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Bearer REPLACE_BEARER_TOKEN" - } - - conn.request("POST", "/partner/v2/signup", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/partner/v2/signup", - "headers": { - "content-type": "application/json", - "Authorization": "Bearer REPLACE_BEARER_TOKEN" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - organization: { - name: 'Acme Organization', - sso_config: {kind: 'AzureSSOConfig', tenant_id: 'b3a17773-05cc-4431-9560-433fb4613da8'} - }, - user: {}, - entitlement: { - external_id: '1111-2222-3333-4444', - name: 'Acme Prod Entitlement', - plan_id: 'confluent-cloud-payg-prod', - product_id: 'confluent-cloud-kafka-service-azure', - usage_reporting_id: '1111-2222-3333-4444', - resource_id: '1111-2222-3333-4444', - organization: {id: 'string', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/signup"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"organization\":{\"name\":\"Acme Organization\",\"sso_config\":{\"kind\":\"AzureSSOConfig\",\"tenant_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}},\"user\":{},\"entitlement\":{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/partner/v2/signup"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); - request.AddParameter("application/json", "{\"organization\":{\"name\":\"Acme Organization\",\"sso_config\":{\"kind\":\"AzureSSOConfig\",\"tenant_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}},\"user\":{},\"entitlement\":{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - /partner/v2/signup/activate: - post: - summary: Activate an Incomplete Signup - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Creates a user in the organization previously created in `/partner/v2/signup`. This completes the signup - process if you did not pass in user details to `/partner/v2/signup`. Calling this endpoint if the signup - process has been completed will result in a `409 Conflict` error. - requestBody: - description: A JSON object containing signup information - content: - application/json: - schema: - $ref: '#/components/schemas/ActivatePartnerSignupRequest' - operationId: activateSignup - tags: - - Signup (partner/v2) - security: - - oauth: - - 'partner:create' - responses: - '201': - description: Successful signup activation. User is being created. - content: - application/json: - schema: - $ref: '#/components/schemas/PartnerSignupResponse' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/partner/v2/signup/activate \ - --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \ - --header 'content-type: application/json' \ - --data '{"user":{},"organization_id":"b3a17773-05cc-4431-9560-433fb4613da8"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"user\":{},\"organization_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/partner/v2/signup/activate") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/signup/activate\"\n\n\tpayload := strings.NewReader(\"{\\\"user\\\":{},\\\"organization_id\\\":\\\"b3a17773-05cc-4431-9560-433fb4613da8\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"user\":{},\"organization_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Bearer REPLACE_BEARER_TOKEN" - } - - conn.request("POST", "/partner/v2/signup/activate", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/partner/v2/signup/activate", - "headers": { - "content-type": "application/json", - "Authorization": "Bearer REPLACE_BEARER_TOKEN" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({user: {}, organization_id: 'b3a17773-05cc-4431-9560-433fb4613da8'})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/signup/activate"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"user\":{},\"organization_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/partner/v2/signup/activate"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); - request.AddParameter("application/json", "{\"user\":{},\"organization_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - /partner/v2/signup/link: - post: - summary: Signup a Customer by Linking to an Existing Organization - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Signup a customer by linking a new entitlement to an existing Confluent Cloud organization. - parameters: - - name: dry_run - in: query - required: false - schema: - type: boolean - description: 'If true, only perform validation of signup' - requestBody: - description: A JSON object containing signup information - content: - application/json: - schema: - $ref: '#/components/schemas/PartnerLinkRequest' - operationId: signupPartnerV2Link - tags: - - Signup (partner/v2) - security: - - oauth: - - 'partner:create' - responses: - '201': - description: Successful signup. - content: - application/json: - schema: - $ref: '#/components/schemas/PartnerSignupResponse' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/partner/v2/signup/link \ - --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \ - --header 'content-type: application/json' \ - --data '{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c","organization":{"name":"Acme Organization","sso_config":{"kind":"AzureSSOConfig","tenant_id":"b3a17773-05cc-4431-9560-433fb4613da8"}},"entitlement":{"external_id":"1111-2222-3333-4444","name":"Acme Prod Entitlement","plan_id":"confluent-cloud-payg-prod","product_id":"confluent-cloud-kafka-service-azure","usage_reporting_id":"1111-2222-3333-4444","resource_id":"1111-2222-3333-4444","organization":{"id":"string","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"token\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\"organization\":{\"name\":\"Acme Organization\",\"sso_config\":{\"kind\":\"AzureSSOConfig\",\"tenant_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}},\"entitlement\":{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/partner/v2/signup/link") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/partner/v2/signup/link\"\n\n\tpayload := strings.NewReader(\"{\\\"token\\\":\\\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\\\",\\\"organization\\\":{\\\"name\\\":\\\"Acme Organization\\\",\\\"sso_config\\\":{\\\"kind\\\":\\\"AzureSSOConfig\\\",\\\"tenant_id\\\":\\\"b3a17773-05cc-4431-9560-433fb4613da8\\\"}},\\\"entitlement\\\":{\\\"external_id\\\":\\\"1111-2222-3333-4444\\\",\\\"name\\\":\\\"Acme Prod Entitlement\\\",\\\"plan_id\\\":\\\"confluent-cloud-payg-prod\\\",\\\"product_id\\\":\\\"confluent-cloud-kafka-service-azure\\\",\\\"usage_reporting_id\\\":\\\"1111-2222-3333-4444\\\",\\\"resource_id\\\":\\\"1111-2222-3333-4444\\\",\\\"organization\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Bearer REPLACE_BEARER_TOKEN\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"token\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\"organization\":{\"name\":\"Acme Organization\",\"sso_config\":{\"kind\":\"AzureSSOConfig\",\"tenant_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}},\"entitlement\":{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Bearer REPLACE_BEARER_TOKEN" - } - - conn.request("POST", "/partner/v2/signup/link", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/partner/v2/signup/link", - "headers": { - "content-type": "application/json", - "Authorization": "Bearer REPLACE_BEARER_TOKEN" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c', - organization: { - name: 'Acme Organization', - sso_config: {kind: 'AzureSSOConfig', tenant_id: 'b3a17773-05cc-4431-9560-433fb4613da8'} - }, - entitlement: { - external_id: '1111-2222-3333-4444', - name: 'Acme Prod Entitlement', - plan_id: 'confluent-cloud-payg-prod', - product_id: 'confluent-cloud-kafka-service-azure', - usage_reporting_id: '1111-2222-3333-4444', - resource_id: '1111-2222-3333-4444', - organization: {id: 'string', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/partner/v2/signup/link"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Bearer REPLACE_BEARER_TOKEN"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"token\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\"organization\":{\"name\":\"Acme Organization\",\"sso_config\":{\"kind\":\"AzureSSOConfig\",\"tenant_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}},\"entitlement\":{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/partner/v2/signup/link"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); - request.AddParameter("application/json", "{\"token\":\"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c\",\"organization\":{\"name\":\"Acme Organization\",\"sso_config\":{\"kind\":\"AzureSSOConfig\",\"tenant_id\":\"b3a17773-05cc-4431-9560-433fb4613da8\"}},\"entitlement\":{\"external_id\":\"1111-2222-3333-4444\",\"name\":\"Acme Prod Entitlement\",\"plan_id\":\"confluent-cloud-payg-prod\",\"product_id\":\"confluent-cloud-kafka-service-azure\",\"usage_reporting_id\":\"1111-2222-3333-4444\",\"resource_id\":\"1111-2222-3333-4444\",\"organization\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/pipelines.yaml b/providers/src/confluent/v00.00.00000/services/pipelines.yaml deleted file mode 100644 index 20fb45c0..00000000 --- a/providers/src/confluent/v00.00.00000/services/pipelines.yaml +++ /dev/null @@ -1,3844 +0,0 @@ -openapi: 3.0.0 -servers: - - url: 'https://api.confluent.cloud' - description: Confluent Cloud API -info: - version: '' - contact: - name: Confluent Cloud - url: 'https://www.confluent.io/cloud-contact-us/' - email: support@confluent.io - x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b - x-audience: external-public - x-logo: - url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' - title: Confluent Cloud APIs - pipelines - description: pipelines -tags: - - name: API Keys (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. - - The API allows you to list, create, update and delete your API Keys. - - - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - - ## The API Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - - name: Environments (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. - - - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - - ## The Environments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - - name: Organizations (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). - - The API allows you to list, view, and update your organizations. - - - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - - ## The Organizations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - - name: Users (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `User` objects represent individuals who may access your Confluent resources. - - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. - - - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). - - ## The Users Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - - name: Service Accounts (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. - - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. - - - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). - - ## The Service Accounts Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - - name: Invitations (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. - - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. - - - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). - - ## The Invitations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - - name: IP Groups (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) - - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. - - - ## The IP Groups Model - - - name: IP Filters (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. - - - ## The IP Filters Model - - - name: Role Bindings (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A role binding grants a Principal a role on resources that match a pattern. - - The API allows you to perform create, delete, and list operations on role bindings. - - - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). - - ## The Role Bindings Model - - - name: Subscriptions (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. - - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Subscriptions Model - - - name: Integrations (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Integrations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - - name: Notification Types (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The type of notifications (and their corresponding metadata) supported by Confluent. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Notification Types Model - - - name: Clusters (cmk/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Kafka clusters. - - - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - - name: Clusters (ksqldbcm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. - - - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the following quotas: - - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - - name: Connectors (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for Managed Connectors or Custom Connectors in Confluent Cloud. - - The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. - - Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). - - Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - name: Lifecycle (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. - - name: Status (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. - - name: Managed Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for Managed connectors in Confluent Cloud. - - name: Offsets (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the offsets for a Managed Connector. - - Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) - - name: Custom Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Custom Connector Plugins Model - - - name: Presigned Urls (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Presigned Urls Model - - - name: Cluster (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Configs (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: ACL (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Consumer Group (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Partition (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Topic (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Records (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Cluster Linking (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Applied Quotas (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. - - - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - - ## The Applied Quotas Model - - - name: Scopes (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Gets a list of all available scopes for applied quotas. - - - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). - - ## The Scopes Model - - - name: Entitlements (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Entitlement` objects represent metadata about a marketplace entitlement. - - An entitlement includes metadata about a marketplace purchase - (start date, end date, billing information, partner IDs, etc). - The API allows partners to create, read, and list entitlements. (Unless you - need entitlement creation and customer registration to be separate, - we recommend using the Signup API to create an organization and entitlement - at the same time) - - The API only allows authorized partners to interact with the Entitlements API. - - name: Regions (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. - - - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Regions Model - - - name: Clusters (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list, create, read, and delete your Schema Registry clusters. - - - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Clusters Model - - - name: Clusters (srcm/v3) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list and read your Schema Registry clusters. - - - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - - ## The Clusters Model - - - name: Compatibility (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to test schema compatibility. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Config (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to manage and query schema compatibility settings and cluster configurations. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Contexts (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to retrieve information about schema contexts. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Exporters (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete exporters. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Modes (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects modes of operation. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Schemas (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schemas. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Subjects (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects and versions. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Key Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete key encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Data Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete data encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Entity (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Search (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to search for entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Types (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Provider Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. - - - ## The Provider Shared Resources Model - - - name: Provider Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderShare` object respresents the share that you have created through Stream Sharing. - - - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). - - ## The Provider Shares Model - - - name: Consumer Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. - - - ## The Consumer Shared Resources Model - - - name: Consumer Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerShare` object respresents the share that you received through Stream Sharing. - - - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). - - ## The Consumer Shares Model - - - name: Shared Tokens (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Encrypted Token shared with consumer - - - ## The Shared Tokens Model - - - name: Opt Ins (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Stream sharing opt in options - - ## The Opt Ins Model - - - name: Organizations (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Organizations` objects represent an entire Confluent Cloud organization. - Partners are allowed to get an organization they have signed up or - list all organizations they have signed up. - - name: Signup (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Signup` APIs can only be performed by partners. - - name: Networks (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. - - The API allows you to list, create, read, update, and delete your networks. - - - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - - ## The Networks Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - - name: Peerings (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - - - ## The Peerings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - - name: Transit Gateway Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AWS Transit Gateway Attachments - - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - - ## The Transit Gateway Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - - name: Private Link Accesses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. - - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). - - - ## The Private Link Accesses Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - - name: Network Link Services (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Services Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - - name: Network Link Endpoints (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Endpoints Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - - name: Network Link Service Associations (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - List of incoming Network Link Enpoints associated with the Network Link Service. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Service Associations Model - - - name: Gateways (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A gateway is a resource that defines network access to Confluent cloud resources. - - - ## The Gateways Model - - - name: IP Addresses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - IP Addresses - - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) - - ## The IP Addresses Model - - - name: Private Link Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. - - - ## The Private Link Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - - name: Private Link Attachment Connections (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. - - - ## The Private Link Attachment Connections Model - - - name: Identity Providers (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Identity Provider. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Identity Providers Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - - name: Jwks (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. - - The API allows you to refresh JWKS public key data. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Jwks Model - - - name: Identity Pools (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. - - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. - - - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). - - ## The Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - - name: OAuth Tokens (sts/v1) - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of - external identities to access Confluent Cloud APIs - - name: Client Quotas (kafka-quotas/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ClientQuota` objects represent Client Quotas you can set at the service account level. - - The API allows you to list, create, read, update, and delete your client quotas. - - - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - - ## The Client Quotas Model - - - name: Pipelines (sd/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. - - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. - - - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). - - ## The Pipelines Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - - name: Keys (byok/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. - - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. - - - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). - - ## The Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - - name: Costs (billing/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cost` objects represent the aggregated billing costs for an organization - - - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). - - ## The Costs Model - - - name: Group Mappings (iam/v2/sso) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. - - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. - - - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). - - ## The Group Mappings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - - name: Compute Pools (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. - - - ## The Compute Pools Model - - - name: Regions (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. - - - ## The Regions Model - - - name: Statements (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - - name: Statement Results (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementResult` represents a result of a `Statement` resource. - The API allows you to read your statement's results. - ## The Statement Results Model - - - name: Statement Exceptions (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementException` represents an exception of a `Statement` resource. - The API allows you to read your statement's exceptions. - ## The Statement Exceptions Model - - - name: Connections (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Connection` represents a core resource used to model SQL connections for execution. - A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - - name: DNS Forwarders (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add, remove, and update DNS forwarder for your gateway. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - - - ## The DNS Forwarders Model - - - name: Access Points (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. - - - ## The Access Points Model - - - name: DNS Records (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - - ## The DNS Records Model - - - name: Certificate Authorities (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Certificate Authority. - - - Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). - - ## The Certificate Authorities Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `certificate_authorities_per_org` | Number of certificate authorities per organization | - - name: Certificate Identity Pools (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Identitypool` objects represent workload identities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities - - - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). - - ## The Certificate Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - - name: Integrations (pim/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). - - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. - - - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). - - ## The Integrations Model - - - name: Flink Artifacts (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. - - - ## The Flink Artifacts Model - - - name: Presigned Urls (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - - ## The Presigned Urls Model - - - name: Flink Artifact Versions (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. - - - ## The Flink Artifact Versions Model - -components: - schemas: - SearchFilter: - description: Filter a collection by a string search - type: string - sd.v1.PipelineList: - type: object - description: |- - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. - - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. - - - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). - - ## The Pipelines Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - sd/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - PipelineList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/sd/v1/pipelines' - last: - example: 'https://api.confluent.cloud/sd/v1/pipelines?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/sd/v1/pipelines?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/sd/v1/pipelines?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/sd.v1.Pipeline' - - type: object - required: - - id - - metadata - - spec - properties: - spec: - type: object - required: - - display_name - - environment - - kafka_cluster - uniqueItems: true - ListMeta: - type: object - description: ListMeta describes metadata that resource collections may have - properties: - first: - description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds' - last: - description: 'A link to the last page of results. If a response does not contain a last link, then direct navigation to the last page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT' - prev: - description: 'A link to the previous page of results. If a response does not contain a prev link, then either there is no previous data or backwards traversal through the result set is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld' - next: - description: 'A link to the next page of results. If a response does not contain a next link, then there is no more data available.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb' - total_size: - description: Number of records in the full result set. This response may be paginated and have a smaller number of records. - type: integer - format: int32 - minimum: 0 - example: 123 - sd.v1.Pipeline: - type: object - description: |- - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. - - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. - - - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). - - ## The Pipelines Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - properties: - api_version: - type: string - enum: - - sd/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Pipeline - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/sd/v1/pipelines/pipe-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/pipeline=pipe-12345' - spec: - $ref: '#/components/schemas/sd.v1.PipelineSpec' - status: - $ref: '#/components/schemas/sd.v1.PipelineStatus' - AclOperation: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - AclPatternType: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - MATCH - - LITERAL - - PREFIXED - AclPermission: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - DENY - - ALLOW - AclResourceType: - type: string - enum: - - UNKNOWN - - ANY - - TOPIC - - GROUP - - CLUSTER - - TRANSACTIONAL_ID - - DELEGATION_TOKEN - BrokerTaskType: - type: string - enum: - - add-broker - - remove-broker - MirrorTopicStatus: - enum: - - ACTIVE - - FAILED - - LINK_FAILED - - LINK_PAUSED - - PAUSED - - PENDING_STOPPED - - SOURCE_UNAVAILABLE - - STOPPED - - PENDING_MIRROR - - PENDING_SYNCHRONIZE - - PENDING_SETUP_FOR_RESTORE - - PENDING_RESTORE - type: string - Failure: - type: object - description: Provides information about problems encountered while performing an operation. - required: - - errors - properties: - errors: - description: List of errors which caused this operation to fail - type: array - items: - $ref: '#/components/schemas/Error' - uniqueItems: true - AlterConfigBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - operation: - type: string - x-extensible-enum: - - SET - - DELETE - nullable: true - validate_only: - type: boolean - CreateAclRequestData: - type: object - required: - - resource_type - - resource_name - - pattern_type - - principal - - host - - operation - - permission - properties: - resource_type: - $ref: '#/components/schemas/AclResourceType' - resource_name: - type: string - pattern_type: - $ref: '#/components/schemas/AclPatternType' - principal: - type: string - host: - type: string - operation: - $ref: '#/components/schemas/AclOperation' - permission: - $ref: '#/components/schemas/AclPermission' - CreateAclRequestDataList: - allOf: - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/CreateAclRequestData' - CreateTopicRequestData: - type: object - required: - - topic_name - properties: - topic_name: - type: string - partitions_count: - type: integer - replication_factor: - type: integer - configs: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - validate_only: - type: boolean - ProduceRequest: - type: object - properties: - partition_id: - type: integer - nullable: true - format: int32 - headers: - type: array - items: - $ref: '#/components/schemas/ProduceRequestHeader' - key: - $ref: '#/components/schemas/ProduceRequestData' - value: - $ref: '#/components/schemas/ProduceRequestData' - timestamp: - type: string - format: date-time - nullable: true - UpdateConfigRequestData: - type: object - properties: - value: - type: string - nullable: true - CreateLinkRequestData: - properties: - source_cluster_id: - type: string - destination_cluster_id: - type: string - remote_cluster_id: - description: The expected remote cluster ID. - type: string - cluster_link_id: - description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' - type: string - configs: - items: - $ref: '#/components/schemas/ConfigData' - type: array - type: object - UpdateLinkConfigRequestData: - properties: - value: - type: string - required: - - value - type: object - CreateMirrorTopicRequestData: - properties: - source_topic_name: - type: string - mirror_topic_name: - type: string - replication_factor: - type: integer - configs: - type: array - items: - $ref: '#/components/schemas/ConfigData' - required: - - source_topic_name - type: object - AlterMirrorsRequestData: - properties: - mirror_topic_names: - description: The mirror topics specified as a list of topic names. - type: array - items: - type: string - mirror_topic_name_pattern: - description: The mirror topics specified as a pattern. - type: string - type: object - RemoveBrokersRequestData: - properties: - broker_ids: - type: array - items: - type: integer - required: - - broker_ids - type: object - BrokerReplicaExclusionBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' - ObjectMeta: - description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' - required: - - self - properties: - self: - description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' - type: string - format: uri - readOnly: true - example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' - resource_name: - description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name - type: string - format: uri - readOnly: true - example: 'crn://confluent.cloud/kafka=lkc-f3a90de' - created_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. - updated_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. - deleted_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. - readOnly: true - sd.v1.PipelineSpec: - type: object - description: The desired state of the Pipeline - properties: - display_name: - type: string - pattern: '^[a-zA-Z0-9-_.!~*''()]{1,64}$' - maxLength: 64 - example: MyFirstPipeline - description: The name of the pipeline. - description: - type: string - example: My first pipeline - description: The description of the pipeline. - retained_topic_names: - type: array - items: - type: string - description: | - A list of Kafka topic names from the activated pipeline to be retained when - this pipeline is deactivated. - example: - - topic1 - - topic2 - activated: - type: boolean - default: false - description: The desired state of the pipeline. - activation_privilege: - type: boolean - default: false - description: Whether the pipeline has privileges to be activated. - source_code: - type: object - description: A map of source code format and statements that define this pipeline. - allOf: - - $ref: '#/components/schemas/sd.v1.SourceCodeObject' - secrets: - type: object - example: - secret_name_1: secret1 - secret_name_2: secret2 - description: A map of secrets used in the pipeline source code. - additionalProperties: - type: string - environment: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The environment to which this belongs. - kafka_cluster: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The kafka_cluster to which this belongs. - ksql_cluster: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The ksql_cluster associated with this object. - x-immutable: false - stream_governance_cluster: - allOf: - - $ref: '#/components/schemas/ObjectReference' - description: The stream_governance_cluster associated with this object. - x-immutable: false - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - sd.v1.PipelineStatus: - description: The status of the Pipeline - type: object - properties: - state: - type: string - x-extensible-enums: - - DRAFT - - ACTIVATING - - DEACTIVATING - - ACTIVE - - FAILED - - DELETED - description: | - The current state of the pipeline.: - DRAFT: the pipeline is a draft and not activated yet; - ACTIVATING: the pipeline activation is in progress; - DEACTIVATING: the pipeline deactivation is in progress; - ACTIVE: the pipeline is actived and running; - FAILED: the pipeline activation or deactivation failed; - DELETED: the pipeline is deleted - readOnly: true - topic_count: - type: integer - format: int32 - description: The number of Kafka topics defined in the pipeline. - readOnly: true - connector_count: - type: integer - format: int32 - description: The number of connectors defined in the pipeline. - readOnly: true - query_count: - type: integer - format: int32 - description: The number of KSQL queries defined in the pipeline. - readOnly: true - readOnly: true - Error: - type: object - description: Describes a particular error encountered while performing an operation. - properties: - id: - description: A unique identifier for this particular occurrence of the problem. - type: string - maxLength: 255 - status: - description: 'The HTTP status code applicable to this problem, expressed as a string value.' - type: string - code: - description: 'An application-specific error code, expressed as a string value.' - type: string - title: - description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' - type: string - detail: - description: A human-readable explanation specific to this occurrence of the problem. - type: string - source: - type: object - description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' - properties: - pointer: - description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' - type: string - parameter: - description: A string indicating which query parameter caused the error. - type: string - error_code: - type: integer - format: int32 - message: - type: string - nullable: true - additionalProperties: false - ProduceRequestHeader: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - format: byte - nullable: true - ProduceRequestData: - type: object - properties: - type: - type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - data: - $ref: '#/components/schemas/AnyValue' - nullable: true - ConfigData: - example: - name: name - value: value - properties: - name: - type: string - value: - nullable: true - type: string - required: - - name - - value - BrokerReplicaExclusionRequestData: - type: object - required: - - broker_id - - reason - properties: - broker_id: - type: integer - reason: - type: string - sd.v1.SourceCodeObject: - type: object - description: A object containing pipeline's source code definition. - properties: - sql: - type: string - description: A list of KSQL statements that defines a pipeline. - example: | - CREATE STREAM `upstream` (id INTEGER, name STRING) - WITH (kafka_topic = 'topic', partitions=1, value_format='JSON'); - CREATE STREAM `downstream` AS SELECT * FROM upstream; - required: - - sql - ObjectReference: - type: object - description: ObjectReference provides information for you to locate the referred object - required: - - id - - related - - resource_name - properties: - id: - type: string - description: ID of the referred resource - minLength: 1 - maxLength: 255 - environment: - type: string - description: 'Environment of the referred resource, if env-scoped' - minLength: 1 - maxLength: 255 - related: - type: string - format: uri - description: API URL for accessing or modifying the referred object - minLength: 1 - readOnly: true - resource_name: - type: string - format: uri - description: CRN reference to the referred resource - minLength: 1 - readOnly: true - api_version: - type: string - description: API group and version of the referred resource - minLength: 1 - readOnly: true - kind: - type: string - description: Kind of the referred resource - minLength: 1 - readOnly: true - AnyValue: - nullable: true - parameters: - AclHost: - name: host - description: The ACL host. - in: query - required: false - schema: - type: string - AclOperation: - name: operation - description: The ACL operation. - in: query - required: false - schema: - $ref: '#/components/schemas/AclOperation' - AclOperationRequired: - name: operation - description: The ACL operation. - in: query - required: true - schema: - $ref: '#/components/schemas/AclOperation' - AclPatternType: - name: pattern_type - description: The ACL pattern type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPatternType' - AclPatternTypeRequired: - name: pattern_type - description: The ACL pattern type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPatternType' - AclPermission: - name: permission - description: The ACL permission. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPermission' - AclPermissionRequired: - name: permission - description: The ACL permission. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPermission' - AclPrincipal: - name: principal - description: The ACL principal. This is the Service Account name or user name. - in: query - required: false - schema: - type: string - AclResourceName: - name: resource_name - description: The ACL resource name. - in: query - required: false - schema: - type: string - AclResourceType: - name: resource_type - description: The ACL resource type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclResourceType' - AclResourceTypeRequired: - name: resource_type - description: The ACL resource type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclResourceType' - BrokerId: - name: broker_id - description: The Kafka broker ID. - in: path - required: true - schema: - type: integer - example: 1 - ClusterId: - name: cluster_id - description: The Kafka cluster ID. - in: path - required: true - schema: - type: string - example: cluster-1 - ConfigName: - name: name - description: The configuration parameter name. - in: path - required: true - schema: - type: string - example: compression.type - ConsumerGroupId: - name: consumer_group_id - description: The consumer group ID. - in: path - required: true - schema: - type: string - example: consumer-group-1 - ConsumerId: - name: consumer_id - description: The consumer ID. - in: path - required: true - schema: - type: string - example: consumer-1 - IncludeAuthorizedOperations: - name: include_authorized_operations - description: Specify if authorized operations should be included in the response. - in: query - required: false - schema: - type: boolean - PartitionId: - name: partition_id - description: The partition ID. - in: path - required: true - schema: - type: integer - example: 0 - TopicName: - name: topic_name - description: The topic name. - in: path - required: true - schema: - type: string - example: topic-1 - BrokerTaskType: - name: task_type - description: The Kafka broker task type. - in: path - required: true - schema: - $ref: '#/components/schemas/BrokerTaskType' - example: remove-broker - ShouldShutdown: - name: should_shutdown - description: 'To shutdown the broker or not, Default: true' - in: query - required: false - schema: - type: boolean - example: true - ValidateOnly: - name: validate_only - description: 'To validate the action can be performed successfully or not. Default: false' - in: query - required: false - schema: - type: boolean - example: false - ValidateLink: - name: validate_link - description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' - in: query - required: false - schema: - type: boolean - example: false - IncludeTasks: - name: include_tasks - description: 'Whether to include cluster linking tasks in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludeStateTransitionErrors: - name: include_state_transition_errors - description: 'Whether to include mirror state transition errors in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - Force: - name: force - description: 'Force the action. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludePartitionLevelTruncationData: - name: include_partition_level_truncation_data - description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - LinkName: - name: link_name - description: The link name - in: path - required: true - schema: - type: string - example: link-sb1 - LinkConfigName: - name: config_name - description: The link config name - in: path - required: true - schema: - type: string - example: consumer.offset.sync.enable - MirrorTopicStatus: - name: mirror_status - description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' - in: query - required: false - schema: - $ref: '#/components/schemas/MirrorTopicStatus' - example: ACTIVE - MirrorTopicName: - name: mirror_topic_name - description: Cluster Linking mirror topic name - in: path - required: true - schema: - type: string - example: topic-1 - QueryParamLinkName: - name: link_name - description: The link name - in: query - required: true - schema: - type: string - example: link-sb1 - responses: - BadRequestError: - description: Bad Request - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '400' - code: invalid_filter - title: Invalid Filter - detail: The 'delorean' resource can't be filtered by 'num_doors' - source: - parameter: num_doors - UnauthenticatedError: - x-summary: Unauthorized - description: The request lacks valid authentication credentials for this resource. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - WWW-Authenticate: - schema: - type: string - description: The unique identifier for the API request. - example: 'Basic error="invalid_key", error_description="The API Key is invalid"' - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '401' - code: user_unauthenticated - title: Authentication Required - detail: Valid authentication credentials must be provided - UnauthorizedError: - x-summary: Forbidden - description: The access credentials were considered insufficient to grant access - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '403' - code: user_unauthorized - title: User Access Unauthorized - detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. - RateLimitError: - description: Rate Limit Exceeded - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Retry-After: - schema: - type: integer - description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. - DefaultSystemError: - description: 'Oops, something went wrong!' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '500' - code: out_of_gas - title: DeLorean Out Of Gas - detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' - OverQuotaError: - x-summary: Over Quota - description: The request would exceed one or more quotas. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '402' - code: quota_exceeded - title: Kafka Clusters Per Org Quota Exceeded - detail: 'The request would exceed the quota: kafka_clusters_per_environment' - ConflictError: - x-summary: Conflict - description: The request is in conflict with the current server state - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/{object}/{id}' - description: Resource URI of conflicting resource - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '409' - code: resource_already_exists - title: Resource Already exists - detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. - ValidationError: - description: Validation Failed - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - NotFoundError: - description: Not Found - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '404' - title: Not Found - securitySchemes: - cloud-api-key: - type: http - scheme: basic - description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. - confluent-sts-access-token: - type: oauth2 - description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' - scopes: {} - api-key: - type: http - scheme: basic - description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. - resource-api-key: - type: http - scheme: basic - description: | - Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID - as the username and resource-specific API Key Secret as the password. - external-access-token: - type: oauth2 - description: Authenticate with OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https:///token' - scopes: {} - oauth: - type: oauth2 - description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. - flows: - clientCredentials: - tokenUrl: /oauth2/token - scopes: - 'partner:alter': enables partners to alter entitlements - 'partner:create': enables partners to create entitlements and signup on behalf of customers - 'partner:delete': enables partners to delete entitlements and organizations - 'partner:describe': enables partners to read and list entitlements and organizations - requestBodies: - AlterBrokerConfigBatchRequest: - description: The alter broker configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterClusterConfigBatchRequest: - description: The alter cluster configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterTopicConfigBatchRequest: - description: The alter topic configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - examples: - batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only_batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only: true - CreateAclRequest: - description: The ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestData' - example: - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - BatchCreateAclRequest: - description: The batch ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestDataList' - example: - data: - - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - - resource_type: TOPIC - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: READ - permission: ALLOW - CreateTopicRequest: - description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTopicRequestData' - examples: - uniform_replication: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - configs: - - name: cleanup.policy - value: compact - - name: compression.type - value: gzip - dry_run_create_topic: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - validate_only: true - ProduceRequest: - description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' - content: - application/json: - schema: - $ref: '#/components/schemas/ProduceRequest' - examples: - binary_and_json: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - partition_id: 1 - headers: - - name: Header-1 - value: SGVhZGVyLTE= - - name: Header-2 - value: SGVhZGVyLTI= - key: - type: BINARY - data: Zm9vYmFy - value: - type: JSON - data: - foo: bar - timestamp: '2021-02-05T19:14:42Z' - string: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - value: - type: STRING - data: My message - empty_value: - description: key or value can be omitted entirely. - value: - key: - data: 1000 - UpdateBrokerConfigRequest: - description: The broker configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateClusterConfigRequest: - description: The cluster configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateTopicConfigRequest: - description: The topic configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - CreateLinkRequest: - description: Create a cluster link - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLinkRequestData' - examples: - destination_initiated_link: - description: Create a destination initiated cluster link - value: - source_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: acl.sync.enable - value: 'false' - - name: consumer.offset.sync.ms - value: '30000' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_source_cluster: - description: Create a source initiated cluster link at source cluster - value: - destination_cluster_id: cluster-2 - configs: - - name: bootstrap.servers - value: cluster-2-bootstrap-server - - name: link.mode - value: SOURCE - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_destination_cluster: - description: Create a source initiated cluster link at destination cluster - value: - destination_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: link.mode - value: DESTINATION - - name: connection.mode - value: INBOUND - - name: acl.sync.enable - value: 'false' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_east: - description: Create a bidirectional cluster link in east - value: - remote_cluster_id: cluster-west - configs: - - name: bootstrap.servers - value: cluster-west-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: west. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_west: - description: Create a bidirectional cluster link in west - value: - remote_cluster_id: cluster-east - cluster_link_id: eEBkTffYSESld6EO898x3w - configs: - - name: bootstrap.servers - value: cluster-east-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: east. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - UpdateLinkConfigRequest: - content: - application/json: - example: - value: '300000' - schema: - $ref: '#/components/schemas/UpdateLinkConfigRequestData' - description: Link config value to update - AlterLinkConfigBatchRequest: - content: - application/json: - example: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - CreateMirrorTopicRequest: - description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateMirrorTopicRequestData' - examples: - generic_example: - description: Generic example of creating a mirror topic - value: - source_topic_name: topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 1 - example_with_mirror_topic_name: - description: Example using optional mirror_topic_name flag - value: - source_topic_name: topic-1 - mirror_topic_name: link1_topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 3 - AlterMirrorsRequest: - description: Mirror topics to be altered. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterMirrorsRequestData' - examples: - mirror_topic_names: - description: Example using mirror topic names - value: - mirror_topic_names: - - topic-1 - - topic-2 - mirror_topic_name_pattern: - description: Example using mirror topic name pattern - value: - mirror_topic_name_pattern: .* - RemoveBrokersRequest: - content: - application/json: - example: - broker_ids: - - 1 - - 2 - - 3 - schema: - $ref: '#/components/schemas/RemoveBrokersRequestData' - description: Broker ids to remove - BrokerReplicaExclusionBatchRequest: - description: Alter Broker Replica Exclusions. - content: - application/json: - schema: - $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' - example: - data: - - broker_id: 1 - reason: The broker is to be removed. - - broker_id: 2 - reason: The broker is to be removed. - x-stackQL-resources: - pipelines: - id: confluent.pipelines.pipelines - name: pipelines - title: Pipelines - methods: - list_sd_v1pipelines: - operation: - $ref: '#/paths/~1sd~1v1~1pipelines/get' - response: - mediaType: application/json - openAPIDocKey: '200' - objectKey: $.data - create_sd_v1pipeline: - operation: - $ref: '#/paths/~1sd~1v1~1pipelines/post' - response: - mediaType: application/json - openAPIDocKey: '202' - get_sd_v1pipeline: - operation: - $ref: '#/paths/~1sd~1v1~1pipelines~1{id}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - update_sd_v1pipeline: - operation: - $ref: '#/paths/~1sd~1v1~1pipelines~1{id}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_sd_v1pipeline: - operation: - $ref: '#/paths/~1sd~1v1~1pipelines~1{id}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/pipelines/methods/get_sd_v1pipeline' - - $ref: '#/components/x-stackQL-resources/pipelines/methods/list_sd_v1pipelines' - insert: - - $ref: '#/components/x-stackQL-resources/pipelines/methods/create_sd_v1pipeline' - update: - - $ref: '#/components/x-stackQL-resources/pipelines/methods/update_sd_v1pipeline' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/pipelines/methods/delete_sd_v1pipeline' -paths: - /sd/v1/pipelines: - get: - operationId: listSdV1Pipelines - summary: List of Pipelines - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all pipelines. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Filter the results by exact match for environment. - - name: spec.kafka_cluster - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: lkc-00000 - description: Filter the results by exact match for spec.kafka_cluster. - - name: page_size - in: query - required: false - schema: - type: integer - default: 100 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Pipelines (sd/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Pipeline. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/sd.v1.PipelineList' - - type: object - properties: - data: - type: array - items: - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/org/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - kafka_cluster: - example: - id: lkc-00000 - related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/sd/v1/pipelines?environment=env-00000&spec.kafka_cluster=lkc-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/sd/v1/pipelines?environment=env-00000&spec.kafka_cluster=lkc-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/sd/v1/pipelines?environment=env-00000&spec.kafka_cluster=lkc-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/sd/v1/pipelines?environment=env-00000&spec.kafka_cluster=lkc-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/sd/v1/pipelines?environment=env-00000&spec.kafka_cluster=lkc-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/sd/v1/pipelines?environment=env-00000&spec.kafka_cluster=lkc-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/sd/v1/pipelines?environment=env-00000&spec.kafka_cluster=lkc-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createSdV1Pipeline - summary: Create a Pipeline - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to create a pipeline. - tags: - - Pipelines (sd/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/sd.v1.Pipeline' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - display_name - - environment - - kafka_cluster - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - kafka_cluster: - example: - id: lkc-00000 - responses: - '202': - description: A Pipeline is being created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/sd/v1/pipelines/{id}' - description: Pipeline resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/sd.v1.Pipeline' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - display_name - - environment - - kafka_cluster - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/org/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - kafka_cluster: - example: - id: lkc-00000 - related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-00000' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/sd/v1/pipelines \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"MyFirstPipeline","description":"My first pipeline","retained_topic_names":["topic1","topic2"],"activated":false,"activation_privilege":false,"source_code":{"sql":"CREATE STREAM `upstream` (id INTEGER, name STRING) - WITH (kafka_topic = '\''topic'\'', partitions=1, value_format='\''JSON'\''); - CREATE STREAM `downstream` AS SELECT * FROM upstream; - "},"secrets":{"secret_name_1":"secret1","secret_name_2":"secret2"},"environment":{"id":"env-00000","environment":"string"},"kafka_cluster":{"id":"lkc-00000","environment":"string"},"ksql_cluster":{"id":"string","environment":"string"},"stream_governance_cluster":{"id":"string","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"MyFirstPipeline\",\"description\":\"My first pipeline\",\"retained_topic_names\":[\"topic1\",\"topic2\"],\"activated\":false,\"activation_privilege\":false,\"source_code\":{\"sql\":\"CREATE STREAM `upstream` (id INTEGER, name STRING)\ - WITH (kafka_topic = 'topic', partitions=1, value_format='JSON');\ - CREATE STREAM `downstream` AS SELECT * FROM upstream;\ - \"},\"secrets\":{\"secret_name_1\":\"secret1\",\"secret_name_2\":\"secret2\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"kafka_cluster\":{\"id\":\"lkc-00000\",\"environment\":\"string\"},\"ksql_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"stream_governance_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/sd/v1/pipelines") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/sd/v1/pipelines\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"MyFirstPipeline\\\",\\\"description\\\":\\\"My first pipeline\\\",\\\"retained_topic_names\\\":[\\\"topic1\\\",\\\"topic2\\\"],\\\"activated\\\":false,\\\"activation_privilege\\\":false,\\\"source_code\\\":{\\\"sql\\\":\\\"CREATE STREAM `upstream` (id INTEGER, name STRING)\\\n WITH (kafka_topic = 'topic', partitions=1, value_format='JSON');\\\nCREATE STREAM `downstream` AS SELECT * FROM upstream;\\\n\\\"},\\\"secrets\\\":{\\\"secret_name_1\\\":\\\"secret1\\\",\\\"secret_name_2\\\":\\\"secret2\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"kafka_cluster\\\":{\\\"id\\\":\\\"lkc-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"ksql_cluster\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"},\\\"stream_governance_cluster\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"MyFirstPipeline\",\"description\":\"My first pipeline\",\"retained_topic_names\":[\"topic1\",\"topic2\"],\"activated\":false,\"activation_privilege\":false,\"source_code\":{\"sql\":\"CREATE STREAM `upstream` (id INTEGER, name STRING)\ - WITH (kafka_topic = 'topic', partitions=1, value_format='JSON');\ - CREATE STREAM `downstream` AS SELECT * FROM upstream;\ - \"},\"secrets\":{\"secret_name_1\":\"secret1\",\"secret_name_2\":\"secret2\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"kafka_cluster\":{\"id\":\"lkc-00000\",\"environment\":\"string\"},\"ksql_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"stream_governance_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/sd/v1/pipelines", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/sd/v1/pipelines", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'MyFirstPipeline', - description: 'My first pipeline', - retained_topic_names: ['topic1', 'topic2'], - activated: false, - activation_privilege: false, - source_code: { - sql: 'CREATE STREAM `upstream` (id INTEGER, name STRING) - WITH (kafka_topic = \'topic\', partitions=1, value_format=\'JSON\'); - CREATE STREAM `downstream` AS SELECT * FROM upstream; - ' - }, - secrets: {secret_name_1: 'secret1', secret_name_2: 'secret2'}, - environment: {id: 'env-00000', environment: 'string'}, - kafka_cluster: {id: 'lkc-00000', environment: 'string'}, - ksql_cluster: {id: 'string', environment: 'string'}, - stream_governance_cluster: {id: 'string', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/sd/v1/pipelines"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"MyFirstPipeline\",\"description\":\"My first pipeline\",\"retained_topic_names\":[\"topic1\",\"topic2\"],\"activated\":false,\"activation_privilege\":false,\"source_code\":{\"sql\":\"CREATE STREAM `upstream` (id INTEGER, name STRING)\ - WITH (kafka_topic = 'topic', partitions=1, value_format='JSON');\ - CREATE STREAM `downstream` AS SELECT * FROM upstream;\ - \"},\"secrets\":{\"secret_name_1\":\"secret1\",\"secret_name_2\":\"secret2\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"kafka_cluster\":{\"id\":\"lkc-00000\",\"environment\":\"string\"},\"ksql_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"stream_governance_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/sd/v1/pipelines"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"MyFirstPipeline\",\"description\":\"My first pipeline\",\"retained_topic_names\":[\"topic1\",\"topic2\"],\"activated\":false,\"activation_privilege\":false,\"source_code\":{\"sql\":\"CREATE STREAM `upstream` (id INTEGER, name STRING)\ - WITH (kafka_topic = 'topic', partitions=1, value_format='JSON');\ - CREATE STREAM `downstream` AS SELECT * FROM upstream;\ - \"},\"secrets\":{\"secret_name_1\":\"secret1\",\"secret_name_2\":\"secret2\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"kafka_cluster\":{\"id\":\"lkc-00000\",\"environment\":\"string\"},\"ksql_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"stream_governance_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/sd/v1/pipelines/{id}': - get: - operationId: getSdV1Pipeline - summary: Read a Pipeline - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read a pipeline. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: spec.kafka_cluster - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: lkc-00000 - description: Scope the operation to the given spec.kafka_cluster. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the pipeline. - tags: - - Pipelines (sd/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Pipeline. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/sd.v1.Pipeline' - - type: object - required: - - api_version - - kind - - id - - spec - properties: - spec: - type: object - required: - - display_name - - environment - - kafka_cluster - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/org/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - kafka_cluster: - example: - id: lkc-00000 - related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateSdV1Pipeline - summary: Update a Pipeline - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to update a pipeline. - - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the pipeline. - tags: - - Pipelines (sd/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/sd.v1.Pipeline' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - environment - properties: - environment: - example: - id: env-00000 - responses: - '200': - description: Pipeline. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/sd.v1.Pipeline' - - type: object - required: - - api_version - - kind - - id - - spec - properties: - spec: - type: object - required: - - display_name - - environment - - kafka_cluster - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/org/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - kafka_cluster: - example: - id: lkc-00000 - related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '402': - $ref: '#/components/responses/OverQuotaError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/sd/v1/pipelines/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"MyFirstPipeline","description":"My first pipeline","retained_topic_names":["topic1","topic2"],"activated":false,"activation_privilege":false,"source_code":{"sql":"CREATE STREAM `upstream` (id INTEGER, name STRING) - WITH (kafka_topic = '\''topic'\'', partitions=1, value_format='\''JSON'\''); - CREATE STREAM `downstream` AS SELECT * FROM upstream; - "},"secrets":{"secret_name_1":"secret1","secret_name_2":"secret2"},"environment":{"id":"env-00000","environment":"string"},"kafka_cluster":{"id":"string","environment":"string"},"ksql_cluster":{"id":"string","environment":"string"},"stream_governance_cluster":{"id":"string","environment":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"MyFirstPipeline\",\"description\":\"My first pipeline\",\"retained_topic_names\":[\"topic1\",\"topic2\"],\"activated\":false,\"activation_privilege\":false,\"source_code\":{\"sql\":\"CREATE STREAM `upstream` (id INTEGER, name STRING)\ - WITH (kafka_topic = 'topic', partitions=1, value_format='JSON');\ - CREATE STREAM `downstream` AS SELECT * FROM upstream;\ - \"},\"secrets\":{\"secret_name_1\":\"secret1\",\"secret_name_2\":\"secret2\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"kafka_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"ksql_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"stream_governance_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/sd/v1/pipelines/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/sd/v1/pipelines/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"MyFirstPipeline\\\",\\\"description\\\":\\\"My first pipeline\\\",\\\"retained_topic_names\\\":[\\\"topic1\\\",\\\"topic2\\\"],\\\"activated\\\":false,\\\"activation_privilege\\\":false,\\\"source_code\\\":{\\\"sql\\\":\\\"CREATE STREAM `upstream` (id INTEGER, name STRING)\\\n WITH (kafka_topic = 'topic', partitions=1, value_format='JSON');\\\nCREATE STREAM `downstream` AS SELECT * FROM upstream;\\\n\\\"},\\\"secrets\\\":{\\\"secret_name_1\\\":\\\"secret1\\\",\\\"secret_name_2\\\":\\\"secret2\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\",\\\"environment\\\":\\\"string\\\"},\\\"kafka_cluster\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"},\\\"ksql_cluster\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"},\\\"stream_governance_cluster\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"MyFirstPipeline\",\"description\":\"My first pipeline\",\"retained_topic_names\":[\"topic1\",\"topic2\"],\"activated\":false,\"activation_privilege\":false,\"source_code\":{\"sql\":\"CREATE STREAM `upstream` (id INTEGER, name STRING)\ - WITH (kafka_topic = 'topic', partitions=1, value_format='JSON');\ - CREATE STREAM `downstream` AS SELECT * FROM upstream;\ - \"},\"secrets\":{\"secret_name_1\":\"secret1\",\"secret_name_2\":\"secret2\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"kafka_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"ksql_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"stream_governance_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/sd/v1/pipelines/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/sd/v1/pipelines/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'MyFirstPipeline', - description: 'My first pipeline', - retained_topic_names: ['topic1', 'topic2'], - activated: false, - activation_privilege: false, - source_code: { - sql: 'CREATE STREAM `upstream` (id INTEGER, name STRING) - WITH (kafka_topic = \'topic\', partitions=1, value_format=\'JSON\'); - CREATE STREAM `downstream` AS SELECT * FROM upstream; - ' - }, - secrets: {secret_name_1: 'secret1', secret_name_2: 'secret2'}, - environment: {id: 'env-00000', environment: 'string'}, - kafka_cluster: {id: 'string', environment: 'string'}, - ksql_cluster: {id: 'string', environment: 'string'}, - stream_governance_cluster: {id: 'string', environment: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/sd/v1/pipelines/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"MyFirstPipeline\",\"description\":\"My first pipeline\",\"retained_topic_names\":[\"topic1\",\"topic2\"],\"activated\":false,\"activation_privilege\":false,\"source_code\":{\"sql\":\"CREATE STREAM `upstream` (id INTEGER, name STRING)\ - WITH (kafka_topic = 'topic', partitions=1, value_format='JSON');\ - CREATE STREAM `downstream` AS SELECT * FROM upstream;\ - \"},\"secrets\":{\"secret_name_1\":\"secret1\",\"secret_name_2\":\"secret2\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"kafka_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"ksql_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"stream_governance_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/sd/v1/pipelines/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"MyFirstPipeline\",\"description\":\"My first pipeline\",\"retained_topic_names\":[\"topic1\",\"topic2\"],\"activated\":false,\"activation_privilege\":false,\"source_code\":{\"sql\":\"CREATE STREAM `upstream` (id INTEGER, name STRING)\ - WITH (kafka_topic = 'topic', partitions=1, value_format='JSON');\ - CREATE STREAM `downstream` AS SELECT * FROM upstream;\ - \"},\"secrets\":{\"secret_name_1\":\"secret1\",\"secret_name_2\":\"secret2\"},\"environment\":{\"id\":\"env-00000\",\"environment\":\"string\"},\"kafka_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"ksql_cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"stream_governance_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteSdV1Pipeline - summary: Delete a Pipeline - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to delete a pipeline. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: spec.kafka_cluster - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: lkc-00000 - description: Scope the operation to the given spec.kafka_cluster. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the pipeline. - tags: - - Pipelines (sd/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A Pipeline is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/sd/v1/pipelines/{id}?environment=env-00000&spec.kafka_cluster=lkc-00000"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); diff --git a/providers/src/confluent/v00.00.00000/services/provider_integrations.yaml b/providers/src/confluent/v00.00.00000/services/provider_integrations.yaml index cc140973..a40cd2e0 100644 --- a/providers/src/confluent/v00.00.00000/services/provider_integrations.yaml +++ b/providers/src/confluent/v00.00.00000/services/provider_integrations.yaml @@ -1,1210 +1,3670 @@ openapi: 3.0.0 -servers: - - url: 'https://api.confluent.cloud' - description: Confluent Cloud API info: - version: '' - contact: - name: Confluent Cloud - url: 'https://www.confluent.io/cloud-contact-us/' - email: support@confluent.io - x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b - x-audience: external-public - x-logo: - url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' - title: Confluent Cloud APIs - provider_integrations - description: provider_integrations -tags: - - name: API Keys (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. - - The API allows you to list, create, update and delete your API Keys. - - - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - - ## The API Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - - name: Environments (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. - - - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - - ## The Environments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - - name: Organizations (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). - - The API allows you to list, view, and update your organizations. - - - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - - ## The Organizations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - - name: Users (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `User` objects represent individuals who may access your Confluent resources. - - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. - - - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). - - ## The Users Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - - name: Service Accounts (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. - - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. - - - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). - - ## The Service Accounts Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - - name: Invitations (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. - - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. - - - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). - - ## The Invitations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + title: provider_integrations API + description: confluent provider_integrations API + version: 1.0.0 +paths: + /pim/v1/integrations: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listPimV1Integrations + summary: List of Integrations + description: > + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - - name: IP Groups (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + Retrieve a sorted, filtered, paginated list of all integrations. - ## The IP Groups Model - - - name: IP Filters (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + If no `provider` filter is specified, returns provider integrations from + all clouds. + parameters: + - name: provider + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Filter the results by exact match for provider. + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Integrations (pim/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Integration. + content: + application/json: + schema: + type: object + description: >- + `Provider Integration` objects represent access to public + cloud service provider (CSP) resources - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. + that may be accessed by Confluent resources (for example, + connectors). - ## The IP Filters Model - - - name: Role Bindings (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to create, retrieve, and delete individual + integrations, and also obtain a - A role binding grants a Principal a role on resources that match a pattern. + list of all your provider integrations. - The API allows you to perform create, delete, and list operations on role bindings. - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + Related guide: [Provider Integration in Confluent + Cloud](https://docs.confluent.io/home/overview.html). - ## The Role Bindings Model - - - name: Subscriptions (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. + ## The Integrations Model - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - pim/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IntegrationList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `Provider Integration` objects represent access to + public cloud service provider (CSP) resources + + that may be accessed by Confluent resources (for + example, connectors). + + + The API allows you to create, retrieve, and delete + individual integrations, and also obtain a + + list of all your provider integrations. + + + + Related guide: [Provider Integration in Confluent + Cloud](https://docs.confluent.io/home/overview.html). + + + ## The Integrations Model + + + properties: + api_version: + type: string + enum: + - pim/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - Integration + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + display_name: + type: string + example: s3_provider_integration + description: Display name of Provider Integration. + maxLength: 60 + x-immutable: true + provider: + type: string + description: >- + Cloud provider to which access is provided through + provider integration. + example: AWS + default: AWS + x-extensible-enum: + - AWS + config: + type: object + description: >- + Cloud provider specific configs for provider + integration + discriminator: + propertyName: kind + mapping: + AwsIntegrationConfig: '#/components/schemas/pim.v1.AwsIntegrationConfig' + x-immutable: true + properties: + iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the + Amazon Web Services (AWS) + + Identity and Access Management (IAM) role that + Confluent Cloud uses to assume + + customer IAM role when it accesses resources in + your AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + readOnly: true + external_id: + type: string + format: uuid + description: > + Unique external ID that Confluent Cloud uses + when it assumes the IAM role + + in your Amazon Web Services (AWS) account. + readOnly: true + customer_iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the + Amazon Web Services (AWS) + + Identity and Access Management (IAM) role that + Confluent Cloud assumes when + + it accesses resources in your AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + kind: + type: string + description: >- + Cloud provider specific config to which access + is provided through provider integration. + example: AwsIntegrationConfig + x-extensible-enum: + - AwsIntegrationConfig + required: + - kind + usages: + type: array + description: >- + List of resource crns where this integration is + being used. + minItems: 0 + items: + type: string + description: >- + crn that specifies the resource using this + integration + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/connector=my_datagen_connector + readOnly: true + environment: + description: The environment to which this belongs. + x-immutable: true' + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - id + - config + - environment + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createPimV1Integration + summary: Create an Integration + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + Make a request to create an integration. + tags: + - Integrations (pim/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `Provider Integration` objects represent access to public cloud + service provider (CSP) resources + + that may be accessed by Confluent resources (for example, + connectors). + + + The API allows you to create, retrieve, and delete individual + integrations, and also obtain a + + list of all your provider integrations. + + + + Related guide: [Provider Integration in Confluent + Cloud](https://docs.confluent.io/home/overview.html). + + + ## The Integrations Model + + + properties: + api_version: + type: string + enum: + - pim/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Integration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + display_name: + type: string + example: s3_provider_integration + description: Display name of Provider Integration. + maxLength: 60 + x-immutable: true + provider: + type: string + description: >- + Cloud provider to which access is provided through provider + integration. + example: AWS + default: AWS + x-extensible-enum: + - AWS + config: + type: object + description: Cloud provider specific configs for provider integration + discriminator: + propertyName: kind + mapping: + AwsIntegrationConfig: '#/components/schemas/pim.v1.AwsIntegrationConfig' + x-immutable: true + properties: + iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon + Web Services (AWS) + + Identity and Access Management (IAM) role that Confluent + Cloud uses to assume + + customer IAM role when it accesses resources in your AWS + account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + readOnly: true + external_id: + type: string + format: uuid + description: > + Unique external ID that Confluent Cloud uses when it + assumes the IAM role + + in your Amazon Web Services (AWS) account. + readOnly: true + customer_iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon + Web Services (AWS) + + Identity and Access Management (IAM) role that Confluent + Cloud assumes when + + it accesses resources in your AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + kind: + type: string + description: >- + Cloud provider specific config to which access is + provided through provider integration. + example: AwsIntegrationConfig + x-extensible-enum: + - AwsIntegrationConfig + required: + - kind + usages: + type: array + description: List of resource crns where this integration is being used. + minItems: 0 + items: + type: string + description: crn that specifies the resource using this integration + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/connector=my_datagen_connector + readOnly: true + environment: + description: The environment to which this belongs. + x-immutable: true' + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - config + - environment + responses: + '201': + description: An Integration was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/pim/v1/integrations/{id} + description: Integration resource uri + content: + application/json: + schema: + type: object + description: >- + `Provider Integration` objects represent access to public + cloud service provider (CSP) resources + + that may be accessed by Confluent resources (for example, + connectors). + + + The API allows you to create, retrieve, and delete individual + integrations, and also obtain a + + list of all your provider integrations. + + + + Related guide: [Provider Integration in Confluent + Cloud](https://docs.confluent.io/home/overview.html). + + + ## The Integrations Model + + + properties: + api_version: + type: string + enum: + - pim/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Integration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + display_name: + type: string + example: s3_provider_integration + description: Display name of Provider Integration. + maxLength: 60 + x-immutable: true + provider: + type: string + description: >- + Cloud provider to which access is provided through + provider integration. + example: AWS + default: AWS + x-extensible-enum: + - AWS + config: + type: object + description: Cloud provider specific configs for provider integration + discriminator: + propertyName: kind + mapping: + AwsIntegrationConfig: '#/components/schemas/pim.v1.AwsIntegrationConfig' + x-immutable: true + properties: + iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon + Web Services (AWS) + + Identity and Access Management (IAM) role that + Confluent Cloud uses to assume + + customer IAM role when it accesses resources in your + AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + readOnly: true + external_id: + type: string + format: uuid + description: > + Unique external ID that Confluent Cloud uses when it + assumes the IAM role + + in your Amazon Web Services (AWS) account. + readOnly: true + customer_iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon + Web Services (AWS) + + Identity and Access Management (IAM) role that + Confluent Cloud assumes when + + it accesses resources in your AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + kind: + type: string + description: >- + Cloud provider specific config to which access is + provided through provider integration. + example: AwsIntegrationConfig + x-extensible-enum: + - AwsIntegrationConfig + required: + - kind + usages: + type: array + description: >- + List of resource crns where this integration is being + used. + minItems: 0 + items: + type: string + description: crn that specifies the resource using this integration + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/connector=my_datagen_connector + readOnly: true + environment: + description: The environment to which this belongs. + x-immutable: true' + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - config + - environment + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /pim/v1/integrations/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getPimV1Integration + summary: Read an Integration + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Subscriptions Model - - - name: Integrations (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. + Make a request to read an integration. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the integration. + tags: + - Integrations (pim/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Integration. + content: + application/json: + schema: + type: object + description: >- + `Provider Integration` objects represent access to public + cloud service provider (CSP) resources + + that may be accessed by Confluent resources (for example, + connectors). + + + The API allows you to create, retrieve, and delete individual + integrations, and also obtain a + + list of all your provider integrations. + + + + Related guide: [Provider Integration in Confluent + Cloud](https://docs.confluent.io/home/overview.html). + + + ## The Integrations Model + + + properties: + api_version: + type: string + enum: + - pim/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Integration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + display_name: + type: string + example: s3_provider_integration + description: Display name of Provider Integration. + maxLength: 60 + x-immutable: true + provider: + type: string + description: >- + Cloud provider to which access is provided through + provider integration. + example: AWS + default: AWS + x-extensible-enum: + - AWS + config: + type: object + description: Cloud provider specific configs for provider integration + discriminator: + propertyName: kind + mapping: + AwsIntegrationConfig: '#/components/schemas/pim.v1.AwsIntegrationConfig' + x-immutable: true + properties: + iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon + Web Services (AWS) + + Identity and Access Management (IAM) role that + Confluent Cloud uses to assume + + customer IAM role when it accesses resources in your + AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + readOnly: true + external_id: + type: string + format: uuid + description: > + Unique external ID that Confluent Cloud uses when it + assumes the IAM role + + in your Amazon Web Services (AWS) account. + readOnly: true + customer_iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon + Web Services (AWS) + + Identity and Access Management (IAM) role that + Confluent Cloud assumes when + + it accesses resources in your AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + kind: + type: string + description: >- + Cloud provider specific config to which access is + provided through provider integration. + example: AwsIntegrationConfig + x-extensible-enum: + - AwsIntegrationConfig + required: + - kind + usages: + type: array + description: >- + List of resource crns where this integration is being + used. + minItems: 0 + items: + type: string + description: crn that specifies the resource using this integration + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/connector=my_datagen_connector + readOnly: true + environment: + description: The environment to which this belongs. + x-immutable: true' + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - api_version + - kind + - id + - config + - environment + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deletePimV1Integration + summary: Delete an Integration + description: > + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + Make a request to delete an integration. - ## The Integrations Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - - name: Notification Types (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The type of notifications (and their corresponding metadata) supported by Confluent. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Notification Types Model - - - name: Clusters (cmk/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Kafka clusters. - - - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - - name: Clusters (ksqldbcm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. - - - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the following quotas: - - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - - name: Connectors (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for Managed Connectors or Custom Connectors in Confluent Cloud. - - The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. - - Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). - - Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - name: Lifecycle (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. - - name: Status (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. - - name: Managed Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for Managed connectors in Confluent Cloud. - - name: Offsets (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the offsets for a Managed Connector. - - Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) - - name: Custom Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Custom Connector Plugins Model - - - name: Presigned Urls (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Presigned Urls Model - - - name: Cluster (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Configs (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: ACL (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Consumer Group (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Partition (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Topic (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Records (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Cluster Linking (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Applied Quotas (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. - - - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - - ## The Applied Quotas Model - - - name: Scopes (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Gets a list of all available scopes for applied quotas. - - - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). - - ## The Scopes Model - - - name: Entitlements (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Entitlement` objects represent metadata about a marketplace entitlement. - - An entitlement includes metadata about a marketplace purchase - (start date, end date, billing information, partner IDs, etc). - The API allows partners to create, read, and list entitlements. (Unless you - need entitlement creation and customer registration to be separate, - we recommend using the Signup API to create an organization and entitlement - at the same time) - - The API only allows authorized partners to interact with the Entitlements API. - - name: Regions (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. - - - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Regions Model - - - name: Clusters (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list, create, read, and delete your Schema Registry clusters. - - - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + This request fails if existing workloads are using this CSP integration. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the integration. + tags: + - Integrations (pim/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: An Integration is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /pim/v2/integrations: + get: + x-lifecycle-stage: Early Access + x-self-access: false + x-request-access-name: Provider Integration + operationId: listPimV2Integrations + summary: List of Integrations + description: > + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [![Request Access To Provider + Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v2-early-access@confluent.io?subject=Request%20to%20join%20pim/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - ## The Clusters Model - - - name: Clusters (srcm/v3) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Retrieve a sorted, filtered, paginated list of all integrations. - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - The API allows you to list and read your Schema Registry clusters. + If no `provider` filter is specified, returns provider integrations from + all clouds. + parameters: + - name: display_name + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: bigquery_provider_integration + description: Filter the results by a partial search of display_name. + - name: provider + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: GCP + description: Filter the results by exact match for provider. + - name: status + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: CREATED + description: Filter the results by exact match for status. + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Integrations (pim/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Integration. + content: + application/json: + schema: + type: object + description: >- + `Provider Integration` objects represent access to public + cloud service provider (CSP) resources + that may be accessed by Confluent resources (for example, + connectors). - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - ## The Clusters Model - - - name: Compatibility (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to create, retrieve, update, delete, and + validate individual integrations, and also obtain a - The API allows you to test schema compatibility. + list of all your provider integrations. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Config (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to manage and query schema compatibility settings and cluster configurations. + Note: The pim/v2 API currently supports only Azure and GCP + provider integrations. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Contexts (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to retrieve information about schema contexts. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Exporters (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [Provider Integration in Confluent + Cloud](https://docs.confluent.io/home/overview.html). - The API allows you to create, retrieve, update, and delete exporters. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Modes (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Integrations Model - The API allows you to create, retrieve, update, and delete schema subjects modes of operation. + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - pim/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IntegrationList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `Provider Integration` objects represent access to + public cloud service provider (CSP) resources + + that may be accessed by Confluent resources (for + example, connectors). + + + The API allows you to create, retrieve, update, delete, + and validate individual integrations, and also obtain a + + list of all your provider integrations. + + + Note: The pim/v2 API currently supports only Azure and + GCP provider integrations. + + + + Related guide: [Provider Integration in Confluent + Cloud](https://docs.confluent.io/home/overview.html). + + + ## The Integrations Model + + + properties: + api_version: + type: string + enum: + - pim/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - Integration + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + display_name: + type: string + example: bigquery_provider_integration + description: Display name of Provider Integration. + maxLength: 60 + x-immutable: true + provider: + type: string + description: >- + Cloud provider to which access is provided through + provider integration. + example: GCP + default: GCP + x-extensible-enum: + - GCP + x-immutable: true + config: + type: object + description: > + Cloud provider specific configuration for the + provider integration. + + Required only when updating integrations with + `DRAFT` status. Not required during creation. + discriminator: + propertyName: kind + mapping: + GcpIntegrationConfig: '#/components/schemas/pim.v2.GcpIntegrationConfig' + AzureIntegrationConfig: >- + #/components/schemas/pim.v2.AzureIntegrationConfig + AwsIntegrationConfig: '#/components/schemas/pim.v2.AwsIntegrationConfig' + properties: + google_service_account: + type: string + description: > + The ID of the Google Service Account that + Confluent Cloud uses to impersonate + + customer Google Service Account when it accesses + resources in your GCP project. + example: cspi-sa1@cflt-project.iam.gserviceaccount.com + readOnly: true + customer_google_service_account: + type: string + description: > + The ID of the Google Service Account that + Confluent Cloud impersonates + + to access resources in your GCP Project. + example: >- + customer-sa@customer-project.iam.gserviceaccount.com + kind: + type: string + description: >- + Cloud provider specific config to which access + is provided through provider integration. + example: GcpIntegrationConfig + x-extensible-enum: + - GcpIntegrationConfig + confluent_multi_tenant_app_id: + type: string + description: > + The ID of the Confluent Multi-Tenant App that + Confluent Cloud uses to impersonate + + customer Azure App when it accesses resources in + your Azure subscription. + example: 9bb441c4-edef-46ac-8a41-c49e44a3fd9a + readOnly: true + customer_azure_tenant_id: + type: string + description: > + The ID of the customer's Azure Active Directory + (Azure AD) tenant + example: 12345678-1234-1234-1234-123456789abc + iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the + Amazon Web Services (AWS) + + Identity and Access Management (IAM) role that + Confluent Cloud uses to assume + + customer IAM role when it accesses resources in + your AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + readOnly: true + external_id: + type: string + format: uuid + description: > + Unique external ID that Confluent Cloud uses + when it assumes the IAM role + + in your Amazon Web Services (AWS) account. + readOnly: true + customer_iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the + Amazon Web Services (AWS) + + Identity and Access Management (IAM) role that + Confluent Cloud assumes when + + it accesses resources in your AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + required: + - kind + usages: + type: array + description: >- + List of resource crns where this integration is + being used. + minItems: 0 + items: + type: string + description: >- + crn that specifies the resource using this + integration + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/connector=my_datagen_connector + readOnly: true + status: + type: string + description: > + Status of the provider integration. + + - `DRAFT`: Integration exists but is not associated + with customer configuration + + - `CREATED`: Integration has been associated with + customer configuration + + - `ACTIVE`: Integration is in use by Confluent + resources + example: CREATED + x-extensible-enum: + - DRAFT + - CREATED + - ACTIVE + readOnly: true + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: >- + Environment of the referred resource, if + env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + required: + - id + - status + - environment + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: Early Access + x-self-access: false + x-request-access-name: Provider Integration + operationId: createPimV2Integration + summary: Create an Integration + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [![Request Access To Provider + Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v2-early-access@confluent.io?subject=Request%20to%20join%20pim/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Schemas (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete schemas. + Make a request to create an integration. + tags: + - Integrations (pim/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `Provider Integration` objects represent access to public cloud + service provider (CSP) resources + + that may be accessed by Confluent resources (for example, + connectors). + + + The API allows you to create, retrieve, update, delete, and + validate individual integrations, and also obtain a + + list of all your provider integrations. + + + Note: The pim/v2 API currently supports only Azure and GCP + provider integrations. + + + + Related guide: [Provider Integration in Confluent + Cloud](https://docs.confluent.io/home/overview.html). + + + ## The Integrations Model + + + properties: + api_version: + type: string + enum: + - pim/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Integration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + display_name: + type: string + example: bigquery_provider_integration + description: Display name of Provider Integration. + maxLength: 60 + x-immutable: true + provider: + type: string + description: >- + Cloud provider to which access is provided through provider + integration. + example: GCP + default: GCP + x-extensible-enum: + - GCP + x-immutable: true + config: + type: object + description: > + Cloud provider specific configuration for the provider + integration. + + Required only when updating integrations with `DRAFT` + status. Not required during creation. + discriminator: + propertyName: kind + mapping: + GcpIntegrationConfig: '#/components/schemas/pim.v2.GcpIntegrationConfig' + AzureIntegrationConfig: '#/components/schemas/pim.v2.AzureIntegrationConfig' + AwsIntegrationConfig: '#/components/schemas/pim.v2.AwsIntegrationConfig' + properties: + google_service_account: + type: string + description: > + The ID of the Google Service Account that Confluent + Cloud uses to impersonate + + customer Google Service Account when it accesses + resources in your GCP project. + example: cspi-sa1@cflt-project.iam.gserviceaccount.com + readOnly: true + customer_google_service_account: + type: string + description: > + The ID of the Google Service Account that Confluent + Cloud impersonates + + to access resources in your GCP Project. + example: customer-sa@customer-project.iam.gserviceaccount.com + kind: + type: string + description: >- + Cloud provider specific config to which access is + provided through provider integration. + example: GcpIntegrationConfig + x-extensible-enum: + - GcpIntegrationConfig + confluent_multi_tenant_app_id: + type: string + description: > + The ID of the Confluent Multi-Tenant App that Confluent + Cloud uses to impersonate + + customer Azure App when it accesses resources in your + Azure subscription. + example: 9bb441c4-edef-46ac-8a41-c49e44a3fd9a + readOnly: true + customer_azure_tenant_id: + type: string + description: > + The ID of the customer's Azure Active Directory (Azure + AD) tenant + example: 12345678-1234-1234-1234-123456789abc + iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon + Web Services (AWS) + + Identity and Access Management (IAM) role that Confluent + Cloud uses to assume + + customer IAM role when it accesses resources in your AWS + account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + readOnly: true + external_id: + type: string + format: uuid + description: > + Unique external ID that Confluent Cloud uses when it + assumes the IAM role + + in your Amazon Web Services (AWS) account. + readOnly: true + customer_iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon + Web Services (AWS) + + Identity and Access Management (IAM) role that Confluent + Cloud assumes when + + it accesses resources in your AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + required: + - kind + usages: + type: array + description: List of resource crns where this integration is being used. + minItems: 0 + items: + type: string + description: crn that specifies the resource using this integration + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/connector=my_datagen_connector + readOnly: true + status: + type: string + description: > + Status of the provider integration. + + - `DRAFT`: Integration exists but is not associated with + customer configuration + + - `CREATED`: Integration has been associated with customer + configuration + + - `ACTIVE`: Integration is in use by Confluent resources + example: CREATED + x-extensible-enum: + - DRAFT + - CREATED + - ACTIVE + readOnly: true + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + required: + - environment + responses: + '201': + description: An Integration was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/pim/v2/integrations/{id} + description: Integration resource uri + content: + application/json: + schema: + type: object + description: >- + `Provider Integration` objects represent access to public + cloud service provider (CSP) resources + + that may be accessed by Confluent resources (for example, + connectors). + + + The API allows you to create, retrieve, update, delete, and + validate individual integrations, and also obtain a + + list of all your provider integrations. + + + Note: The pim/v2 API currently supports only Azure and GCP + provider integrations. + + + + Related guide: [Provider Integration in Confluent + Cloud](https://docs.confluent.io/home/overview.html). + + + ## The Integrations Model + + + properties: + api_version: + type: string + enum: + - pim/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Integration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + display_name: + type: string + example: bigquery_provider_integration + description: Display name of Provider Integration. + maxLength: 60 + x-immutable: true + provider: + type: string + description: >- + Cloud provider to which access is provided through + provider integration. + example: GCP + default: GCP + x-extensible-enum: + - GCP + x-immutable: true + config: + type: object + description: > + Cloud provider specific configuration for the provider + integration. + + Required only when updating integrations with `DRAFT` + status. Not required during creation. + discriminator: + propertyName: kind + mapping: + GcpIntegrationConfig: '#/components/schemas/pim.v2.GcpIntegrationConfig' + AzureIntegrationConfig: '#/components/schemas/pim.v2.AzureIntegrationConfig' + AwsIntegrationConfig: '#/components/schemas/pim.v2.AwsIntegrationConfig' + properties: + google_service_account: + type: string + description: > + The ID of the Google Service Account that Confluent + Cloud uses to impersonate + + customer Google Service Account when it accesses + resources in your GCP project. + example: cspi-sa1@cflt-project.iam.gserviceaccount.com + readOnly: true + customer_google_service_account: + type: string + description: > + The ID of the Google Service Account that Confluent + Cloud impersonates + + to access resources in your GCP Project. + example: customer-sa@customer-project.iam.gserviceaccount.com + kind: + type: string + description: >- + Cloud provider specific config to which access is + provided through provider integration. + example: GcpIntegrationConfig + x-extensible-enum: + - GcpIntegrationConfig + confluent_multi_tenant_app_id: + type: string + description: > + The ID of the Confluent Multi-Tenant App that + Confluent Cloud uses to impersonate + + customer Azure App when it accesses resources in your + Azure subscription. + example: 9bb441c4-edef-46ac-8a41-c49e44a3fd9a + readOnly: true + customer_azure_tenant_id: + type: string + description: > + The ID of the customer's Azure Active Directory (Azure + AD) tenant + example: 12345678-1234-1234-1234-123456789abc + iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon + Web Services (AWS) + + Identity and Access Management (IAM) role that + Confluent Cloud uses to assume + + customer IAM role when it accesses resources in your + AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + readOnly: true + external_id: + type: string + format: uuid + description: > + Unique external ID that Confluent Cloud uses when it + assumes the IAM role + + in your Amazon Web Services (AWS) account. + readOnly: true + customer_iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon + Web Services (AWS) + + Identity and Access Management (IAM) role that + Confluent Cloud assumes when + + it accesses resources in your AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + required: + - kind + usages: + type: array + description: >- + List of resource crns where this integration is being + used. + minItems: 0 + items: + type: string + description: crn that specifies the resource using this integration + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/connector=my_datagen_connector + readOnly: true + status: + type: string + description: > + Status of the provider integration. + + - `DRAFT`: Integration exists but is not associated with + customer configuration + + - `CREATED`: Integration has been associated with customer + configuration + + - `ACTIVE`: Integration is in use by Confluent resources + example: CREATED + x-extensible-enum: + - DRAFT + - CREATED + - ACTIVE + readOnly: true + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + required: + - status + - environment + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: Early Access + x-self-access: false + x-request-access-name: Provider Integration + /pim/v2/integrations/{id}: + get: + x-lifecycle-stage: Early Access + x-self-access: false + x-request-access-name: Provider Integration + operationId: getPimV2Integration + summary: Read an Integration + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [![Request Access To Provider + Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v2-early-access@confluent.io?subject=Request%20to%20join%20pim/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Subjects (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete schema subjects and versions. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Key Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete key encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Data Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete data encryption keys. + Make a request to read an integration. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the integration. + tags: + - Integrations (pim/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Integration. + content: + application/json: + schema: + type: object + description: >- + `Provider Integration` objects represent access to public + cloud service provider (CSP) resources + + that may be accessed by Confluent resources (for example, + connectors). + + + The API allows you to create, retrieve, update, delete, and + validate individual integrations, and also obtain a + + list of all your provider integrations. + + + Note: The pim/v2 API currently supports only Azure and GCP + provider integrations. + + + + Related guide: [Provider Integration in Confluent + Cloud](https://docs.confluent.io/home/overview.html). + + + ## The Integrations Model + + + properties: + api_version: + type: string + enum: + - pim/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Integration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + display_name: + type: string + example: bigquery_provider_integration + description: Display name of Provider Integration. + maxLength: 60 + x-immutable: true + provider: + type: string + description: >- + Cloud provider to which access is provided through + provider integration. + example: GCP + default: GCP + x-extensible-enum: + - GCP + x-immutable: true + config: + type: object + description: > + Cloud provider specific configuration for the provider + integration. + + Required only when updating integrations with `DRAFT` + status. Not required during creation. + discriminator: + propertyName: kind + mapping: + GcpIntegrationConfig: '#/components/schemas/pim.v2.GcpIntegrationConfig' + AzureIntegrationConfig: '#/components/schemas/pim.v2.AzureIntegrationConfig' + AwsIntegrationConfig: '#/components/schemas/pim.v2.AwsIntegrationConfig' + properties: + google_service_account: + type: string + description: > + The ID of the Google Service Account that Confluent + Cloud uses to impersonate + + customer Google Service Account when it accesses + resources in your GCP project. + example: cspi-sa1@cflt-project.iam.gserviceaccount.com + readOnly: true + customer_google_service_account: + type: string + description: > + The ID of the Google Service Account that Confluent + Cloud impersonates + + to access resources in your GCP Project. + example: customer-sa@customer-project.iam.gserviceaccount.com + kind: + type: string + description: >- + Cloud provider specific config to which access is + provided through provider integration. + example: GcpIntegrationConfig + x-extensible-enum: + - GcpIntegrationConfig + confluent_multi_tenant_app_id: + type: string + description: > + The ID of the Confluent Multi-Tenant App that + Confluent Cloud uses to impersonate + + customer Azure App when it accesses resources in your + Azure subscription. + example: 9bb441c4-edef-46ac-8a41-c49e44a3fd9a + readOnly: true + customer_azure_tenant_id: + type: string + description: > + The ID of the customer's Azure Active Directory (Azure + AD) tenant + example: 12345678-1234-1234-1234-123456789abc + iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon + Web Services (AWS) + + Identity and Access Management (IAM) role that + Confluent Cloud uses to assume + + customer IAM role when it accesses resources in your + AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + readOnly: true + external_id: + type: string + format: uuid + description: > + Unique external ID that Confluent Cloud uses when it + assumes the IAM role + + in your Amazon Web Services (AWS) account. + readOnly: true + customer_iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon + Web Services (AWS) + + Identity and Access Management (IAM) role that + Confluent Cloud assumes when + + it accesses resources in your AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + required: + - kind + usages: + type: array + description: >- + List of resource crns where this integration is being + used. + minItems: 0 + items: + type: string + description: crn that specifies the resource using this integration + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/connector=my_datagen_connector + readOnly: true + status: + type: string + description: > + Status of the provider integration. + + - `DRAFT`: Integration exists but is not associated with + customer configuration + + - `CREATED`: Integration has been associated with customer + configuration + + - `ACTIVE`: Integration is in use by Confluent resources + example: CREATED + x-extensible-enum: + - DRAFT + - CREATED + - ACTIVE + readOnly: true + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + required: + - api_version + - kind + - id + - status + - environment + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: Early Access + x-self-access: false + x-request-access-name: Provider Integration + operationId: updatePimV2Integration + summary: Update an Integration + description: >+ + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [![Request Access To Provider + Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v2-early-access@confluent.io?subject=Request%20to%20join%20pim/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Entity (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete catalog entities. + Make a request to update an integration. - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Search (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to search for entities. + This request only works for integrations with `DRAFT` status. - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Types (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the integration. + tags: + - Integrations (pim/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `Provider Integration` objects represent access to public cloud + service provider (CSP) resources + + that may be accessed by Confluent resources (for example, + connectors). + + + The API allows you to create, retrieve, update, delete, and + validate individual integrations, and also obtain a + + list of all your provider integrations. + + + Note: The pim/v2 API currently supports only Azure and GCP + provider integrations. + + + + Related guide: [Provider Integration in Confluent + Cloud](https://docs.confluent.io/home/overview.html). + + + ## The Integrations Model + + + properties: + api_version: + type: string + enum: + - pim/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Integration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + display_name: + type: string + example: bigquery_provider_integration + description: Display name of Provider Integration. + maxLength: 60 + x-immutable: true + provider: + type: string + description: >- + Cloud provider to which access is provided through provider + integration. + example: GCP + default: GCP + x-extensible-enum: + - GCP + x-immutable: true + config: + type: object + description: > + Cloud provider specific configuration for the provider + integration. + + Required only when updating integrations with `DRAFT` + status. Not required during creation. + discriminator: + propertyName: kind + mapping: + GcpIntegrationConfig: '#/components/schemas/pim.v2.GcpIntegrationConfig' + AzureIntegrationConfig: '#/components/schemas/pim.v2.AzureIntegrationConfig' + AwsIntegrationConfig: '#/components/schemas/pim.v2.AwsIntegrationConfig' + properties: + google_service_account: + type: string + description: > + The ID of the Google Service Account that Confluent + Cloud uses to impersonate + + customer Google Service Account when it accesses + resources in your GCP project. + example: cspi-sa1@cflt-project.iam.gserviceaccount.com + readOnly: true + customer_google_service_account: + type: string + description: > + The ID of the Google Service Account that Confluent + Cloud impersonates + + to access resources in your GCP Project. + example: customer-sa@customer-project.iam.gserviceaccount.com + kind: + type: string + description: >- + Cloud provider specific config to which access is + provided through provider integration. + example: GcpIntegrationConfig + x-extensible-enum: + - GcpIntegrationConfig + confluent_multi_tenant_app_id: + type: string + description: > + The ID of the Confluent Multi-Tenant App that Confluent + Cloud uses to impersonate + + customer Azure App when it accesses resources in your + Azure subscription. + example: 9bb441c4-edef-46ac-8a41-c49e44a3fd9a + readOnly: true + customer_azure_tenant_id: + type: string + description: > + The ID of the customer's Azure Active Directory (Azure + AD) tenant + example: 12345678-1234-1234-1234-123456789abc + iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon + Web Services (AWS) + + Identity and Access Management (IAM) role that Confluent + Cloud uses to assume + + customer IAM role when it accesses resources in your AWS + account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + readOnly: true + external_id: + type: string + format: uuid + description: > + Unique external ID that Confluent Cloud uses when it + assumes the IAM role + + in your Amazon Web Services (AWS) account. + readOnly: true + customer_iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon + Web Services (AWS) + + Identity and Access Management (IAM) role that Confluent + Cloud assumes when + + it accesses resources in your AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + required: + - kind + usages: + type: array + description: List of resource crns where this integration is being used. + minItems: 0 + items: + type: string + description: crn that specifies the resource using this integration + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/connector=my_datagen_connector + readOnly: true + status: + type: string + description: > + Status of the provider integration. + + - `DRAFT`: Integration exists but is not associated with + customer configuration + + - `CREATED`: Integration has been associated with customer + configuration + + - `ACTIVE`: Integration is in use by Confluent resources + example: CREATED + x-extensible-enum: + - DRAFT + - CREATED + - ACTIVE + readOnly: true + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + required: + - environment + responses: + '200': + description: Integration. + content: + application/json: + schema: + type: object + description: >- + `Provider Integration` objects represent access to public + cloud service provider (CSP) resources + + that may be accessed by Confluent resources (for example, + connectors). + + + The API allows you to create, retrieve, update, delete, and + validate individual integrations, and also obtain a + + list of all your provider integrations. + + + Note: The pim/v2 API currently supports only Azure and GCP + provider integrations. + + + + Related guide: [Provider Integration in Confluent + Cloud](https://docs.confluent.io/home/overview.html). + + + ## The Integrations Model + + + properties: + api_version: + type: string + enum: + - pim/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Integration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + display_name: + type: string + example: bigquery_provider_integration + description: Display name of Provider Integration. + maxLength: 60 + x-immutable: true + provider: + type: string + description: >- + Cloud provider to which access is provided through + provider integration. + example: GCP + default: GCP + x-extensible-enum: + - GCP + x-immutable: true + config: + type: object + description: > + Cloud provider specific configuration for the provider + integration. + + Required only when updating integrations with `DRAFT` + status. Not required during creation. + discriminator: + propertyName: kind + mapping: + GcpIntegrationConfig: '#/components/schemas/pim.v2.GcpIntegrationConfig' + AzureIntegrationConfig: '#/components/schemas/pim.v2.AzureIntegrationConfig' + AwsIntegrationConfig: '#/components/schemas/pim.v2.AwsIntegrationConfig' + properties: + google_service_account: + type: string + description: > + The ID of the Google Service Account that Confluent + Cloud uses to impersonate + + customer Google Service Account when it accesses + resources in your GCP project. + example: cspi-sa1@cflt-project.iam.gserviceaccount.com + readOnly: true + customer_google_service_account: + type: string + description: > + The ID of the Google Service Account that Confluent + Cloud impersonates + + to access resources in your GCP Project. + example: customer-sa@customer-project.iam.gserviceaccount.com + kind: + type: string + description: >- + Cloud provider specific config to which access is + provided through provider integration. + example: GcpIntegrationConfig + x-extensible-enum: + - GcpIntegrationConfig + confluent_multi_tenant_app_id: + type: string + description: > + The ID of the Confluent Multi-Tenant App that + Confluent Cloud uses to impersonate + + customer Azure App when it accesses resources in your + Azure subscription. + example: 9bb441c4-edef-46ac-8a41-c49e44a3fd9a + readOnly: true + customer_azure_tenant_id: + type: string + description: > + The ID of the customer's Azure Active Directory (Azure + AD) tenant + example: 12345678-1234-1234-1234-123456789abc + iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon + Web Services (AWS) + + Identity and Access Management (IAM) role that + Confluent Cloud uses to assume + + customer IAM role when it accesses resources in your + AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + readOnly: true + external_id: + type: string + format: uuid + description: > + Unique external ID that Confluent Cloud uses when it + assumes the IAM role + + in your Amazon Web Services (AWS) account. + readOnly: true + customer_iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon + Web Services (AWS) + + Identity and Access Management (IAM) role that + Confluent Cloud assumes when + + it accesses resources in your AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + required: + - kind + usages: + type: array + description: >- + List of resource crns where this integration is being + used. + minItems: 0 + items: + type: string + description: crn that specifies the resource using this integration + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/connector=my_datagen_connector + readOnly: true + status: + type: string + description: > + Status of the provider integration. + + - `DRAFT`: Integration exists but is not associated with + customer configuration + + - `CREATED`: Integration has been associated with customer + configuration + + - `ACTIVE`: Integration is in use by Confluent resources + example: CREATED + x-extensible-enum: + - DRAFT + - CREATED + - ACTIVE + readOnly: true + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + required: + - api_version + - kind + - id + - status + - environment + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: Early Access + x-self-access: false + x-request-access-name: Provider Integration + operationId: deletePimV2Integration + summary: Delete an Integration + description: > + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [![Request Access To Provider + Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v2-early-access@confluent.io?subject=Request%20to%20join%20pim/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Provider Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + Make a request to delete an integration. - ## The Provider Shared Resources Model - - - name: Provider Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + This request fails if existing workloads are using this CSP integration. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the integration. + tags: + - Integrations (pim/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: An Integration is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: Early Access + x-self-access: false + x-request-access-name: Provider Integration + /pim/v2/integrations:validate: + post: + description: > + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + [![Request Access To Provider + Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v2-early-access@confluent.io?subject=Request%20to%20join%20pim/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - `ProviderShare` object respresents the share that you have created through Stream Sharing. + Validate the provider integration configuration. + requestBody: + content: + application/json: + schema: + type: object + description: Request to validate the provider integration configuration. + properties: + api_version: + type: string + enum: + - pim/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IntegrationValidateRequest + id: + type: string + description: The ID of the provider integration to validate. + example: cspi-00000 + maxLength: 255 + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + config: + type: object + description: > + Cloud provider specific configuration for the provider + integration. + + Required only for integrations in `DRAFT` status. + discriminator: + propertyName: kind + mapping: + GcpIntegrationConfig: '#/components/schemas/pim.v2.GcpIntegrationConfig' + AzureIntegrationConfig: '#/components/schemas/pim.v2.AzureIntegrationConfig' + AwsIntegrationConfig: '#/components/schemas/pim.v2.AwsIntegrationConfig' + properties: + google_service_account: + type: string + description: > + The ID of the Google Service Account that Confluent + Cloud uses to impersonate + + customer Google Service Account when it accesses + resources in your GCP project. + example: cspi-sa1@cflt-project.iam.gserviceaccount.com + readOnly: true + customer_google_service_account: + type: string + description: > + The ID of the Google Service Account that Confluent + Cloud impersonates + + to access resources in your GCP Project. + example: customer-sa@customer-project.iam.gserviceaccount.com + kind: + type: string + description: >- + Cloud provider specific config to which access is + provided through provider integration. + example: GcpIntegrationConfig + x-extensible-enum: + - GcpIntegrationConfig + confluent_multi_tenant_app_id: + type: string + description: > + The ID of the Confluent Multi-Tenant App that Confluent + Cloud uses to impersonate + + customer Azure App when it accesses resources in your + Azure subscription. + example: 9bb441c4-edef-46ac-8a41-c49e44a3fd9a + readOnly: true + customer_azure_tenant_id: + type: string + description: > + The ID of the customer's Azure Active Directory (Azure + AD) tenant + example: 12345678-1234-1234-1234-123456789abc + iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon + Web Services (AWS) + + Identity and Access Management (IAM) role that Confluent + Cloud uses to assume + + customer IAM role when it accesses resources in your AWS + account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + readOnly: true + external_id: + type: string + format: uuid + description: > + Unique external ID that Confluent Cloud uses when it + assumes the IAM role + + in your Amazon Web Services (AWS) account. + readOnly: true + customer_iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon + Web Services (AWS) + + Identity and Access Management (IAM) role that Confluent + Cloud assumes when + + it accesses resources in your AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + required: + - kind + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - id + - environment + x-lifecycle-stage: Early Access + x-self-access: false + x-request-access-name: Provider Integration + x-name: pim.v2.Integration + operationId: validatePimV2Integration + summary: Validate an Integration + tags: + - Integrations (pim/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: The provider integration configuration is validated successfully. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: Early Access + x-self-access: false + x-request-access-name: Provider Integration +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + pim.v1.IntegrationList: + type: object + description: >- + `Provider Integration` objects represent access to public cloud service + provider (CSP) resources - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + that may be accessed by Confluent resources (for example, connectors). - ## The Provider Shares Model - - - name: Consumer Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + The API allows you to create, retrieve, and delete individual + integrations, and also obtain a + list of all your provider integrations. - ## The Consumer Shared Resources Model - - - name: Consumer Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `ConsumerShare` object respresents the share that you received through Stream Sharing. + Related guide: [Provider Integration in Confluent + Cloud](https://docs.confluent.io/home/overview.html). - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). - ## The Consumer Shares Model - - - name: Shared Tokens (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Integrations Model - Encrypted Token shared with consumer + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - pim/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IntegrationList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `Provider Integration` objects represent access to public cloud + service provider (CSP) resources + that may be accessed by Confluent resources (for example, + connectors). - ## The Shared Tokens Model - - - name: Opt Ins (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Stream sharing opt in options + The API allows you to create, retrieve, and delete individual + integrations, and also obtain a - ## The Opt Ins Model - - - name: Organizations (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + list of all your provider integrations. - `Organizations` objects represent an entire Confluent Cloud organization. - Partners are allowed to get an organization they have signed up or - list all organizations they have signed up. - - name: Signup (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - `Signup` APIs can only be performed by partners. - - name: Networks (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. + Related guide: [Provider Integration in Confluent + Cloud](https://docs.confluent.io/home/overview.html). - The API allows you to list, create, read, update, and delete your networks. + ## The Integrations Model - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - - ## The Networks Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - - name: Peerings (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - - - ## The Peerings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - - name: Transit Gateway Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AWS Transit Gateway Attachments - - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - - ## The Transit Gateway Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - - name: Private Link Accesses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. - - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). - - - ## The Private Link Accesses Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - - name: Network Link Services (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Services Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - - name: Network Link Endpoints (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Endpoints Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - - name: Network Link Service Associations (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - List of incoming Network Link Enpoints associated with the Network Link Service. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Service Associations Model - - - name: Gateways (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A gateway is a resource that defines network access to Confluent cloud resources. - - - ## The Gateways Model - - - name: IP Addresses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - IP Addresses - - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) - - ## The IP Addresses Model - - - name: Private Link Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. - - - ## The Private Link Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - - name: Private Link Attachment Connections (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. - - - ## The Private Link Attachment Connections Model - - - name: Identity Providers (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Identity Provider. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Identity Providers Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - - name: Jwks (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. - - The API allows you to refresh JWKS public key data. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Jwks Model - - - name: Identity Pools (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. - - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. - - - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). - - ## The Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - - name: OAuth Tokens (sts/v1) - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of - external identities to access Confluent Cloud APIs - - name: Client Quotas (kafka-quotas/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ClientQuota` objects represent Client Quotas you can set at the service account level. - - The API allows you to list, create, read, update, and delete your client quotas. - - - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - - ## The Client Quotas Model - - - name: Pipelines (sd/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. - - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. - - - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). - - ## The Pipelines Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - - name: Keys (byok/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. - - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. - - - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). - - ## The Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - - name: Costs (billing/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cost` objects represent the aggregated billing costs for an organization - - - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). - - ## The Costs Model - - - name: Group Mappings (iam/v2/sso) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. - - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. - - - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). - - ## The Group Mappings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - - name: Compute Pools (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. - - - ## The Compute Pools Model - - - name: Regions (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. - - - ## The Regions Model - - - name: Statements (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - - name: Statement Results (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementResult` represents a result of a `Statement` resource. - The API allows you to read your statement's results. - ## The Statement Results Model - - - name: Statement Exceptions (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementException` represents an exception of a `Statement` resource. - The API allows you to read your statement's exceptions. - ## The Statement Exceptions Model - - - name: Connections (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Connection` represents a core resource used to model SQL connections for execution. - A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - - name: DNS Forwarders (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add, remove, and update DNS forwarder for your gateway. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - - - ## The DNS Forwarders Model - - - name: Access Points (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. - - - ## The Access Points Model - - - name: DNS Records (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - - ## The DNS Records Model - - - name: Certificate Authorities (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Certificate Authority. - - - Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). - - ## The Certificate Authorities Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `certificate_authorities_per_org` | Number of certificate authorities per organization | - - name: Certificate Identity Pools (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Identitypool` objects represent workload identities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities - - - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). - - ## The Certificate Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - - name: Integrations (pim/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). - - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. - - - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). - - ## The Integrations Model - - - name: Flink Artifacts (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. - - - ## The Flink Artifacts Model - - - name: Presigned Urls (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - - ## The Presigned Urls Model - - - name: Flink Artifact Versions (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. - - - ## The Flink Artifact Versions Model - -components: - schemas: - SearchFilter: - description: Filter a collection by a string search - type: string - pim.v1.IntegrationList: - type: object - description: |- - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). - - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. - - - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). - - ## The Integrations Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - pim/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - IntegrationList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/pim/v1/integrations' - last: - example: 'https://api.confluent.cloud/pim/v1/integrations?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/pim/v1/integrations?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/pim/v1/integrations?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/pim.v1.Integration' - - type: object + + properties: + api_version: + type: string + enum: + - pim/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Integration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + display_name: + type: string + example: s3_provider_integration + description: Display name of Provider Integration. + maxLength: 60 + x-immutable: true + provider: + type: string + description: >- + Cloud provider to which access is provided through provider + integration. + example: AWS + default: AWS + x-extensible-enum: + - AWS + config: + type: object + description: Cloud provider specific configs for provider integration + discriminator: + propertyName: kind + mapping: + AwsIntegrationConfig: '#/components/schemas/pim.v1.AwsIntegrationConfig' + x-immutable: true + properties: + iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon Web + Services (AWS) + + Identity and Access Management (IAM) role that Confluent + Cloud uses to assume + + customer IAM role when it accesses resources in your AWS + account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + readOnly: true + external_id: + type: string + format: uuid + description: > + Unique external ID that Confluent Cloud uses when it + assumes the IAM role + + in your Amazon Web Services (AWS) account. + readOnly: true + customer_iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon Web + Services (AWS) + + Identity and Access Management (IAM) role that Confluent + Cloud assumes when + + it accesses resources in your AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + kind: + type: string + description: >- + Cloud provider specific config to which access is provided + through provider integration. + example: AwsIntegrationConfig + x-extensible-enum: + - AwsIntegrationConfig + required: + - kind + usages: + type: array + description: List of resource crns where this integration is being used. + minItems: 0 + items: + type: string + description: crn that specifies the resource using this integration + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/connector=my_datagen_connector + readOnly: true + environment: + description: The environment to which this belongs. + x-immutable: true' + type: object required: - id - - config - - environment + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - id + - config + - environment uniqueItems: true - ListMeta: - type: object - description: ListMeta describes metadata that resource collections may have - properties: - first: - description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds' - last: - description: 'A link to the last page of results. If a response does not contain a last link, then direct navigation to the last page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT' - prev: - description: 'A link to the previous page of results. If a response does not contain a prev link, then either there is no previous data or backwards traversal through the result set is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld' - next: - description: 'A link to the next page of results. If a response does not contain a next link, then there is no more data available.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb' - total_size: - description: Number of records in the full result set. This response may be paginated and have a smaller number of records. - type: integer - format: int32 - minimum: 0 - example: 123 pim.v1.Integration: type: object - description: |- - `Provider Integration` objects represent access to public cloud service provider (CSP) resources + description: >- + `Provider Integration` objects represent access to public cloud service + provider (CSP) resources + that may be accessed by Confluent resources (for example, connectors). - The API allows you to create, retrieve, and delete individual integrations, and also obtain a + + The API allows you to create, retrieve, and delete individual + integrations, and also obtain a + list of all your provider integrations. - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + + Related guide: [Provider Integration in Confluent + Cloud](https://docs.confluent.io/home/overview.html). + ## The Integrations Model + properties: api_version: type: string enum: - pim/v1 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string @@ -1213,7 +3673,13 @@ components: enum: - Integration id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). type: string maxLength: 255 readOnly: true @@ -1226,7 +3692,9 @@ components: x-immutable: true provider: type: string - description: Cloud provider to which access is provided through provider integration. + description: >- + Cloud provider to which access is provided through provider + integration. example: AWS default: AWS x-extensible-enum: @@ -1238,9 +3706,55 @@ components: propertyName: kind mapping: AwsIntegrationConfig: '#/components/schemas/pim.v1.AwsIntegrationConfig' - oneOf: - - $ref: '#/components/schemas/pim.v1.AwsIntegrationConfig' x-immutable: true + properties: + iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon Web + Services (AWS) + + Identity and Access Management (IAM) role that Confluent Cloud + uses to assume + + customer IAM role when it accesses resources in your AWS + account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + readOnly: true + external_id: + type: string + format: uuid + description: > + Unique external ID that Confluent Cloud uses when it assumes the + IAM role + + in your Amazon Web Services (AWS) account. + readOnly: true + customer_iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon Web + Services (AWS) + + Identity and Access Management (IAM) role that Confluent Cloud + assumes when + + it accesses resources in your AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + kind: + type: string + description: >- + Cloud provider specific config to which access is provided + through provider integration. + example: AwsIntegrationConfig + x-extensible-enum: + - AwsIntegrationConfig + required: + - kind usages: type: array description: List of resource crns where this integration is being used. @@ -1249,307 +3763,1070 @@ components: type: string description: crn that specifies the resource using this integration format: uri - pattern: '^crn://.+$' - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/connector=my_datagen_connector' + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/connector=my_datagen_connector readOnly: true environment: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' description: The environment to which this belongs. x-immutable: true' - AclOperation: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - AclPatternType: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - MATCH - - LITERAL - - PREFIXED - AclPermission: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - DENY - - ALLOW - AclResourceType: - type: string - enum: - - UNKNOWN - - ANY - - TOPIC - - GROUP - - CLUSTER - - TRANSACTIONAL_ID - - DELEGATION_TOKEN - BrokerTaskType: - type: string - enum: - - add-broker - - remove-broker - MirrorTopicStatus: - enum: - - ACTIVE - - FAILED - - LINK_FAILED - - LINK_PAUSED - - PAUSED - - PENDING_STOPPED - - SOURCE_UNAVAILABLE - - STOPPED - - PENDING_MIRROR - - PENDING_SYNCHRONIZE - - PENDING_SETUP_FOR_RESTORE - - PENDING_RESTORE - type: string - Failure: - type: object - description: Provides information about problems encountered while performing an operation. - required: - - errors - properties: - errors: - description: List of errors which caused this operation to fail - type: array - items: - $ref: '#/components/schemas/Error' - uniqueItems: true - AlterConfigBatchRequestData: + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + pim.v2.IntegrationList: type: object - required: - - data + description: >- + `Provider Integration` objects represent access to public cloud service + provider (CSP) resources + + that may be accessed by Confluent resources (for example, connectors). + + + The API allows you to create, retrieve, update, delete, and validate + individual integrations, and also obtain a + + list of all your provider integrations. + + + Note: The pim/v2 API currently supports only Azure and GCP provider + integrations. + + + + Related guide: [Provider Integration in Confluent + Cloud](https://docs.confluent.io/home/overview.html). + + + ## The Integrations Model + + + required: + - api_version + - kind + - metadata + - data properties: + api_version: + type: string + enum: + - pim/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IntegrationList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 data: type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. items: type: object - required: - - name + description: >- + `Provider Integration` objects represent access to public cloud + service provider (CSP) resources + + that may be accessed by Confluent resources (for example, + connectors). + + + The API allows you to create, retrieve, update, delete, and + validate individual integrations, and also obtain a + + list of all your provider integrations. + + + Note: The pim/v2 API currently supports only Azure and GCP + provider integrations. + + + + Related guide: [Provider Integration in Confluent + Cloud](https://docs.confluent.io/home/overview.html). + + + ## The Integrations Model + + properties: - name: + api_version: + type: string + enum: + - pim/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Integration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). type: string - value: + maxLength: 255 + readOnly: true + example: dlz-f3a90de + display_name: type: string - nullable: true - operation: + example: bigquery_provider_integration + description: Display name of Provider Integration. + maxLength: 60 + x-immutable: true + provider: type: string + description: >- + Cloud provider to which access is provided through provider + integration. + example: GCP + default: GCP + x-extensible-enum: + - GCP + x-immutable: true + config: + type: object + description: > + Cloud provider specific configuration for the provider + integration. + + Required only when updating integrations with `DRAFT` status. + Not required during creation. + discriminator: + propertyName: kind + mapping: + GcpIntegrationConfig: '#/components/schemas/pim.v2.GcpIntegrationConfig' + AzureIntegrationConfig: '#/components/schemas/pim.v2.AzureIntegrationConfig' + AwsIntegrationConfig: '#/components/schemas/pim.v2.AwsIntegrationConfig' + properties: + google_service_account: + type: string + description: > + The ID of the Google Service Account that Confluent Cloud + uses to impersonate + + customer Google Service Account when it accesses resources + in your GCP project. + example: cspi-sa1@cflt-project.iam.gserviceaccount.com + readOnly: true + customer_google_service_account: + type: string + description: > + The ID of the Google Service Account that Confluent Cloud + impersonates + + to access resources in your GCP Project. + example: customer-sa@customer-project.iam.gserviceaccount.com + kind: + type: string + description: >- + Cloud provider specific config to which access is provided + through provider integration. + example: GcpIntegrationConfig + x-extensible-enum: + - GcpIntegrationConfig + confluent_multi_tenant_app_id: + type: string + description: > + The ID of the Confluent Multi-Tenant App that Confluent + Cloud uses to impersonate + + customer Azure App when it accesses resources in your + Azure subscription. + example: 9bb441c4-edef-46ac-8a41-c49e44a3fd9a + readOnly: true + customer_azure_tenant_id: + type: string + description: > + The ID of the customer's Azure Active Directory (Azure AD) + tenant + example: 12345678-1234-1234-1234-123456789abc + iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon Web + Services (AWS) + + Identity and Access Management (IAM) role that Confluent + Cloud uses to assume + + customer IAM role when it accesses resources in your AWS + account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + readOnly: true + external_id: + type: string + format: uuid + description: > + Unique external ID that Confluent Cloud uses when it + assumes the IAM role + + in your Amazon Web Services (AWS) account. + readOnly: true + customer_iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon Web + Services (AWS) + + Identity and Access Management (IAM) role that Confluent + Cloud assumes when + + it accesses resources in your AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + required: + - kind + usages: + type: array + description: List of resource crns where this integration is being used. + minItems: 0 + items: + type: string + description: crn that specifies the resource using this integration + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/connector=my_datagen_connector + readOnly: true + status: + type: string + description: > + Status of the provider integration. + + - `DRAFT`: Integration exists but is not associated with + customer configuration + + - `CREATED`: Integration has been associated with customer + configuration + + - `ACTIVE`: Integration is in use by Confluent resources + example: CREATED x-extensible-enum: - - SET - - DELETE - nullable: true - validate_only: - type: boolean - CreateAclRequestData: + - DRAFT + - CREATED + - ACTIVE + readOnly: true + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + required: + - id + - status + - environment + uniqueItems: true + pim.v2.Integration: type: object - required: - - resource_type - - resource_name - - pattern_type - - principal - - host - - operation - - permission + description: >- + `Provider Integration` objects represent access to public cloud service + provider (CSP) resources + + that may be accessed by Confluent resources (for example, connectors). + + + The API allows you to create, retrieve, update, delete, and validate + individual integrations, and also obtain a + + list of all your provider integrations. + + + Note: The pim/v2 API currently supports only Azure and GCP provider + integrations. + + + + Related guide: [Provider Integration in Confluent + Cloud](https://docs.confluent.io/home/overview.html). + + + ## The Integrations Model + + properties: - resource_type: - $ref: '#/components/schemas/AclResourceType' - resource_name: + api_version: type: string - pattern_type: - $ref: '#/components/schemas/AclPatternType' - principal: + enum: + - pim/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: type: string - host: + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Integration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). type: string - operation: - $ref: '#/components/schemas/AclOperation' - permission: - $ref: '#/components/schemas/AclPermission' - CreateAclRequestDataList: - allOf: - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/CreateAclRequestData' - CreateTopicRequestData: - type: object - required: - - topic_name - properties: - topic_name: + maxLength: 255 + readOnly: true + example: dlz-f3a90de + display_name: type: string - partitions_count: - type: integer - replication_factor: - type: integer - configs: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - validate_only: - type: boolean - ProduceRequest: - type: object - properties: - partition_id: - type: integer - nullable: true - format: int32 - headers: + example: bigquery_provider_integration + description: Display name of Provider Integration. + maxLength: 60 + x-immutable: true + provider: + type: string + description: >- + Cloud provider to which access is provided through provider + integration. + example: GCP + default: GCP + x-extensible-enum: + - GCP + x-immutable: true + config: + type: object + description: > + Cloud provider specific configuration for the provider integration. + + Required only when updating integrations with `DRAFT` status. Not + required during creation. + discriminator: + propertyName: kind + mapping: + GcpIntegrationConfig: '#/components/schemas/pim.v2.GcpIntegrationConfig' + AzureIntegrationConfig: '#/components/schemas/pim.v2.AzureIntegrationConfig' + AwsIntegrationConfig: '#/components/schemas/pim.v2.AwsIntegrationConfig' + properties: + google_service_account: + type: string + description: > + The ID of the Google Service Account that Confluent Cloud uses + to impersonate + + customer Google Service Account when it accesses resources in + your GCP project. + example: cspi-sa1@cflt-project.iam.gserviceaccount.com + readOnly: true + customer_google_service_account: + type: string + description: > + The ID of the Google Service Account that Confluent Cloud + impersonates + + to access resources in your GCP Project. + example: customer-sa@customer-project.iam.gserviceaccount.com + kind: + type: string + description: >- + Cloud provider specific config to which access is provided + through provider integration. + example: GcpIntegrationConfig + x-extensible-enum: + - GcpIntegrationConfig + confluent_multi_tenant_app_id: + type: string + description: > + The ID of the Confluent Multi-Tenant App that Confluent Cloud + uses to impersonate + + customer Azure App when it accesses resources in your Azure + subscription. + example: 9bb441c4-edef-46ac-8a41-c49e44a3fd9a + readOnly: true + customer_azure_tenant_id: + type: string + description: > + The ID of the customer's Azure Active Directory (Azure AD) + tenant + example: 12345678-1234-1234-1234-123456789abc + iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon Web + Services (AWS) + + Identity and Access Management (IAM) role that Confluent Cloud + uses to assume + + customer IAM role when it accesses resources in your AWS + account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + readOnly: true + external_id: + type: string + format: uuid + description: > + Unique external ID that Confluent Cloud uses when it assumes the + IAM role + + in your Amazon Web Services (AWS) account. + readOnly: true + customer_iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon Web + Services (AWS) + + Identity and Access Management (IAM) role that Confluent Cloud + assumes when + + it accesses resources in your AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + required: + - kind + usages: type: array + description: List of resource crns where this integration is being used. + minItems: 0 items: - $ref: '#/components/schemas/ProduceRequestHeader' - key: - $ref: '#/components/schemas/ProduceRequestData' - value: - $ref: '#/components/schemas/ProduceRequestData' - timestamp: + type: string + description: crn that specifies the resource using this integration + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-456xy/cloud-cluster=lkc-123abc/connector=my_datagen_connector + readOnly: true + status: type: string - format: date-time - nullable: true - UpdateConfigRequestData: + description: > + Status of the provider integration. + + - `DRAFT`: Integration exists but is not associated with customer + configuration + + - `CREATED`: Integration has been associated with customer + configuration + + - `ACTIVE`: Integration is in use by Confluent resources + example: CREATED + x-extensible-enum: + - DRAFT + - CREATED + - ACTIVE + readOnly: true + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + pim.v2.IntegrationValidateRequest: type: object + description: Request to validate the provider integration configuration. properties: - value: - type: string - nullable: true - CreateLinkRequestData: - properties: - source_cluster_id: - type: string - destination_cluster_id: + api_version: type: string - remote_cluster_id: - description: The expected remote cluster ID. + enum: + - pim/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: type: string - cluster_link_id: - description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - IntegrationValidateRequest + id: type: string - configs: - items: - $ref: '#/components/schemas/ConfigData' - type: array + description: The ID of the provider integration to validate. + example: cspi-00000 + maxLength: 255 + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + config: + type: object + description: | + Cloud provider specific configuration for the provider integration. + Required only for integrations in `DRAFT` status. + discriminator: + propertyName: kind + mapping: + GcpIntegrationConfig: '#/components/schemas/pim.v2.GcpIntegrationConfig' + AzureIntegrationConfig: '#/components/schemas/pim.v2.AzureIntegrationConfig' + AwsIntegrationConfig: '#/components/schemas/pim.v2.AwsIntegrationConfig' + properties: + google_service_account: + type: string + description: > + The ID of the Google Service Account that Confluent Cloud uses + to impersonate + + customer Google Service Account when it accesses resources in + your GCP project. + example: cspi-sa1@cflt-project.iam.gserviceaccount.com + readOnly: true + customer_google_service_account: + type: string + description: > + The ID of the Google Service Account that Confluent Cloud + impersonates + + to access resources in your GCP Project. + example: customer-sa@customer-project.iam.gserviceaccount.com + kind: + type: string + description: >- + Cloud provider specific config to which access is provided + through provider integration. + example: GcpIntegrationConfig + x-extensible-enum: + - GcpIntegrationConfig + confluent_multi_tenant_app_id: + type: string + description: > + The ID of the Confluent Multi-Tenant App that Confluent Cloud + uses to impersonate + + customer Azure App when it accesses resources in your Azure + subscription. + example: 9bb441c4-edef-46ac-8a41-c49e44a3fd9a + readOnly: true + customer_azure_tenant_id: + type: string + description: > + The ID of the customer's Azure Active Directory (Azure AD) + tenant + example: 12345678-1234-1234-1234-123456789abc + iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon Web + Services (AWS) + + Identity and Access Management (IAM) role that Confluent Cloud + uses to assume + + customer IAM role when it accesses resources in your AWS + account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + readOnly: true + external_id: + type: string + format: uuid + description: > + Unique external ID that Confluent Cloud uses when it assumes the + IAM role + + in your Amazon Web Services (AWS) account. + readOnly: true + customer_iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon Web + Services (AWS) + + Identity and Access Management (IAM) role that Confluent Cloud + assumes when + + it accesses resources in your AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + required: + - kind + environment: + description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + ListMeta: type: object - UpdateLinkConfigRequestData: + description: ListMeta describes metadata that resource collections may have properties: - value: + first: + description: >- + A link to the first page of results. If a response does not contain + a first link, then direct navigation to the first page is not + supported. type: string - required: - - value - type: object - CreateMirrorTopicRequestData: - properties: - source_topic_name: + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not contain a + last link, then direct navigation to the last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. type: string - mirror_topic_name: + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not contain a + next link, then there is no more data available. type: string - replication_factor: + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. type: integer - configs: - type: array - items: - $ref: '#/components/schemas/ConfigData' - required: - - source_topic_name + format: int32 + minimum: 0 + example: 123 + Failure: type: object - AlterMirrorsRequestData: + description: >- + Provides information about problems encountered while performing an + operation. + required: + - errors properties: - mirror_topic_names: - description: The mirror topics specified as a list of topic names. + errors: + description: List of errors which caused this operation to fail type: array items: - type: string - mirror_topic_name_pattern: - description: The mirror topics specified as a pattern. - type: string + $ref: '#/components/schemas/Error' + uniqueItems: true + pim.v1.AwsIntegrationConfig: type: object - RemoveBrokersRequestData: + description: | + config schema for AWS cloud service provider. properties: - broker_ids: - type: array - items: - type: integer + iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon Web Services + (AWS) + + Identity and Access Management (IAM) role that Confluent Cloud uses + to assume + + customer IAM role when it accesses resources in your AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + readOnly: true + external_id: + type: string + format: uuid + description: > + Unique external ID that Confluent Cloud uses when it assumes the IAM + role + + in your Amazon Web Services (AWS) account. + readOnly: true + customer_iam_role_arn: + type: string + description: > + Amazon Resource Name (ARN) that identifies the Amazon Web Services + (AWS) + + Identity and Access Management (IAM) role that Confluent Cloud + assumes when + + it accesses resources in your AWS account. + example: arn:aws:iam::000000000000:role/my-test-aws-role + maxLength: 2048 + minLength: 20 + kind: + type: string + description: >- + Cloud provider specific config to which access is provided through + provider integration. + example: AwsIntegrationConfig + x-extensible-enum: + - AwsIntegrationConfig required: - - broker_ids + - kind + GlobalObjectReference: type: object - BrokerReplicaExclusionBatchRequestData: + description: >- + ObjectReference provides information for you to locate the referred + object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + pim.v2.GcpIntegrationConfig: type: object + description: | + config schema for GCP cloud service provider. + properties: + google_service_account: + type: string + description: > + The ID of the Google Service Account that Confluent Cloud uses to + impersonate + + customer Google Service Account when it accesses resources in your + GCP project. + example: cspi-sa1@cflt-project.iam.gserviceaccount.com + readOnly: true + customer_google_service_account: + type: string + description: > + The ID of the Google Service Account that Confluent Cloud + impersonates + + to access resources in your GCP Project. + example: customer-sa@customer-project.iam.gserviceaccount.com + kind: + type: string + description: >- + Cloud provider specific config to which access is provided through + provider integration. + example: GcpIntegrationConfig + x-extensible-enum: + - GcpIntegrationConfig required: - - data + - kind + pim.v2.AzureIntegrationConfig: + type: object + description: | + config schema for Azure cloud service provider. properties: - data: - type: array - items: - $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' - pim.v1.AwsIntegrationConfig: + confluent_multi_tenant_app_id: + type: string + description: > + The ID of the Confluent Multi-Tenant App that Confluent Cloud uses + to impersonate + + customer Azure App when it accesses resources in your Azure + subscription. + example: 9bb441c4-edef-46ac-8a41-c49e44a3fd9a + readOnly: true + customer_azure_tenant_id: + type: string + description: | + The ID of the customer's Azure Active Directory (Azure AD) tenant + example: 12345678-1234-1234-1234-123456789abc + kind: + type: string + description: >- + Cloud provider specific config to which access is provided through + provider integration. + example: AzureIntegrationConfig + x-extensible-enum: + - AzureIntegrationConfig + required: + - kind + pim.v2.AwsIntegrationConfig: type: object description: | config schema for AWS cloud service provider. properties: iam_role_arn: type: string - description: | - Amazon Resource Name (ARN) that identifies the Amazon Web Services (AWS) - Identity and Access Management (IAM) role that Confluent Cloud uses to assume + description: > + Amazon Resource Name (ARN) that identifies the Amazon Web Services + (AWS) + + Identity and Access Management (IAM) role that Confluent Cloud uses + to assume + customer IAM role when it accesses resources in your AWS account. - example: 'arn:aws:iam::000000000000:role/my-test-aws-role' + example: arn:aws:iam::000000000000:role/my-test-aws-role maxLength: 2048 minLength: 20 readOnly: true external_id: type: string format: uuid - description: | - Unique external ID that Confluent Cloud uses when it assumes the IAM role + description: > + Unique external ID that Confluent Cloud uses when it assumes the IAM + role + in your Amazon Web Services (AWS) account. readOnly: true customer_iam_role_arn: type: string - description: | - Amazon Resource Name (ARN) that identifies the Amazon Web Services (AWS) - Identity and Access Management (IAM) role that Confluent Cloud assumes when + description: > + Amazon Resource Name (ARN) that identifies the Amazon Web Services + (AWS) + + Identity and Access Management (IAM) role that Confluent Cloud + assumes when + it accesses resources in your AWS account. - example: 'arn:aws:iam::000000000000:role/my-test-aws-role' + example: arn:aws:iam::000000000000:role/my-test-aws-role maxLength: 2048 minLength: 20 kind: type: string - description: Cloud provider specific config to which access is provided through provider integration. + description: >- + Cloud provider specific config to which access is provided through + provider integration. example: AwsIntegrationConfig x-extensible-enum: - AwsIntegrationConfig required: - kind - GlobalObjectReference: + ObjectReference: type: object - description: ObjectReference provides information for you to locate the referred object + description: >- + ObjectReference provides information for you to locate the referred + object required: - id - related @@ -1560,6 +4837,11 @@ components: description: ID of the referred resource minLength: 1 maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 related: type: string format: uri @@ -1572,6 +4854,68 @@ components: description: CRN reference to the referred resource minLength: 1 readOnly: true + api_version: + type: string + description: API group and version of the referred resource + minLength: 1 + readOnly: true + kind: + type: string + description: Kind of the referred resource + minLength: 1 + readOnly: true + ObjectMeta: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. It + is represented in RFC3339 format and is in UTC. + readOnly: true + type: object Error: type: object description: Describes a particular error encountered while performing an operation. @@ -1581,23 +4925,36 @@ components: type: string maxLength: 255 status: - description: 'The HTTP status code applicable to this problem, expressed as a string value.' + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. type: string code: - description: 'An application-specific error code, expressed as a string value.' + description: An application-specific error code, expressed as a string value. type: string title: - description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. type: string detail: - description: A human-readable explanation specific to this occurrence of the problem. + description: >- + A human-readable explanation specific to this occurrence of the + problem. type: string source: type: object - description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. properties: pointer: - description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. type: string parameter: description: A string indicating which query parameter caused the error. @@ -1609,299 +4966,6 @@ components: type: string nullable: true additionalProperties: false - ProduceRequestHeader: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - format: byte - nullable: true - ProduceRequestData: - type: object - properties: - type: - type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - data: - $ref: '#/components/schemas/AnyValue' - nullable: true - ConfigData: - example: - name: name - value: value - properties: - name: - type: string - value: - nullable: true - type: string - required: - - name - - value - BrokerReplicaExclusionRequestData: - type: object - required: - - broker_id - - reason - properties: - broker_id: - type: integer - reason: - type: string - AnyValue: - nullable: true - parameters: - AclHost: - name: host - description: The ACL host. - in: query - required: false - schema: - type: string - AclOperation: - name: operation - description: The ACL operation. - in: query - required: false - schema: - $ref: '#/components/schemas/AclOperation' - AclOperationRequired: - name: operation - description: The ACL operation. - in: query - required: true - schema: - $ref: '#/components/schemas/AclOperation' - AclPatternType: - name: pattern_type - description: The ACL pattern type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPatternType' - AclPatternTypeRequired: - name: pattern_type - description: The ACL pattern type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPatternType' - AclPermission: - name: permission - description: The ACL permission. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPermission' - AclPermissionRequired: - name: permission - description: The ACL permission. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPermission' - AclPrincipal: - name: principal - description: The ACL principal. This is the Service Account name or user name. - in: query - required: false - schema: - type: string - AclResourceName: - name: resource_name - description: The ACL resource name. - in: query - required: false - schema: - type: string - AclResourceType: - name: resource_type - description: The ACL resource type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclResourceType' - AclResourceTypeRequired: - name: resource_type - description: The ACL resource type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclResourceType' - BrokerId: - name: broker_id - description: The Kafka broker ID. - in: path - required: true - schema: - type: integer - example: 1 - ClusterId: - name: cluster_id - description: The Kafka cluster ID. - in: path - required: true - schema: - type: string - example: cluster-1 - ConfigName: - name: name - description: The configuration parameter name. - in: path - required: true - schema: - type: string - example: compression.type - ConsumerGroupId: - name: consumer_group_id - description: The consumer group ID. - in: path - required: true - schema: - type: string - example: consumer-group-1 - ConsumerId: - name: consumer_id - description: The consumer ID. - in: path - required: true - schema: - type: string - example: consumer-1 - IncludeAuthorizedOperations: - name: include_authorized_operations - description: Specify if authorized operations should be included in the response. - in: query - required: false - schema: - type: boolean - PartitionId: - name: partition_id - description: The partition ID. - in: path - required: true - schema: - type: integer - example: 0 - TopicName: - name: topic_name - description: The topic name. - in: path - required: true - schema: - type: string - example: topic-1 - BrokerTaskType: - name: task_type - description: The Kafka broker task type. - in: path - required: true - schema: - $ref: '#/components/schemas/BrokerTaskType' - example: remove-broker - ShouldShutdown: - name: should_shutdown - description: 'To shutdown the broker or not, Default: true' - in: query - required: false - schema: - type: boolean - example: true - ValidateOnly: - name: validate_only - description: 'To validate the action can be performed successfully or not. Default: false' - in: query - required: false - schema: - type: boolean - example: false - ValidateLink: - name: validate_link - description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' - in: query - required: false - schema: - type: boolean - example: false - IncludeTasks: - name: include_tasks - description: 'Whether to include cluster linking tasks in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludeStateTransitionErrors: - name: include_state_transition_errors - description: 'Whether to include mirror state transition errors in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - Force: - name: force - description: 'Force the action. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludePartitionLevelTruncationData: - name: include_partition_level_truncation_data - description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - LinkName: - name: link_name - description: The link name - in: path - required: true - schema: - type: string - example: link-sb1 - LinkConfigName: - name: config_name - description: The link config name - in: path - required: true - schema: - type: string - example: consumer.offset.sync.enable - MirrorTopicStatus: - name: mirror_status - description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' - in: query - required: false - schema: - $ref: '#/components/schemas/MirrorTopicStatus' - example: ACTIVE - MirrorTopicName: - name: mirror_topic_name - description: Cluster Linking mirror topic name - in: path - required: true - schema: - type: string - example: topic-1 - QueryParamLinkName: - name: link_name - description: The link name - in: query - required: true - schema: - type: string - example: link-sb1 responses: BadRequestError: description: Bad Request @@ -1935,7 +4999,9 @@ components: schema: type: string description: The unique identifier for the API request. - example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + example: >- + Basic error="invalid_key", error_description="The API Key is + invalid" content: application/json: schema: @@ -1965,7 +5031,9 @@ components: status: '403' code: user_unauthorized title: User Access Unauthorized - detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + detail: >- + The user 'mcfly' is not allowed to access the 'delorean' + resource without the 'plutonium' role. RateLimitError: description: Rate Limit Exceeded headers: @@ -1976,7 +5044,9 @@ components: X-RateLimit-Limit: schema: type: integer - description: The maximum number of requests you're permitted to make per time period. + description: >- + The maximum number of requests you're permitted to make per time + period. X-RateLimit-Remaining: schema: type: integer @@ -1984,16 +5054,21 @@ components: X-RateLimit-Reset: schema: type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. + description: >- + The relative time in seconds until the current rate-limit window + resets. - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. Retry-After: schema: type: integer - description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. DefaultSystemError: - description: 'Oops, something went wrong!' + description: Oops, something went wrong! headers: X-Request-Id: schema: @@ -2009,7 +5084,9 @@ components: status: '500' code: out_of_gas title: DeLorean Out Of Gas - detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap ConflictError: x-summary: Conflict description: The request is in conflict with the current server state @@ -2022,7 +5099,7 @@ components: schema: type: string format: uri - example: 'https://api.confluent.cloud/{object}/{id}' + example: https://api.confluent.cloud/{object}/{id} description: Resource URI of conflicting resource content: application/json: @@ -2034,7 +5111,9 @@ components: status: '409' code: resource_already_exists title: Resource Already exists - detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + detail: >- + The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already + exists. ValidationError: description: Validation Failed headers: @@ -2052,210 +5131,324 @@ components: code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size NotFoundError: @@ -2274,413 +5467,35 @@ components: - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d status: '404' title: Not Found - securitySchemes: - cloud-api-key: - type: http - scheme: basic - description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. - confluent-sts-access-token: - type: oauth2 - description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' - scopes: {} - api-key: - type: http - scheme: basic - description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. - resource-api-key: - type: http - scheme: basic - description: | - Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID - as the username and resource-specific API Key Secret as the password. - external-access-token: - type: oauth2 - description: Authenticate with OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https:///token' - scopes: {} - oauth: - type: oauth2 - description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. - flows: - clientCredentials: - tokenUrl: /oauth2/token - scopes: - 'partner:alter': enables partners to alter entitlements - 'partner:create': enables partners to create entitlements and signup on behalf of customers - 'partner:delete': enables partners to delete entitlements and organizations - 'partner:describe': enables partners to read and list entitlements and organizations - requestBodies: - AlterBrokerConfigBatchRequest: - description: The alter broker configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterClusterConfigBatchRequest: - description: The alter cluster configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterTopicConfigBatchRequest: - description: The alter topic configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - examples: - batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only_batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only: true - CreateAclRequest: - description: The ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestData' - example: - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - BatchCreateAclRequest: - description: The batch ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestDataList' - example: - data: - - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - - resource_type: TOPIC - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: READ - permission: ALLOW - CreateTopicRequest: - description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTopicRequestData' - examples: - uniform_replication: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - configs: - - name: cleanup.policy - value: compact - - name: compression.type - value: gzip - dry_run_create_topic: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - validate_only: true - ProduceRequest: - description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' - content: - application/json: - schema: - $ref: '#/components/schemas/ProduceRequest' - examples: - binary_and_json: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - partition_id: 1 - headers: - - name: Header-1 - value: SGVhZGVyLTE= - - name: Header-2 - value: SGVhZGVyLTI= - key: - type: BINARY - data: Zm9vYmFy - value: - type: JSON - data: - foo: bar - timestamp: '2021-02-05T19:14:42Z' - string: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - value: - type: STRING - data: My message - empty_value: - description: key or value can be omitted entirely. - value: - key: - data: 1000 - UpdateBrokerConfigRequest: - description: The broker configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateClusterConfigRequest: - description: The cluster configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateTopicConfigRequest: - description: The topic configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - CreateLinkRequest: - description: Create a cluster link - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLinkRequestData' - examples: - destination_initiated_link: - description: Create a destination initiated cluster link - value: - source_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: acl.sync.enable - value: 'false' - - name: consumer.offset.sync.ms - value: '30000' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_source_cluster: - description: Create a source initiated cluster link at source cluster - value: - destination_cluster_id: cluster-2 - configs: - - name: bootstrap.servers - value: cluster-2-bootstrap-server - - name: link.mode - value: SOURCE - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_destination_cluster: - description: Create a source initiated cluster link at destination cluster - value: - destination_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: link.mode - value: DESTINATION - - name: connection.mode - value: INBOUND - - name: acl.sync.enable - value: 'false' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_east: - description: Create a bidirectional cluster link in east - value: - remote_cluster_id: cluster-west - configs: - - name: bootstrap.servers - value: cluster-west-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: west. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_west: - description: Create a bidirectional cluster link in west - value: - remote_cluster_id: cluster-east - cluster_link_id: eEBkTffYSESld6EO898x3w - configs: - - name: bootstrap.servers - value: cluster-east-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: east. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - UpdateLinkConfigRequest: - content: - application/json: - example: - value: '300000' - schema: - $ref: '#/components/schemas/UpdateLinkConfigRequestData' - description: Link config value to update - AlterLinkConfigBatchRequest: - content: - application/json: - example: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - CreateMirrorTopicRequest: - description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateMirrorTopicRequestData' - examples: - generic_example: - description: Generic example of creating a mirror topic - value: - source_topic_name: topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 1 - example_with_mirror_topic_name: - description: Example using optional mirror_topic_name flag - value: - source_topic_name: topic-1 - mirror_topic_name: link1_topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 3 - AlterMirrorsRequest: - description: Mirror topics to be altered. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterMirrorsRequestData' - examples: - mirror_topic_names: - description: Example using mirror topic names - value: - mirror_topic_names: - - topic-1 - - topic-2 - mirror_topic_name_pattern: - description: Example using mirror topic name pattern - value: - mirror_topic_name_pattern: .* - RemoveBrokersRequest: - content: - application/json: - example: - broker_ids: - - 1 - - 2 - - 3 - schema: - $ref: '#/components/schemas/RemoveBrokersRequestData' - description: Broker ids to remove - BrokerReplicaExclusionBatchRequest: - description: Alter Broker Replica Exclusions. - content: - application/json: - schema: - $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' - example: - data: - - broker_id: 1 - reason: The broker is to be removed. - - broker_id: 2 - reason: The broker is to be removed. x-stackQL-resources: - integrations: - id: confluent.provider_integrations.integrations - name: integrations - title: Integrations + integrations_v1: + id: confluent.provider_integrations.integrations_v1 + name: integrations_v1 + title: Integrations V1 methods: - list_pim_v1integrations: + list_pim_v1_integrations: operation: $ref: '#/paths/~1pim~1v1~1integrations/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_pim_v1integration: + create_pim_v1_integration: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1pim~1v1~1integrations/post' response: mediaType: application/json openAPIDocKey: '201' - get_pim_v1integration: + get_pim_v1_integration: operation: $ref: '#/paths/~1pim~1v1~1integrations~1{id}/get' response: mediaType: application/json openAPIDocKey: '200' - delete_pim_v1integration: + delete_pim_v1_integration: operation: $ref: '#/paths/~1pim~1v1~1integrations~1{id}/delete' response: @@ -2688,682 +5503,95 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/integrations/methods/get_pim_v1integration' - - $ref: '#/components/x-stackQL-resources/integrations/methods/list_pim_v1integrations' + - $ref: >- + #/components/x-stackQL-resources/integrations_v1/methods/get_pim_v1_integration + - $ref: >- + #/components/x-stackQL-resources/integrations_v1/methods/list_pim_v1_integrations insert: - - $ref: '#/components/x-stackQL-resources/integrations/methods/create_pim_v1integration' + - $ref: >- + #/components/x-stackQL-resources/integrations_v1/methods/create_pim_v1_integration update: [] - replace: [] delete: - - $ref: '#/components/x-stackQL-resources/integrations/methods/delete_pim_v1integration' -paths: - /pim/v1/integrations: - get: - x-request-access-name: Provider Integration - operationId: listPimV1Integrations - summary: List of Integrations - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Retrieve a sorted, filtered, paginated list of all integrations. - - If no `provider` filter is specified, returns provider integrations from all clouds. - parameters: - - name: provider - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: AWS - description: Filter the results by exact match for provider. - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Filter the results by exact match for environment. - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Integrations (pim/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Integration. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/pim.v1.IntegrationList' - - type: object - properties: - data: - type: array - items: - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/pim/v1/integrations?provider=AWS&environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/pim/v1/integrations?provider=AWS&environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/pim/v1/integrations?provider=AWS&environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/pim/v1/integrations?provider=AWS&environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/pim/v1/integrations?provider=AWS&environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/pim/v1/integrations?provider=AWS&environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/pim/v1/integrations?provider=AWS&environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - x-request-access-name: Provider Integration - operationId: createPimV1Integration - summary: Create an Integration - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Make a request to create an integration. - tags: - - Integrations (pim/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/pim.v1.Integration' - - type: object - required: - - config - - environment - - type: object - properties: - environment: - example: - id: env-00000 - responses: - '201': - description: An Integration was created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/pim/v1/integrations/{id}' - description: Integration resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/pim.v1.Integration' - - type: object - required: - - config - - environment - - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/pim/v1/integrations \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"display_name":"s3_provider_integration","provider":"AWS","config":{"customer_iam_role_arn":"arn:aws:iam::000000000000:role/my-test-aws-role","kind":"AwsIntegrationConfig"},"environment":{"id":"env-00000"}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"display_name\":\"s3_provider_integration\",\"provider\":\"AWS\",\"config\":{\"customer_iam_role_arn\":\"arn:aws:iam::000000000000:role/my-test-aws-role\",\"kind\":\"AwsIntegrationConfig\"},\"environment\":{\"id\":\"env-00000\"}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/pim/v1/integrations") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/pim/v1/integrations\"\n\n\tpayload := strings.NewReader(\"{\\\"display_name\\\":\\\"s3_provider_integration\\\",\\\"provider\\\":\\\"AWS\\\",\\\"config\\\":{\\\"customer_iam_role_arn\\\":\\\"arn:aws:iam::000000000000:role/my-test-aws-role\\\",\\\"kind\\\":\\\"AwsIntegrationConfig\\\"},\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\"}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"display_name\":\"s3_provider_integration\",\"provider\":\"AWS\",\"config\":{\"customer_iam_role_arn\":\"arn:aws:iam::000000000000:role/my-test-aws-role\",\"kind\":\"AwsIntegrationConfig\"},\"environment\":{\"id\":\"env-00000\"}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/pim/v1/integrations", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/pim/v1/integrations", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - display_name: 's3_provider_integration', - provider: 'AWS', - config: { - customer_iam_role_arn: 'arn:aws:iam::000000000000:role/my-test-aws-role', - kind: 'AwsIntegrationConfig' - }, - environment: {id: 'env-00000'} - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/pim/v1/integrations"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"display_name\":\"s3_provider_integration\",\"provider\":\"AWS\",\"config\":{\"customer_iam_role_arn\":\"arn:aws:iam::000000000000:role/my-test-aws-role\",\"kind\":\"AwsIntegrationConfig\"},\"environment\":{\"id\":\"env-00000\"}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/pim/v1/integrations"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"display_name\":\"s3_provider_integration\",\"provider\":\"AWS\",\"config\":{\"customer_iam_role_arn\":\"arn:aws:iam::000000000000:role/my-test-aws-role\",\"kind\":\"AwsIntegrationConfig\"},\"environment\":{\"id\":\"env-00000\"}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/pim/v1/integrations/{id}': - get: - x-request-access-name: Provider Integration - operationId: getPimV1Integration - summary: Read an Integration - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Make a request to read an integration. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the integration. - tags: - - Integrations (pim/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Integration. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/pim.v1.Integration' - - type: object - required: - - api_version - - kind - - id - - config - - environment - - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/pim/v1/integrations/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/pim/v1/integrations/{id}?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/pim/v1/integrations/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/pim/v1/integrations/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/pim/v1/integrations/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/pim/v1/integrations/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/pim/v1/integrations/{id}?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - delete: - x-request-access-name: Provider Integration - operationId: deletePimV1Integration - summary: Delete an Integration - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Make a request to delete an integration. - - This request fails if existing workloads are using this CSP integration. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the integration. - tags: - - Integrations (pim/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: An Integration is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/pim/v1/integrations/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/pim/v1/integrations/{id}?environment=env-00000") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/pim/v1/integrations/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/pim/v1/integrations/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/pim/v1/integrations/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/pim/v1/integrations/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/pim/v1/integrations/{id}?environment=env-00000"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); + - $ref: >- + #/components/x-stackQL-resources/integrations_v1/methods/delete_pim_v1_integration + replace: [] + integrations_v2: + id: confluent.provider_integrations.integrations_v2 + name: integrations_v2 + title: Integrations V2 + methods: + list_pim_v2_integrations: + operation: + $ref: '#/paths/~1pim~1v2~1integrations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_pim_v2_integration: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1pim~1v2~1integrations/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_pim_v2_integration: + operation: + $ref: '#/paths/~1pim~1v2~1integrations~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_pim_v2_integration: + operation: + $ref: '#/paths/~1pim~1v2~1integrations~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/integrations_v2/methods/get_pim_v2_integration + - $ref: >- + #/components/x-stackQL-resources/integrations_v2/methods/list_pim_v2_integrations + insert: + - $ref: >- + #/components/x-stackQL-resources/integrations_v2/methods/create_pim_v2_integration + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/integrations_v2/methods/delete_pim_v2_integration + replace: [] + integrations: + id: confluent.provider_integrations.integrations + name: integrations + title: Integrations + methods: + update_pim_v2_integration: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1pim~1v2~1integrations~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + validate_pim_v2_integration: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1pim~1v2~1integrations:validate/post' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: [] + insert: [] + update: + - $ref: >- + #/components/x-stackQL-resources/integrations/methods/update_pim_v2_integration + delete: [] + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/quotas.yaml b/providers/src/confluent/v00.00.00000/services/quotas.yaml index 19828d11..34e018fd 100644 --- a/providers/src/confluent/v00.00.00000/services/quotas.yaml +++ b/providers/src/confluent/v00.00.00000/services/quotas.yaml @@ -1,1207 +1,2858 @@ openapi: 3.0.0 -servers: - - url: 'https://api.confluent.cloud' - description: Confluent Cloud API info: - version: '' - contact: - name: Confluent Cloud - url: 'https://www.confluent.io/cloud-contact-us/' - email: support@confluent.io - x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b - x-audience: external-public - x-logo: - url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' - title: Confluent Cloud APIs - quotas - description: quotas -tags: - - name: API Keys (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. - - The API allows you to list, create, update and delete your API Keys. - - - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - - ## The API Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - - name: Environments (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. - - - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - - ## The Environments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - - name: Organizations (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). - - The API allows you to list, view, and update your organizations. - - - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - - ## The Organizations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + title: quotas API + description: confluent quotas API + version: 1.0.0 +paths: + /service-quota/v1/applied-quotas: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listServiceQuotaV1AppliedQuotas + summary: List of Applied Quotas + description: > + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - - name: Users (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `User` objects represent individuals who may access your Confluent resources. + Retrieve a sorted, filtered, paginated list of all applied quotas. - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. + Shows all quotas for a given scope. + parameters: + - name: scope + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: ORGANIZATION + description: | + The applied scope the quota belongs to. + - name: environment + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: | + The environment ID the quota is associated with. + - name: network + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: n-12034 + description: | + The network ID the quota is associated with. + - name: kafka_cluster + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: lkc-00000 + description: | + The kafka cluster ID the quota is associated with. + - name: id + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: iam.max_environments.per_org + description: | + The id (quota code) that this quota belongs to. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 200 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Applied Quotas (service-quota/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Applied Quota. + content: + application/json: + schema: + type: object + description: >- + A `quota` object represents a quota configuration for a + specific Confluent Cloud resource. - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). + Use this API to retrieve an individual quota or list of quotas + for a given scope. - ## The Users Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - - name: Service Accounts (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [Service Quotas for Confluent + Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. + ## The Applied Quotas Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - service-quota/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - AppliedQuotaList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + A `quota` object represents a quota configuration for a + specific Confluent Cloud resource. - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). + Use this API to retrieve an individual quota or list of + quotas for a given scope. - ## The Service Accounts Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - - name: Invitations (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [Service Quotas for Confluent + Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + ## The Applied Quotas Model + + properties: + api_version: + type: string + enum: + - service-quota/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - AppliedQuota + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + scope: + type: string + description: The applied scope that this quota belongs to. + example: ORGANIZATION + x-extensible-enum: + - ORGANIZATION + - ENVIRONMENT + - NETWORK + - KAFKA_CLUSTER + - SERVICE_ACCOUNT + - USER_ACCOUNT + display_name: + type: string + example: Kafka Cluster Per Organization + description: A human-readable name for the quota type name. + x-immutable: true + default_limit: + type: integer + format: int32 + description: | + The default service quota value. + applied_limit: + type: integer + format: int32 + description: > + The latest applied service quota value, taking into + account any limit adjustments. + usage: + type: integer + description: > + Show the quota usage value if the quota usage is + available for this quota. + format: int32 + user: + description: The user associated with this object. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + organization: + nullable: true + description: >- + A unique organization id to associate a specific + organization to this quota. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + environment: + nullable: true + description: | + The environment ID the quota is associated with. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + network: + nullable: true + description: | + The network ID the quota is associated with. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: >- + Environment of the referred resource, if + env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + kafka_cluster: + nullable: true + description: | + The kafka cluster ID the quota is associated with. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: >- + Environment of the referred resource, if + env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - id + - metadata + - scope + - display_name + - default_limit + - applied_limit + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /service-quota/v1/applied-quotas/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getServiceQuotaV1AppliedQuota + summary: Read an Applied Quota + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). - ## The Invitations Model - + Make a request to read an applied quota. + parameters: + - name: environment + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: | + The environment ID the quota is associated with. + This field is only required when retrieving a single quota and + the scope of quota is "ENVIRONMENT" or "NETWORK" or "KAFKA_CLUSTER". + - name: network + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: n-12034 + description: | + The network ID the quota is associated with. + This field is only required when retrieving a single quota and + the scope of quota is "NETWORK". + - name: kafka_cluster + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: lkc-00000 + description: > + The kafka cluster ID the quota is associated with. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + This field is required only when the scope of quota is + "KAFKA_CLUSTER". + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the applied quota. + tags: + - Applied Quotas (service-quota/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Applied Quota. + content: + application/json: + schema: + type: object + description: >- + A `quota` object represents a quota configuration for a + specific Confluent Cloud resource. - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - - name: IP Groups (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + Use this API to retrieve an individual quota or list of quotas + for a given scope. - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. - ## The IP Groups Model - - - name: IP Filters (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + Related guide: [Service Quotas for Confluent + Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. + ## The Applied Quotas Model - ## The IP Filters Model - - - name: Role Bindings (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + properties: + api_version: + type: string + enum: + - service-quota/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - AppliedQuota + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + scope: + type: string + description: The applied scope that this quota belongs to. + example: ORGANIZATION + x-extensible-enum: + - ORGANIZATION + - ENVIRONMENT + - NETWORK + - KAFKA_CLUSTER + - SERVICE_ACCOUNT + - USER_ACCOUNT + display_name: + type: string + example: Kafka Cluster Per Organization + description: A human-readable name for the quota type name. + x-immutable: true + default_limit: + type: integer + format: int32 + description: | + The default service quota value. + applied_limit: + type: integer + format: int32 + description: > + The latest applied service quota value, taking into + account any limit adjustments. + usage: + type: integer + description: > + Show the quota usage value if the quota usage is available + for this quota. + format: int32 + user: + description: The user associated with this object. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + organization: + nullable: true + description: >- + A unique organization id to associate a specific + organization to this quota. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + environment: + nullable: true + description: | + The environment ID the quota is associated with. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + network: + nullable: true + description: | + The network ID the quota is associated with. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + kafka_cluster: + nullable: true + description: | + The kafka cluster ID the quota is associated with. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - api_version + - kind + - id + - scope + - display_name + - default_limit + - applied_limit + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /service-quota/v1/scopes: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listServiceQuotaV1Scopes + summary: List of Scopes + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - A role binding grants a Principal a role on resources that match a pattern. - The API allows you to perform create, delete, and list operations on role bindings. - - - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). - - ## The Role Bindings Model - - - name: Subscriptions (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. - - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + Retrieve a sorted, filtered, paginated list of all scopes. + parameters: + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 200 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Scopes (service-quota/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Scope. + content: + application/json: + schema: + type: object + description: >- + Gets a list of all available scopes for applied quotas. - ## The Subscriptions Model - - - name: Integrations (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. + Related guide: [Quota + Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - ## The Integrations Model - + ## The Scopes Model - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - service-quota/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ScopeList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + Gets a list of all available scopes for applied quotas. - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - - name: Notification Types (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The type of notifications (and their corresponding metadata) supported by Confluent. + Related guide: [Quota + Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - ## The Notification Types Model - - - name: Clusters (cmk/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Scopes Model - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. + + properties: + api_version: + type: string + enum: + - service-quota/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - Scope + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + description: + type: string + description: the quota scope for listing quotas queries + example: ORGANIZATION scope that quotas would be applied to + required: + - id + - metadata + - description + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /service-quota/v1/scopes/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getServiceQuotaV1Scope + summary: Read a Scope + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to list, create, read, update, and delete your Kafka clusters. + Make a request to read a scope. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the scope. + tags: + - Scopes (service-quota/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Scope. + content: + application/json: + schema: + type: object + description: >- + Gets a list of all available scopes for applied quotas. - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - ## The Clusters Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + Related guide: [Quota + Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - - name: Clusters (ksqldbcm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + ## The Scopes Model + + properties: + api_version: + type: string + enum: + - service-quota/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Scope + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + description: + type: string + description: the quota scope for listing quotas queries + example: ORGANIZATION scope that quotas would be applied to + required: + - api_version + - kind + - id + - description + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /kafka-quotas/v1/client-quotas: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listKafkaQuotasV1ClientQuotas + summary: List of Client Quotas + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - ## The Clusters Model - + Retrieve a sorted, filtered, paginated list of all client quotas. + parameters: + - name: spec.cluster + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: lkc-xxxxx + description: Filter the results by exact match for spec.cluster. + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-xxxxx + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Client Quotas (kafka-quotas/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Client Quota. + content: + application/json: + schema: + type: object + description: >- + `ClientQuota` objects represent Client Quotas you can set at + the service account level. - ## Quotas and Limits - This resource is subject to the following quotas: - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - - name: Connectors (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to list, create, read, update, and delete + your client quotas. - API for Managed Connectors or Custom Connectors in Confluent Cloud. - The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. - Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + Related guide: [Client Quotas in Confluent + Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - name: Lifecycle (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. - - name: Status (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Client Quotas Model - API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. - - name: Managed Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - kafka-quotas/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ClientQuotaList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `ClientQuota` objects represent Client Quotas you can + set at the service account level. - API for Managed connectors in Confluent Cloud. - - name: Offsets (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for managing the offsets for a Managed Connector. + The API allows you to list, create, read, update, and + delete your client quotas. - Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) - - name: Custom Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + Related guide: [Client Quotas in Confluent + Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - ## The Custom Connector Plugins Model - - - name: Presigned Urls (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. + ## The Client Quotas Model - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + + properties: + api_version: + type: string + enum: + - kafka-quotas/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - ClientQuota + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/kafka-quotas.v1.ClientQuotaSpec' + required: + - id + - metadata + - spec + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + requestBody: + required: true + content: + application/json: + schema: + example: + spec: + display_name: QuotaForSA1 + description: >- + This quota defines limits on how much the target principals + can use cluster lkc-xxxxx + throughput: + ingress_byte_rate: '5' + egress_byte_rate: '5' + cluster: + id: lkc-xxxxx + principals: + - id: sa-xxxxx + environment: + id: env-xxxxx + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createKafkaQuotasV1ClientQuota + summary: Create a Client Quota + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Presigned Urls Model - - - name: Cluster (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Configs (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: ACL (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Consumer Group (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Partition (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Topic (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Records (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Cluster Linking (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Applied Quotas (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to create a client quota. + tags: + - Client Quotas (kafka-quotas/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '202': + description: A Client Quota is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id} + description: ClientQuota resource uri + content: + application/json: + schema: + type: object + description: >- + `ClientQuota` objects represent Client Quotas you can set at + the service account level. - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. + The API allows you to list, create, read, update, and delete + your client quotas. - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - ## The Applied Quotas Model - - - name: Scopes (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Gets a list of all available scopes for applied quotas. + Related guide: [Client Quotas in Confluent + Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + ## The Client Quotas Model - ## The Scopes Model - - - name: Entitlements (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Entitlement` objects represent metadata about a marketplace entitlement. - - An entitlement includes metadata about a marketplace purchase - (start date, end date, billing information, partner IDs, etc). - The API allows partners to create, read, and list entitlements. (Unless you - need entitlement creation and customer registration to be separate, - we recommend using the Signup API to create an organization and entitlement - at the same time) - - The API only allows authorized partners to interact with the Entitlements API. - - name: Regions (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. - - - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Regions Model - - - name: Clusters (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list, create, read, and delete your Schema Registry clusters. - - - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Clusters Model - - - name: Clusters (srcm/v3) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list and read your Schema Registry clusters. - - - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - - ## The Clusters Model - - - name: Compatibility (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to test schema compatibility. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Config (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to manage and query schema compatibility settings and cluster configurations. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Contexts (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to retrieve information about schema contexts. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Exporters (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete exporters. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Modes (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects modes of operation. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Schemas (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + properties: + api_version: + type: string + enum: + - kafka-quotas/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ClientQuota + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/kafka-quotas.v1.ClientQuotaSpec' + required: + - spec + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /kafka-quotas/v1/client-quotas/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getKafkaQuotasV1ClientQuota + summary: Read a Client Quota + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete schemas. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Subjects (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to read a client quota. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the client quota. + tags: + - Client Quotas (kafka-quotas/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Client Quota. + content: + application/json: + schema: + type: object + description: >- + `ClientQuota` objects represent Client Quotas you can set at + the service account level. - The API allows you to create, retrieve, update, and delete schema subjects and versions. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Key Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to list, create, read, update, and delete + your client quotas. - The API allows you to create, retrieve, update, and delete key encryption keys. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Data Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete data encryption keys. + Related guide: [Client Quotas in Confluent + Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Entity (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete catalog entities. + ## The Client Quotas Model - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Search (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + properties: + api_version: + type: string + enum: + - kafka-quotas/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ClientQuota + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/kafka-quotas.v1.ClientQuotaSpec' + required: + - api_version + - kind + - id + - spec + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateKafkaQuotasV1ClientQuota + summary: Update a Client Quota + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to search for entities. - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Types (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to update a client quota. - The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the client quota. + tags: + - Client Quotas (kafka-quotas/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `ClientQuota` objects represent Client Quotas you can set at the + service account level. + + + The API allows you to list, create, read, update, and delete + your client quotas. + + + + Related guide: [Client Quotas in Confluent + Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + + ## The Client Quotas Model + + + properties: + api_version: + type: string + enum: + - kafka-quotas/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ClientQuota + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/kafka-quotas.v1.ClientQuotaSpec' + required: + - spec + responses: + '200': + description: Client Quota. + content: + application/json: + schema: + type: object + description: >- + `ClientQuota` objects represent Client Quotas you can set at + the service account level. - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Provider Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + The API allows you to list, create, read, update, and delete + your client quotas. - ## The Provider Shared Resources Model - - - name: Provider Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `ProviderShare` object respresents the share that you have created through Stream Sharing. + Related guide: [Client Quotas in Confluent + Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + ## The Client Quotas Model - ## The Provider Shares Model - - - name: Consumer Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + properties: + api_version: + type: string + enum: + - kafka-quotas/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ClientQuota + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/kafka-quotas.v1.ClientQuotaSpec' + required: + - api_version + - kind + - id + - spec + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteKafkaQuotasV1ClientQuota + summary: Delete a Client Quota + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + Make a request to delete a client quota. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the client quota. + tags: + - Client Quotas (kafka-quotas/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Client Quota is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + service-quota.v1.AppliedQuotaList: + type: object + description: >- + A `quota` object represents a quota configuration for a specific + Confluent Cloud resource. - ## The Consumer Shared Resources Model - - - name: Consumer Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Use this API to retrieve an individual quota or list of quotas for a + given scope. - `ConsumerShare` object respresents the share that you received through Stream Sharing. - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + Related guide: [Service Quotas for Confluent + Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - ## The Consumer Shares Model - - - name: Shared Tokens (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Encrypted Token shared with consumer + ## The Applied Quotas Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - service-quota/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - AppliedQuotaList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + A `quota` object represents a quota configuration for a specific + Confluent Cloud resource. - ## The Shared Tokens Model - - - name: Opt Ins (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Use this API to retrieve an individual quota or list of quotas for + a given scope. - Stream sharing opt in options - ## The Opt Ins Model - - - name: Organizations (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - `Organizations` objects represent an entire Confluent Cloud organization. - Partners are allowed to get an organization they have signed up or - list all organizations they have signed up. - - name: Signup (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + Related guide: [Service Quotas for Confluent + Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - `Signup` APIs can only be performed by partners. - - name: Networks (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. + ## The Applied Quotas Model - The API allows you to list, create, read, update, and delete your networks. - - - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - - ## The Networks Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - - name: Peerings (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - - - ## The Peerings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - - name: Transit Gateway Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AWS Transit Gateway Attachments - - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - - ## The Transit Gateway Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - - name: Private Link Accesses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. - - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). - - - ## The Private Link Accesses Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - - name: Network Link Services (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Services Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - - name: Network Link Endpoints (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Endpoints Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - - name: Network Link Service Associations (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - List of incoming Network Link Enpoints associated with the Network Link Service. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Service Associations Model - - - name: Gateways (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A gateway is a resource that defines network access to Confluent cloud resources. - - - ## The Gateways Model - - - name: IP Addresses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - IP Addresses - - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) - - ## The IP Addresses Model - - - name: Private Link Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. - - - ## The Private Link Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - - name: Private Link Attachment Connections (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. - - - ## The Private Link Attachment Connections Model - - - name: Identity Providers (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Identity Provider. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Identity Providers Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - - name: Jwks (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. - - The API allows you to refresh JWKS public key data. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Jwks Model - - - name: Identity Pools (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. - - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. - - - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). - - ## The Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - - name: OAuth Tokens (sts/v1) - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of - external identities to access Confluent Cloud APIs - - name: Client Quotas (kafka-quotas/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ClientQuota` objects represent Client Quotas you can set at the service account level. - - The API allows you to list, create, read, update, and delete your client quotas. - - - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - - ## The Client Quotas Model - - - name: Pipelines (sd/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. - - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. - - - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). - - ## The Pipelines Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - - name: Keys (byok/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. - - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. - - - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). - - ## The Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - - name: Costs (billing/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cost` objects represent the aggregated billing costs for an organization - - - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). - - ## The Costs Model - - - name: Group Mappings (iam/v2/sso) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. - - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. - - - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). - - ## The Group Mappings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - - name: Compute Pools (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. - - - ## The Compute Pools Model - - - name: Regions (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. - - - ## The Regions Model - - - name: Statements (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - - name: Statement Results (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementResult` represents a result of a `Statement` resource. - The API allows you to read your statement's results. - ## The Statement Results Model - - - name: Statement Exceptions (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementException` represents an exception of a `Statement` resource. - The API allows you to read your statement's exceptions. - ## The Statement Exceptions Model - - - name: Connections (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Connection` represents a core resource used to model SQL connections for execution. - A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - - name: DNS Forwarders (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add, remove, and update DNS forwarder for your gateway. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - - - ## The DNS Forwarders Model - - - name: Access Points (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. - - - ## The Access Points Model - - - name: DNS Records (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - - ## The DNS Records Model - - - name: Certificate Authorities (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Certificate Authority. - - - Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). - - ## The Certificate Authorities Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `certificate_authorities_per_org` | Number of certificate authorities per organization | - - name: Certificate Identity Pools (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Identitypool` objects represent workload identities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities - - - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). - - ## The Certificate Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - - name: Integrations (pim/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). - - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. - - - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). - - ## The Integrations Model - - - name: Flink Artifacts (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. - - - ## The Flink Artifacts Model - - - name: Presigned Urls (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - - ## The Presigned Urls Model - - - name: Flink Artifact Versions (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. - - - ## The Flink Artifact Versions Model - -components: - schemas: - SearchFilter: - description: Filter a collection by a string search - type: string - service-quota.v1.AppliedQuotaList: - type: object - description: |- - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. - - - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - - ## The Applied Quotas Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - service-quota/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - AppliedQuotaList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/service-quota/v1/applied-quotas' - last: - example: 'https://api.confluent.cloud/service-quota/v1/applied-quotas?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/service-quota/v1/applied-quotas?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/service-quota/v1/applied-quotas?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/service-quota.v1.AppliedQuota' - - type: object + + properties: + api_version: + type: string + enum: + - service-quota/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - AppliedQuota + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + scope: + type: string + description: The applied scope that this quota belongs to. + example: ORGANIZATION + x-extensible-enum: + - ORGANIZATION + - ENVIRONMENT + - NETWORK + - KAFKA_CLUSTER + - SERVICE_ACCOUNT + - USER_ACCOUNT + display_name: + type: string + example: Kafka Cluster Per Organization + description: A human-readable name for the quota type name. + x-immutable: true + default_limit: + type: integer + format: int32 + description: | + The default service quota value. + applied_limit: + type: integer + format: int32 + description: > + The latest applied service quota value, taking into account + any limit adjustments. + usage: + type: integer + description: > + Show the quota usage value if the quota usage is available for + this quota. + format: int32 + user: + description: The user associated with this object. + x-immutable: true + type: object required: - id - - metadata - - scope - - display_name - - default_limit - - applied_limit + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + organization: + nullable: true + description: >- + A unique organization id to associate a specific organization + to this quota. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + environment: + nullable: true + description: | + The environment ID the quota is associated with. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + network: + nullable: true + description: | + The network ID the quota is associated with. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + kafka_cluster: + nullable: true + description: | + The kafka cluster ID the quota is associated with. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - id + - metadata + - scope + - display_name + - default_limit + - applied_limit uniqueItems: true - ListMeta: - type: object - description: ListMeta describes metadata that resource collections may have - properties: - first: - description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds' - last: - description: 'A link to the last page of results. If a response does not contain a last link, then direct navigation to the last page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT' - prev: - description: 'A link to the previous page of results. If a response does not contain a prev link, then either there is no previous data or backwards traversal through the result set is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld' - next: - description: 'A link to the next page of results. If a response does not contain a next link, then there is no more data available.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb' - total_size: - description: Number of records in the full result set. This response may be paginated and have a smaller number of records. - type: integer - format: int32 - minimum: 0 - example: 123 service-quota.v1.AppliedQuota: type: object - description: |- - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. + description: >- + A `quota` object represents a quota configuration for a specific + Confluent Cloud resource. + + Use this API to retrieve an individual quota or list of quotas for a + given scope. + + + Related guide: [Service Quotas for Confluent + Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). ## The Applied Quotas Model - + + properties: api_version: type: string enum: - service-quota/v1 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string @@ -1210,19 +2861,69 @@ components: enum: - AppliedQuota id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). type: string maxLength: 255 readOnly: true example: dlz-f3a90de metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/service-quota/v1/applied-quotas/aq-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/applied-quota=aq-12345' + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object scope: type: string description: The applied scope that this quota belongs to. @@ -1247,334 +2948,880 @@ components: applied_limit: type: integer format: int32 - description: | - The latest applied service quota value, taking into account any limit adjustments. + description: > + The latest applied service quota value, taking into account any + limit adjustments. usage: type: integer - description: | - Show the quota usage value if the quota usage is available for this quota. + description: > + Show the quota usage value if the quota usage is available for this + quota. format: int32 user: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' description: The user associated with this object. x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true organization: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' nullable: true - description: A unique organization id to associate a specific organization to this quota. + description: >- + A unique organization id to associate a specific organization to + this quota. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true environment: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' nullable: true description: | The environment ID the quota is associated with. x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true network: - allOf: - - $ref: '#/components/schemas/EnvScopedObjectReference' nullable: true description: | The network ID the quota is associated with. x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true kafka_cluster: - allOf: - - $ref: '#/components/schemas/EnvScopedObjectReference' nullable: true description: | The kafka cluster ID the quota is associated with. x-immutable: true - AclOperation: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - AclPatternType: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - MATCH - - LITERAL - - PREFIXED - AclPermission: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - DENY - - ALLOW - AclResourceType: - type: string - enum: - - UNKNOWN - - ANY - - TOPIC - - GROUP - - CLUSTER - - TRANSACTIONAL_ID - - DELEGATION_TOKEN - BrokerTaskType: - type: string - enum: - - add-broker - - remove-broker - MirrorTopicStatus: - enum: - - ACTIVE - - FAILED - - LINK_FAILED - - LINK_PAUSED - - PAUSED - - PENDING_STOPPED - - SOURCE_UNAVAILABLE - - STOPPED - - PENDING_MIRROR - - PENDING_SYNCHRONIZE - - PENDING_SETUP_FOR_RESTORE - - PENDING_RESTORE - type: string - Failure: - type: object - description: Provides information about problems encountered while performing an operation. - required: - - errors - properties: - errors: - description: List of errors which caused this operation to fail - type: array - items: - $ref: '#/components/schemas/Error' - uniqueItems: true - AlterConfigBatchRequestData: + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + service-quota.v1.ScopeList: type: object + description: >- + Gets a list of all available scopes for applied quotas. + + + + Related guide: [Quota + Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + + ## The Scopes Model + + required: + - api_version + - kind + - metadata - data properties: + api_version: + type: string + enum: + - service-quota/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ScopeList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 data: type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. items: type: object - required: - - name + description: >- + Gets a list of all available scopes for applied quotas. + + + + Related guide: [Quota + Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + + ## The Scopes Model + + properties: - name: + api_version: type: string - value: + enum: + - service-quota/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: type: string - nullable: true - operation: + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Scope + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). type: string - x-extensible-enum: - - SET - - DELETE - nullable: true - validate_only: - type: boolean - CreateAclRequestData: + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + description: + type: string + description: the quota scope for listing quotas queries + example: ORGANIZATION scope that quotas would be applied to + required: + - id + - metadata + - description + uniqueItems: true + service-quota.v1.Scope: type: object - required: - - resource_type - - resource_name - - pattern_type - - principal - - host - - operation - - permission + description: >- + Gets a list of all available scopes for applied quotas. + + + + Related guide: [Quota + Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + + ## The Scopes Model + + properties: - resource_type: - $ref: '#/components/schemas/AclResourceType' - resource_name: + api_version: type: string - pattern_type: - $ref: '#/components/schemas/AclPatternType' - principal: + enum: + - service-quota/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: type: string - host: + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Scope + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). type: string - operation: - $ref: '#/components/schemas/AclOperation' - permission: - $ref: '#/components/schemas/AclPermission' - CreateAclRequestDataList: - allOf: - - type: object + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. required: - - data + - self properties: - data: - type: array - items: - $ref: '#/components/schemas/CreateAclRequestData' - CreateTopicRequestData: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + description: + type: string + description: the quota scope for listing quotas queries + example: ORGANIZATION scope that quotas would be applied to + kafka-quotas.v1.ClientQuotaList: type: object + description: >- + `ClientQuota` objects represent Client Quotas you can set at the service + account level. + + + The API allows you to list, create, read, update, and delete your client + quotas. + + + + Related guide: [Client Quotas in Confluent + Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + + ## The Client Quotas Model + + required: - - topic_name + - api_version + - kind + - metadata + - data properties: - topic_name: + api_version: type: string - partitions_count: - type: integer - replication_factor: - type: integer - configs: + enum: + - kafka-quotas/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ClientQuotaList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. items: type: object - required: - - name + description: >- + `ClientQuota` objects represent Client Quotas you can set at the + service account level. + + + The API allows you to list, create, read, update, and delete your + client quotas. + + + + Related guide: [Client Quotas in Confluent + Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + + ## The Client Quotas Model + + properties: - name: + api_version: type: string - value: + enum: + - kafka-quotas/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: type: string - nullable: true - validate_only: - type: boolean - ProduceRequest: + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ClientQuota + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/kafka-quotas.v1.ClientQuotaSpec' + required: + - id + - metadata + - spec + uniqueItems: true + kafka-quotas.v1.ClientQuota: type: object + description: >- + `ClientQuota` objects represent Client Quotas you can set at the service + account level. + + + The API allows you to list, create, read, update, and delete your client + quotas. + + + + Related guide: [Client Quotas in Confluent + Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). + + + ## The Client Quotas Model + + properties: - partition_id: - type: integer - nullable: true - format: int32 - headers: - type: array - items: - $ref: '#/components/schemas/ProduceRequestHeader' - key: - $ref: '#/components/schemas/ProduceRequestData' - value: - $ref: '#/components/schemas/ProduceRequestData' - timestamp: + api_version: type: string - format: date-time - nullable: true - UpdateConfigRequestData: + enum: + - kafka-quotas/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ClientQuota + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/kafka-quotas.v1.ClientQuotaSpec' + ListMeta: type: object + description: ListMeta describes metadata that resource collections may have properties: - value: + first: + description: >- + A link to the first page of results. If a response does not contain + a first link, then direct navigation to the first page is not + supported. type: string + format: uri nullable: true - CreateLinkRequestData: - properties: - source_cluster_id: - type: string - destination_cluster_id: + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not contain a + last link, then direct navigation to the last page is not supported. type: string - remote_cluster_id: - description: The expected remote cluster ID. + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. type: string - cluster_link_id: - description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not contain a + next link, then there is no more data available. type: string - configs: - items: - $ref: '#/components/schemas/ConfigData' - type: array + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + Failure: type: object - UpdateLinkConfigRequestData: - properties: - value: - type: string + description: >- + Provides information about problems encountered while performing an + operation. required: - - value - type: object - CreateMirrorTopicRequestData: + - errors properties: - source_topic_name: - type: string - mirror_topic_name: - type: string - replication_factor: - type: integer - configs: + errors: + description: List of errors which caused this operation to fail type: array items: - $ref: '#/components/schemas/ConfigData' - required: - - source_topic_name - type: object - AlterMirrorsRequestData: - properties: - mirror_topic_names: - description: The mirror topics specified as a list of topic names. - type: array - items: - type: string - mirror_topic_name_pattern: - description: The mirror topics specified as a pattern. - type: string - type: object - RemoveBrokersRequestData: - properties: - broker_ids: - type: array - items: - type: integer - required: - - broker_ids - type: object - BrokerReplicaExclusionBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' + $ref: '#/components/schemas/Error' + uniqueItems: true ObjectMeta: - description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. required: - self properties: self: - description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time type: string format: uri readOnly: true - example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de resource_name: - description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name type: string format: uri readOnly: true - example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + example: crn://confluent.cloud/kafka=lkc-f3a90de created_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. updated_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. deleted_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was (or will be) deleted. It + is represented in RFC3339 format and is in UTC. readOnly: true + type: object GlobalObjectReference: type: object - description: ObjectReference provides information for you to locate the referred object + description: >- + ObjectReference provides information for you to locate the referred + object required: - id - related @@ -1599,7 +3846,9 @@ components: readOnly: true EnvScopedObjectReference: type: object - description: ObjectReference provides information for you to locate the referred object + description: >- + ObjectReference provides information for you to locate the referred + object required: - id - related @@ -1612,7 +3861,7 @@ components: maxLength: 255 environment: type: string - description: 'Environment of the referred resource, if env-scoped' + description: Environment of the referred resource, if env-scoped minLength: 1 maxLength: 255 related: @@ -1627,6 +3876,116 @@ components: description: CRN reference to the referred resource minLength: 1 readOnly: true + kafka-quotas.v1.ClientQuotaSpec: + type: object + description: The desired state of the Client Quota + properties: + display_name: + type: string + description: The name of the client quota. + example: QuotaForSA1 + description: + type: string + example: >- + This quota defines limits on how much the target principals can use + cluster lkc-xxxxx + description: A human readable description for the client quota. + throughput: + type: object + description: Throughput for the client quota. + required: + - ingress_byte_rate + - egress_byte_rate + properties: + ingress_byte_rate: + type: string + format: int64 + example: '5' + description: >- + Ingress throughput limit for principals specified in bytes per + second. + egress_byte_rate: + type: string + format: int64 + example: '5' + description: >- + Egress throughput limit for principals specified in bytes per + second. + cluster: + description: > + The ID of the Dedicated Kafka cluster where the client quota is + applied. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + principals: + type: array + items: + $ref: '#/components/schemas/GlobalObjectReference' + description: > + A list of principals to apply a client quota to. + + Use `""` to apply a client quota to all service accounts + + (see [Control application usage with Client + Quotas](https://docs.confluent.io/cloud/current/clusters/client-quotas.html#control-application-usage-with-client-quotas) + for more details). + minItems: 1 + environment: + description: The environment to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true Error: type: object description: Describes a particular error encountered while performing an operation. @@ -1636,23 +3995,36 @@ components: type: string maxLength: 255 status: - description: 'The HTTP status code applicable to this problem, expressed as a string value.' + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. type: string code: - description: 'An application-specific error code, expressed as a string value.' + description: An application-specific error code, expressed as a string value. type: string title: - description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. type: string detail: - description: A human-readable explanation specific to this occurrence of the problem. + description: >- + A human-readable explanation specific to this occurrence of the + problem. type: string source: type: object - description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. properties: pointer: - description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. type: string parameter: description: A string indicating which query parameter caused the error. @@ -1664,291 +4036,6 @@ components: type: string nullable: true additionalProperties: false - ProduceRequestHeader: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - format: byte - nullable: true - ProduceRequestData: - type: object - properties: - type: - type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - data: - $ref: '#/components/schemas/AnyValue' - nullable: true - ConfigData: - example: - name: name - value: value - properties: - name: - type: string - value: - nullable: true - type: string - required: - - name - - value - BrokerReplicaExclusionRequestData: - type: object - required: - - broker_id - - reason - properties: - broker_id: - type: integer - reason: - type: string - AnyValue: - nullable: true - service-quota.v1.ScopeList: - type: object - description: |- - Gets a list of all available scopes for applied quotas. - - - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). - - ## The Scopes Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - service-quota/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - ScopeList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/service-quota/v1/scopes' - last: - example: 'https://api.confluent.cloud/service-quota/v1/scopes?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/service-quota/v1/scopes?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/service-quota/v1/scopes?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/service-quota.v1.Scope' - - type: object - required: - - id - - metadata - - description - uniqueItems: true - service-quota.v1.Scope: - type: object - description: |- - Gets a list of all available scopes for applied quotas. - - - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). - - ## The Scopes Model - - properties: - api_version: - type: string - enum: - - service-quota/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Scope - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/service-quota/v1/scopes/s-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/scope=s-12345' - description: - type: string - description: the quota scope for listing quotas queries - example: ORGANIZATION scope that quotas would be applied to - kafka-quotas.v1.ClientQuotaList: - type: object - description: |- - `ClientQuota` objects represent Client Quotas you can set at the service account level. - - The API allows you to list, create, read, update, and delete your client quotas. - - - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - - ## The Client Quotas Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - kafka-quotas/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - ClientQuotaList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/kafka-quotas/v1/client-quotas' - last: - example: 'https://api.confluent.cloud/kafka-quotas/v1/client-quotas?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/kafka-quotas/v1/client-quotas?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/kafka-quotas/v1/client-quotas?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/kafka-quotas.v1.ClientQuota' - - type: object - required: - - id - - metadata - - spec - properties: - spec: - type: object - required: - - display_name - - throughput - - cluster - - principals - - environment - uniqueItems: true - kafka-quotas.v1.ClientQuota: - type: object - description: |- - `ClientQuota` objects represent Client Quotas you can set at the service account level. - - The API allows you to list, create, read, update, and delete your client quotas. - - - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - - ## The Client Quotas Model - - properties: - api_version: - type: string - enum: - - kafka-quotas/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - ClientQuota - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/kafka-quotas/v1/client-quotas/cq-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/client-quota=cq-12345' - spec: - $ref: '#/components/schemas/kafka-quotas.v1.ClientQuotaSpec' - kafka-quotas.v1.ClientQuotaSpec: - type: object - description: The desired state of the Client Quota - properties: - display_name: - type: string - description: The name of the client quota. - example: QuotaForSA1 - description: - type: string - example: This quota defines limits on how much the target principals can use cluster lkc-xxxxx - description: A human readable description for the client quota. - throughput: - type: object - description: Throughput for the client quota. - allOf: - - $ref: '#/components/schemas/kafka-quotas.v1.Throughput' - cluster: - allOf: - - $ref: '#/components/schemas/EnvScopedObjectReference' - description: | - The ID of the Dedicated Kafka cluster where the client quota is applied. - x-immutable: true - principals: - type: array - items: - $ref: '#/components/schemas/GlobalObjectReference' - description: | - A list of principals to apply a client quota to. - Use `""` to apply a client quota to all service accounts - (see [Control application usage with Client Quotas](https://docs.confluent.io/cloud/current/clusters/client-quotas.html#control-application-usage-with-client-quotas) for more details). - minItems: 1 - environment: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' - description: The environment to which this belongs. - x-immutable: true - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true kafka-quotas.v1.Throughput: description: Quotas on maximum throughput required: @@ -1959,327 +4046,17 @@ components: type: string format: int64 example: '5' - description: Ingress throughput limit for principals specified in bytes per second. + description: >- + Ingress throughput limit for principals specified in bytes per + second. egress_byte_rate: type: string format: int64 example: '5' - description: Egress throughput limit for principals specified in bytes per second. - kafka-quotas.v1.ClientQuotaUpdate: + description: >- + Egress throughput limit for principals specified in bytes per + second. type: object - description: |- - `ClientQuota` objects represent Client Quotas you can set at the service account level. - - The API allows you to list, create, read, update, and delete your client quotas. - - - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - - ## The Client Quotas Model - - properties: - api_version: - type: string - enum: - - kafka-quotas/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - ClientQuota - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/kafka-quotas/v1/client-quotas/cq-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/client-quota=cq-12345' - spec: - $ref: '#/components/schemas/kafka-quotas.v1.ClientQuotaSpecUpdate' - kafka-quotas.v1.ClientQuotaSpecUpdate: - type: object - description: The desired state of the Client Quota - properties: - display_name: - type: string - description: The name of the client quota. - example: QuotaForSA1 - description: - type: string - example: This quota defines limits on how much the target principals can use cluster lkc-xxxxx - description: A human readable description for the client quota. - throughput: - type: object - description: Throughput for the client quota. - allOf: - - $ref: '#/components/schemas/kafka-quotas.v1.Throughput' - principals: - type: array - items: - $ref: '#/components/schemas/GlobalObjectReference' - description: | - A list of principals to apply a client quota to. - Use `""` to apply a client quota to all service accounts - (see [Control application usage with Client Quotas](https://docs.confluent.io/cloud/current/clusters/client-quotas.html#control-application-usage-with-client-quotas) for more details). - minItems: 1 - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - parameters: - AclHost: - name: host - description: The ACL host. - in: query - required: false - schema: - type: string - AclOperation: - name: operation - description: The ACL operation. - in: query - required: false - schema: - $ref: '#/components/schemas/AclOperation' - AclOperationRequired: - name: operation - description: The ACL operation. - in: query - required: true - schema: - $ref: '#/components/schemas/AclOperation' - AclPatternType: - name: pattern_type - description: The ACL pattern type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPatternType' - AclPatternTypeRequired: - name: pattern_type - description: The ACL pattern type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPatternType' - AclPermission: - name: permission - description: The ACL permission. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPermission' - AclPermissionRequired: - name: permission - description: The ACL permission. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPermission' - AclPrincipal: - name: principal - description: The ACL principal. This is the Service Account name or user name. - in: query - required: false - schema: - type: string - AclResourceName: - name: resource_name - description: The ACL resource name. - in: query - required: false - schema: - type: string - AclResourceType: - name: resource_type - description: The ACL resource type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclResourceType' - AclResourceTypeRequired: - name: resource_type - description: The ACL resource type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclResourceType' - BrokerId: - name: broker_id - description: The Kafka broker ID. - in: path - required: true - schema: - type: integer - example: 1 - ClusterId: - name: cluster_id - description: The Kafka cluster ID. - in: path - required: true - schema: - type: string - example: cluster-1 - ConfigName: - name: name - description: The configuration parameter name. - in: path - required: true - schema: - type: string - example: compression.type - ConsumerGroupId: - name: consumer_group_id - description: The consumer group ID. - in: path - required: true - schema: - type: string - example: consumer-group-1 - ConsumerId: - name: consumer_id - description: The consumer ID. - in: path - required: true - schema: - type: string - example: consumer-1 - IncludeAuthorizedOperations: - name: include_authorized_operations - description: Specify if authorized operations should be included in the response. - in: query - required: false - schema: - type: boolean - PartitionId: - name: partition_id - description: The partition ID. - in: path - required: true - schema: - type: integer - example: 0 - TopicName: - name: topic_name - description: The topic name. - in: path - required: true - schema: - type: string - example: topic-1 - BrokerTaskType: - name: task_type - description: The Kafka broker task type. - in: path - required: true - schema: - $ref: '#/components/schemas/BrokerTaskType' - example: remove-broker - ShouldShutdown: - name: should_shutdown - description: 'To shutdown the broker or not, Default: true' - in: query - required: false - schema: - type: boolean - example: true - ValidateOnly: - name: validate_only - description: 'To validate the action can be performed successfully or not. Default: false' - in: query - required: false - schema: - type: boolean - example: false - ValidateLink: - name: validate_link - description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' - in: query - required: false - schema: - type: boolean - example: false - IncludeTasks: - name: include_tasks - description: 'Whether to include cluster linking tasks in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludeStateTransitionErrors: - name: include_state_transition_errors - description: 'Whether to include mirror state transition errors in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - Force: - name: force - description: 'Force the action. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludePartitionLevelTruncationData: - name: include_partition_level_truncation_data - description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - LinkName: - name: link_name - description: The link name - in: path - required: true - schema: - type: string - example: link-sb1 - LinkConfigName: - name: config_name - description: The link config name - in: path - required: true - schema: - type: string - example: consumer.offset.sync.enable - MirrorTopicStatus: - name: mirror_status - description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' - in: query - required: false - schema: - $ref: '#/components/schemas/MirrorTopicStatus' - example: ACTIVE - MirrorTopicName: - name: mirror_topic_name - description: Cluster Linking mirror topic name - in: path - required: true - schema: - type: string - example: topic-1 - QueryParamLinkName: - name: link_name - description: The link name - in: query - required: true - schema: - type: string - example: link-sb1 responses: BadRequestError: description: Bad Request @@ -2313,7 +4090,9 @@ components: schema: type: string description: The unique identifier for the API request. - example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + example: >- + Basic error="invalid_key", error_description="The API Key is + invalid" content: application/json: schema: @@ -2343,7 +4122,9 @@ components: status: '403' code: user_unauthorized title: User Access Unauthorized - detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + detail: >- + The user 'mcfly' is not allowed to access the 'delorean' + resource without the 'plutonium' role. RateLimitError: description: Rate Limit Exceeded headers: @@ -2354,7 +4135,9 @@ components: X-RateLimit-Limit: schema: type: integer - description: The maximum number of requests you're permitted to make per time period. + description: >- + The maximum number of requests you're permitted to make per time + period. X-RateLimit-Remaining: schema: type: integer @@ -2362,16 +4145,21 @@ components: X-RateLimit-Reset: schema: type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. + description: >- + The relative time in seconds until the current rate-limit window + resets. - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. Retry-After: schema: type: integer - description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. DefaultSystemError: - description: 'Oops, something went wrong!' + description: Oops, something went wrong! headers: X-Request-Id: schema: @@ -2387,7 +4175,9 @@ components: status: '500' code: out_of_gas title: DeLorean Out Of Gas - detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap NotFoundError: description: Not Found headers: @@ -2416,7 +4206,7 @@ components: schema: type: string format: uri - example: 'https://api.confluent.cloud/{object}/{id}' + example: https://api.confluent.cloud/{object}/{id} description: Resource URI of conflicting resource content: application/json: @@ -2428,7 +4218,9 @@ components: status: '409' code: resource_already_exists title: Resource Already exists - detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + detail: >- + The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already + exists. ValidationError: description: Validation Failed headers: @@ -2446,607 +4238,340 @@ components: code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - securitySchemes: - cloud-api-key: - type: http - scheme: basic - description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. - confluent-sts-access-token: - type: oauth2 - description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' - scopes: {} - api-key: - type: http - scheme: basic - description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. - resource-api-key: - type: http - scheme: basic - description: | - Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID - as the username and resource-specific API Key Secret as the password. - external-access-token: - type: oauth2 - description: Authenticate with OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https:///token' - scopes: {} - oauth: - type: oauth2 - description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. - flows: - clientCredentials: - tokenUrl: /oauth2/token - scopes: - 'partner:alter': enables partners to alter entitlements - 'partner:create': enables partners to create entitlements and signup on behalf of customers - 'partner:delete': enables partners to delete entitlements and organizations - 'partner:describe': enables partners to read and list entitlements and organizations - requestBodies: - AlterBrokerConfigBatchRequest: - description: The alter broker configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterClusterConfigBatchRequest: - description: The alter cluster configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterTopicConfigBatchRequest: - description: The alter topic configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - examples: - batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only_batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only: true - CreateAclRequest: - description: The ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestData' - example: - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - BatchCreateAclRequest: - description: The batch ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestDataList' - example: - data: - - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - - resource_type: TOPIC - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: READ - permission: ALLOW - CreateTopicRequest: - description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTopicRequestData' - examples: - uniform_replication: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - configs: - - name: cleanup.policy - value: compact - - name: compression.type - value: gzip - dry_run_create_topic: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - validate_only: true - ProduceRequest: - description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' - content: - application/json: - schema: - $ref: '#/components/schemas/ProduceRequest' - examples: - binary_and_json: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - partition_id: 1 - headers: - - name: Header-1 - value: SGVhZGVyLTE= - - name: Header-2 - value: SGVhZGVyLTI= - key: - type: BINARY - data: Zm9vYmFy - value: - type: JSON - data: - foo: bar - timestamp: '2021-02-05T19:14:42Z' - string: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - value: - type: STRING - data: My message - empty_value: - description: key or value can be omitted entirely. - value: - key: - data: 1000 - UpdateBrokerConfigRequest: - description: The broker configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateClusterConfigRequest: - description: The cluster configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateTopicConfigRequest: - description: The topic configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - CreateLinkRequest: - description: Create a cluster link - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLinkRequestData' - examples: - destination_initiated_link: - description: Create a destination initiated cluster link - value: - source_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: acl.sync.enable - value: 'false' - - name: consumer.offset.sync.ms - value: '30000' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_source_cluster: - description: Create a source initiated cluster link at source cluster - value: - destination_cluster_id: cluster-2 - configs: - - name: bootstrap.servers - value: cluster-2-bootstrap-server - - name: link.mode - value: SOURCE - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_destination_cluster: - description: Create a source initiated cluster link at destination cluster - value: - destination_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: link.mode - value: DESTINATION - - name: connection.mode - value: INBOUND - - name: acl.sync.enable - value: 'false' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_east: - description: Create a bidirectional cluster link in east - value: - remote_cluster_id: cluster-west - configs: - - name: bootstrap.servers - value: cluster-west-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: west. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_west: - description: Create a bidirectional cluster link in west - value: - remote_cluster_id: cluster-east - cluster_link_id: eEBkTffYSESld6EO898x3w - configs: - - name: bootstrap.servers - value: cluster-east-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: east. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - UpdateLinkConfigRequest: - content: - application/json: - example: - value: '300000' - schema: - $ref: '#/components/schemas/UpdateLinkConfigRequestData' - description: Link config value to update - AlterLinkConfigBatchRequest: - content: - application/json: - example: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - CreateMirrorTopicRequest: - description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateMirrorTopicRequestData' - examples: - generic_example: - description: Generic example of creating a mirror topic - value: - source_topic_name: topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 1 - example_with_mirror_topic_name: - description: Example using optional mirror_topic_name flag - value: - source_topic_name: topic-1 - mirror_topic_name: link1_topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 3 - AlterMirrorsRequest: - description: Mirror topics to be altered. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterMirrorsRequestData' - examples: - mirror_topic_names: - description: Example using mirror topic names - value: - mirror_topic_names: - - topic-1 - - topic-2 - mirror_topic_name_pattern: - description: Example using mirror topic name pattern - value: - mirror_topic_name_pattern: .* - RemoveBrokersRequest: - content: - application/json: - example: - broker_ids: - - 1 - - 2 - - 3 - schema: - $ref: '#/components/schemas/RemoveBrokersRequestData' - description: Broker ids to remove - BrokerReplicaExclusionBatchRequest: - description: Alter Broker Replica Exclusions. - content: - application/json: - schema: - $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' - example: - data: - - broker_id: 1 - reason: The broker is to be removed. - - broker_id: 2 - reason: The broker is to be removed. x-stackQL-resources: applied_quotas: id: confluent.quotas.applied_quotas name: applied_quotas title: Applied Quotas methods: - list_service_quota_v1applied_quotas: + list_service_quota_v1_applied_quotas: operation: $ref: '#/paths/~1service-quota~1v1~1applied-quotas/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - get_service_quota_v1applied_quota: + get_service_quota_v1_applied_quota: operation: $ref: '#/paths/~1service-quota~1v1~1applied-quotas~1{id}/get' response: @@ -3054,25 +4579,27 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/applied_quotas/methods/get_service_quota_v1applied_quota' - - $ref: '#/components/x-stackQL-resources/applied_quotas/methods/list_service_quota_v1applied_quotas' + - $ref: >- + #/components/x-stackQL-resources/applied_quotas/methods/get_service_quota_v1_applied_quota + - $ref: >- + #/components/x-stackQL-resources/applied_quotas/methods/list_service_quota_v1_applied_quotas insert: [] update: [] - replace: [] delete: [] + replace: [] scopes: id: confluent.quotas.scopes name: scopes title: Scopes methods: - list_service_quota_v1scopes: + list_service_quota_v1_scopes: operation: $ref: '#/paths/~1service-quota~1v1~1scopes/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - get_service_quota_v1scope: + get_service_quota_v1_scope: operation: $ref: '#/paths/~1service-quota~1v1~1scopes~1{id}/get' response: @@ -3080,43 +4607,51 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/scopes/methods/get_service_quota_v1scope' - - $ref: '#/components/x-stackQL-resources/scopes/methods/list_service_quota_v1scopes' + - $ref: >- + #/components/x-stackQL-resources/scopes/methods/get_service_quota_v1_scope + - $ref: >- + #/components/x-stackQL-resources/scopes/methods/list_service_quota_v1_scopes insert: [] update: [] - replace: [] delete: [] + replace: [] client_quotas: id: confluent.quotas.client_quotas name: client_quotas title: Client Quotas methods: - list_kafka_quotas_v1client_quotas: + list_kafka_quotas_v1_client_quotas: operation: $ref: '#/paths/~1kafka-quotas~1v1~1client-quotas/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_kafka_quotas_v1client_quota: + create_kafka_quotas_v1_client_quota: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1kafka-quotas~1v1~1client-quotas/post' response: mediaType: application/json openAPIDocKey: '202' - get_kafka_quotas_v1client_quota: + get_kafka_quotas_v1_client_quota: operation: $ref: '#/paths/~1kafka-quotas~1v1~1client-quotas~1{id}/get' response: mediaType: application/json openAPIDocKey: '200' - update_kafka_quotas_v1client_quota: + update_kafka_quotas_v1_client_quota: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1kafka-quotas~1v1~1client-quotas~1{id}/patch' response: mediaType: application/json openAPIDocKey: '200' - delete_kafka_quotas_v1client_quota: + delete_kafka_quotas_v1_client_quota: operation: $ref: '#/paths/~1kafka-quotas~1v1~1client-quotas~1{id}/delete' response: @@ -3124,1657 +4659,19 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/client_quotas/methods/get_kafka_quotas_v1client_quota' - - $ref: '#/components/x-stackQL-resources/client_quotas/methods/list_kafka_quotas_v1client_quotas' + - $ref: >- + #/components/x-stackQL-resources/client_quotas/methods/get_kafka_quotas_v1_client_quota + - $ref: >- + #/components/x-stackQL-resources/client_quotas/methods/list_kafka_quotas_v1_client_quotas insert: - - $ref: '#/components/x-stackQL-resources/client_quotas/methods/create_kafka_quotas_v1client_quota' + - $ref: >- + #/components/x-stackQL-resources/client_quotas/methods/create_kafka_quotas_v1_client_quota update: - - $ref: '#/components/x-stackQL-resources/client_quotas/methods/update_kafka_quotas_v1client_quota' - replace: [] + - $ref: >- + #/components/x-stackQL-resources/client_quotas/methods/update_kafka_quotas_v1_client_quota delete: - - $ref: '#/components/x-stackQL-resources/client_quotas/methods/delete_kafka_quotas_v1client_quota' -paths: - /service-quota/v1/applied-quotas: - get: - operationId: listServiceQuotaV1AppliedQuotas - summary: List of Applied Quotas - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all applied quotas. - - Shows all quotas for a given scope. - parameters: - - name: scope - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: ORGANIZATION - description: | - The applied scope the quota belongs to. - - name: environment - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: | - The environment ID the quota is associated with. - - name: network - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: n-12034 - description: | - The network ID the quota is associated with. - - name: kafka_cluster - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: lkc-00000 - description: | - The kafka cluster ID the quota is associated with. - - name: id - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: iam.max_environments.per_org - description: | - The id (quota code) that this quota belongs to. - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 200 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Applied Quotas (service-quota/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Applied Quota. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/service-quota.v1.AppliedQuotaList' - - type: object - properties: - data: - type: array - items: - properties: - user: - example: - id: u-4voj5e - related: 'https://api.confluent.cloud/v2/users/u-4voj5e' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/user=u-4voj5e' - organization: - nullable: true - example: - id: b3a17773-05cc-4431-9560-433fb4613da8 - related: 'https://api.confluent.cloud/partner/v2/organizations/b3a17773-05cc-4431-9560-433fb4613da8' - resource_name: 'https://api.confluent.cloud/organization=b3a17773-05cc-4431-9560-433fb4613da8' - environment: - nullable: true - example: - id: env-00000 - related: 'https://api.confluent.cloud/org/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - nullable: true - example: - id: n-12034 - related: 'https://api.confluent.cloud/networking/v1/networks/n-12034' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-12034' - kafka_cluster: - nullable: true - example: - id: lkc-00000 - related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/service-quota/v1/applied-quotas?scope=ORGANIZATION&environment=env-00000&network=n-12034&kafka_cluster=lkc-00000&id=iam.max_environments.per_org' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/service-quota/v1/applied-quotas?scope=ORGANIZATION&environment=env-00000&network=n-12034&kafka_cluster=lkc-00000&id=iam.max_environments.per_org") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/service-quota/v1/applied-quotas?scope=ORGANIZATION&environment=env-00000&network=n-12034&kafka_cluster=lkc-00000&id=iam.max_environments.per_org\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/service-quota/v1/applied-quotas?scope=ORGANIZATION&environment=env-00000&network=n-12034&kafka_cluster=lkc-00000&id=iam.max_environments.per_org", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/service-quota/v1/applied-quotas?scope=ORGANIZATION&environment=env-00000&network=n-12034&kafka_cluster=lkc-00000&id=iam.max_environments.per_org", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/service-quota/v1/applied-quotas?scope=ORGANIZATION&environment=env-00000&network=n-12034&kafka_cluster=lkc-00000&id=iam.max_environments.per_org"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/service-quota/v1/applied-quotas?scope=ORGANIZATION&environment=env-00000&network=n-12034&kafka_cluster=lkc-00000&id=iam.max_environments.per_org"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/service-quota/v1/applied-quotas/{id}': - get: - operationId: getServiceQuotaV1AppliedQuota - summary: Read an Applied Quota - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read an applied quota. - parameters: - - name: environment - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: | - The environment ID the quota is associated with. - This field is only required when retrieving a single quota and - the scope of quota is "ENVIRONMENT" or "NETWORK" or "KAFKA_CLUSTER". - - name: network - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: n-12034 - description: | - The network ID the quota is associated with. - This field is only required when retrieving a single quota and - the scope of quota is "NETWORK". - - name: kafka_cluster - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: lkc-00000 - description: | - The kafka cluster ID the quota is associated with. - This field is required only when the scope of quota is "KAFKA_CLUSTER". - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the applied quota. - tags: - - Applied Quotas (service-quota/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Applied Quota. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/service-quota.v1.AppliedQuota' - - type: object - required: - - api_version - - kind - - id - - scope - - display_name - - default_limit - - applied_limit - - type: object - properties: - user: - example: - id: u-4voj5e - related: 'https://api.confluent.cloud/v2/users/u-4voj5e' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/user=u-4voj5e' - organization: - nullable: true - example: - id: b3a17773-05cc-4431-9560-433fb4613da8 - related: 'https://api.confluent.cloud/partner/v2/organizations/b3a17773-05cc-4431-9560-433fb4613da8' - resource_name: 'https://api.confluent.cloud/organization=b3a17773-05cc-4431-9560-433fb4613da8' - environment: - nullable: true - example: - id: env-00000 - related: 'https://api.confluent.cloud/org/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - network: - nullable: true - example: - id: n-12034 - related: 'https://api.confluent.cloud/networking/v1/networks/n-12034' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-12034' - kafka_cluster: - nullable: true - example: - id: lkc-00000 - related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/service-quota/v1/applied-quotas/{id}?environment=env-00000&network=n-12034&kafka_cluster=lkc-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/service-quota/v1/applied-quotas/{id}?environment=env-00000&network=n-12034&kafka_cluster=lkc-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/service-quota/v1/applied-quotas/{id}?environment=env-00000&network=n-12034&kafka_cluster=lkc-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/service-quota/v1/applied-quotas/{id}?environment=env-00000&network=n-12034&kafka_cluster=lkc-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/service-quota/v1/applied-quotas/{id}?environment=env-00000&network=n-12034&kafka_cluster=lkc-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/service-quota/v1/applied-quotas/{id}?environment=env-00000&network=n-12034&kafka_cluster=lkc-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/service-quota/v1/applied-quotas/{id}?environment=env-00000&network=n-12034&kafka_cluster=lkc-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /service-quota/v1/scopes: - get: - operationId: listServiceQuotaV1Scopes - summary: List of Scopes - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all scopes. - parameters: - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 200 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Scopes (service-quota/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Scope. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/service-quota.v1.ScopeList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://api.confluent.cloud/service-quota/v1/scopes \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/service-quota/v1/scopes") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/service-quota/v1/scopes\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/service-quota/v1/scopes", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/service-quota/v1/scopes", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/service-quota/v1/scopes"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/service-quota/v1/scopes"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/service-quota/v1/scopes/{id}': - get: - operationId: getServiceQuotaV1Scope - summary: Read a Scope - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read a scope. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the scope. - tags: - - Scopes (service-quota/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Scope. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/service-quota.v1.Scope' - - type: object - required: - - api_version - - kind - - id - - description - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/service-quota/v1/scopes/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/service-quota/v1/scopes/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/service-quota/v1/scopes/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/service-quota/v1/scopes/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/service-quota/v1/scopes/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/service-quota/v1/scopes/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/service-quota/v1/scopes/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /kafka-quotas/v1/client-quotas: - get: - operationId: listKafkaQuotasV1ClientQuotas - summary: List of Client Quotas - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all client quotas. - parameters: - - name: spec.cluster - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: lkc-xxxxx - description: Filter the results by exact match for spec.cluster. - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-xxxxx - description: Filter the results by exact match for environment. - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Client Quotas (kafka-quotas/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Client Quota. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/kafka-quotas.v1.ClientQuotaList' - - type: object - properties: - data: - type: array - items: - properties: - spec: - type: object - properties: - cluster: - example: - id: lkc-xxxxx - related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-xxxxx' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-xxxxx' - environment: - example: - - id: env-xxxxx - related: 'https://api.confluent.cloud/v2/environments/env-xxxxx' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-xxxxx' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/kafka-quotas/v1/client-quotas?spec.cluster=lkc-xxxxx&environment=env-xxxxx' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/kafka-quotas/v1/client-quotas?spec.cluster=lkc-xxxxx&environment=env-xxxxx") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/kafka-quotas/v1/client-quotas?spec.cluster=lkc-xxxxx&environment=env-xxxxx\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka-quotas/v1/client-quotas?spec.cluster=lkc-xxxxx&environment=env-xxxxx", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/kafka-quotas/v1/client-quotas?spec.cluster=lkc-xxxxx&environment=env-xxxxx", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/kafka-quotas/v1/client-quotas?spec.cluster=lkc-xxxxx&environment=env-xxxxx"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/kafka-quotas/v1/client-quotas?spec.cluster=lkc-xxxxx&environment=env-xxxxx"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - operationId: createKafkaQuotasV1ClientQuota - summary: Create a Client Quota - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to create a client quota. - tags: - - Client Quotas (kafka-quotas/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/kafka-quotas.v1.ClientQuota' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - display_name - - throughput - - cluster - - principals - - environment - - type: object - properties: - spec: - type: object - properties: - cluster: - example: - id: lkc-xxxxx - environment: - example: - - id: env-xxxxx - responses: - '202': - description: A Client Quota is being created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}' - description: ClientQuota resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/kafka-quotas.v1.ClientQuota' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - display_name - - throughput - - cluster - - principals - - environment - - type: object - properties: - spec: - type: object - properties: - cluster: - example: - id: lkc-xxxxx - related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-xxxxx' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-xxxxx' - environment: - example: - - id: env-xxxxx - related: 'https://api.confluent.cloud/v2/environments/env-xxxxx' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-xxxxx' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/kafka-quotas/v1/client-quotas \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"QuotaForSA1","description":"This quota defines limits on how much the target principals can use cluster lkc-xxxxx","throughput":{"ingress_byte_rate":"5","egress_byte_rate":"5"},"cluster":{"id":"lkc-xxxxx","environment":"string"},"principals":[{"id":"string"}],"environment":[{"id":"env-xxxxx"}]}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"QuotaForSA1\",\"description\":\"This quota defines limits on how much the target principals can use cluster lkc-xxxxx\",\"throughput\":{\"ingress_byte_rate\":\"5\",\"egress_byte_rate\":\"5\"},\"cluster\":{\"id\":\"lkc-xxxxx\",\"environment\":\"string\"},\"principals\":[{\"id\":\"string\"}],\"environment\":[{\"id\":\"env-xxxxx\"}]}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/kafka-quotas/v1/client-quotas") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/kafka-quotas/v1/client-quotas\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"QuotaForSA1\\\",\\\"description\\\":\\\"This quota defines limits on how much the target principals can use cluster lkc-xxxxx\\\",\\\"throughput\\\":{\\\"ingress_byte_rate\\\":\\\"5\\\",\\\"egress_byte_rate\\\":\\\"5\\\"},\\\"cluster\\\":{\\\"id\\\":\\\"lkc-xxxxx\\\",\\\"environment\\\":\\\"string\\\"},\\\"principals\\\":[{\\\"id\\\":\\\"string\\\"}],\\\"environment\\\":[{\\\"id\\\":\\\"env-xxxxx\\\"}]}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"QuotaForSA1\",\"description\":\"This quota defines limits on how much the target principals can use cluster lkc-xxxxx\",\"throughput\":{\"ingress_byte_rate\":\"5\",\"egress_byte_rate\":\"5\"},\"cluster\":{\"id\":\"lkc-xxxxx\",\"environment\":\"string\"},\"principals\":[{\"id\":\"string\"}],\"environment\":[{\"id\":\"env-xxxxx\"}]}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/kafka-quotas/v1/client-quotas", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/kafka-quotas/v1/client-quotas", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'QuotaForSA1', - description: 'This quota defines limits on how much the target principals can use cluster lkc-xxxxx', - throughput: {ingress_byte_rate: '5', egress_byte_rate: '5'}, - cluster: {id: 'lkc-xxxxx', environment: 'string'}, - principals: [{id: 'string'}], - environment: [{id: 'env-xxxxx'}] - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/kafka-quotas/v1/client-quotas"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"QuotaForSA1\",\"description\":\"This quota defines limits on how much the target principals can use cluster lkc-xxxxx\",\"throughput\":{\"ingress_byte_rate\":\"5\",\"egress_byte_rate\":\"5\"},\"cluster\":{\"id\":\"lkc-xxxxx\",\"environment\":\"string\"},\"principals\":[{\"id\":\"string\"}],\"environment\":[{\"id\":\"env-xxxxx\"}]}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/kafka-quotas/v1/client-quotas"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"QuotaForSA1\",\"description\":\"This quota defines limits on how much the target principals can use cluster lkc-xxxxx\",\"throughput\":{\"ingress_byte_rate\":\"5\",\"egress_byte_rate\":\"5\"},\"cluster\":{\"id\":\"lkc-xxxxx\",\"environment\":\"string\"},\"principals\":[{\"id\":\"string\"}],\"environment\":[{\"id\":\"env-xxxxx\"}]}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/kafka-quotas/v1/client-quotas/{id}': - get: - operationId: getKafkaQuotasV1ClientQuota - summary: Read a Client Quota - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read a client quota. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the client quota. - tags: - - Client Quotas (kafka-quotas/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Client Quota. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/kafka-quotas.v1.ClientQuota' - - type: object - required: - - api_version - - kind - - id - - spec - properties: - spec: - type: object - required: - - display_name - - throughput - - cluster - - principals - - environment - - type: object - properties: - spec: - type: object - properties: - cluster: - example: - id: lkc-xxxxx - related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-xxxxx' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-xxxxx' - environment: - example: - - id: env-xxxxx - related: 'https://api.confluent.cloud/v2/environments/env-xxxxx' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-xxxxx' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/kafka-quotas/v1/client-quotas/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/kafka-quotas/v1/client-quotas/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateKafkaQuotasV1ClientQuota - summary: Update a Client Quota - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to update a client quota. - - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the client quota. - tags: - - Client Quotas (kafka-quotas/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/kafka-quotas.v1.ClientQuotaUpdate' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - environment - properties: - environment: - example: - id: env-00000 - responses: - '200': - description: Client Quota. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/kafka-quotas.v1.ClientQuota' - - type: object - required: - - api_version - - kind - - id - - spec - properties: - spec: - type: object - required: - - display_name - - throughput - - cluster - - principals - - environment - - type: object - properties: - spec: - type: object - properties: - cluster: - example: - id: lkc-xxxxx - related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-xxxxx' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-xxxxx' - environment: - example: - - id: env-xxxxx - related: 'https://api.confluent.cloud/v2/environments/env-xxxxx' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-xxxxx' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"display_name":"QuotaForSA1","description":"This quota defines limits on how much the target principals can use cluster lkc-xxxxx","throughput":{"ingress_byte_rate":"5","egress_byte_rate":"5"},"cluster":{"id":"string","environment":"string"},"principals":[{"id":"string"}],"environment":{"id":"env-00000"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"display_name\":\"QuotaForSA1\",\"description\":\"This quota defines limits on how much the target principals can use cluster lkc-xxxxx\",\"throughput\":{\"ingress_byte_rate\":\"5\",\"egress_byte_rate\":\"5\"},\"cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"principals\":[{\"id\":\"string\"}],\"environment\":{\"id\":\"env-00000\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"display_name\\\":\\\"QuotaForSA1\\\",\\\"description\\\":\\\"This quota defines limits on how much the target principals can use cluster lkc-xxxxx\\\",\\\"throughput\\\":{\\\"ingress_byte_rate\\\":\\\"5\\\",\\\"egress_byte_rate\\\":\\\"5\\\"},\\\"cluster\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"},\\\"principals\\\":[{\\\"id\\\":\\\"string\\\"}],\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"display_name\":\"QuotaForSA1\",\"description\":\"This quota defines limits on how much the target principals can use cluster lkc-xxxxx\",\"throughput\":{\"ingress_byte_rate\":\"5\",\"egress_byte_rate\":\"5\"},\"cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"principals\":[{\"id\":\"string\"}],\"environment\":{\"id\":\"env-00000\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/kafka-quotas/v1/client-quotas/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/kafka-quotas/v1/client-quotas/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - display_name: 'QuotaForSA1', - description: 'This quota defines limits on how much the target principals can use cluster lkc-xxxxx', - throughput: {ingress_byte_rate: '5', egress_byte_rate: '5'}, - cluster: {id: 'string', environment: 'string'}, - principals: [{id: 'string'}], - environment: {id: 'env-00000'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"display_name\":\"QuotaForSA1\",\"description\":\"This quota defines limits on how much the target principals can use cluster lkc-xxxxx\",\"throughput\":{\"ingress_byte_rate\":\"5\",\"egress_byte_rate\":\"5\"},\"cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"principals\":[{\"id\":\"string\"}],\"environment\":{\"id\":\"env-00000\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"display_name\":\"QuotaForSA1\",\"description\":\"This quota defines limits on how much the target principals can use cluster lkc-xxxxx\",\"throughput\":{\"ingress_byte_rate\":\"5\",\"egress_byte_rate\":\"5\"},\"cluster\":{\"id\":\"string\",\"environment\":\"string\"},\"principals\":[{\"id\":\"string\"}],\"environment\":{\"id\":\"env-00000\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteKafkaQuotasV1ClientQuota - summary: Delete a Client Quota - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to delete a client quota. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the client quota. - tags: - - Client Quotas (kafka-quotas/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A Client Quota is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/kafka-quotas/v1/client-quotas/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/kafka-quotas/v1/client-quotas/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/kafka-quotas/v1/client-quotas/{id}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); + - $ref: >- + #/components/x-stackQL-resources/client_quotas/methods/delete_kafka_quotas_v1_client_quota + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/schema_registry.yaml b/providers/src/confluent/v00.00.00000/services/schema_registry.yaml index 02c9b9ef..56ea0cb9 100644 --- a/providers/src/confluent/v00.00.00000/services/schema_registry.yaml +++ b/providers/src/confluent/v00.00.00000/services/schema_registry.yaml @@ -1,3953 +1,443 @@ openapi: 3.0.0 -servers: - - url: 'https://api.confluent.cloud' - description: Confluent Cloud API info: - version: '' - contact: - name: Confluent Cloud - url: 'https://www.confluent.io/cloud-contact-us/' - email: support@confluent.io - x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b - x-audience: external-public - x-logo: - url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' - title: Confluent Cloud APIs - schema_registry - description: schema_registry -tags: - - name: API Keys (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. - - The API allows you to list, create, update and delete your API Keys. - - - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - - ## The API Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - - name: Environments (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. - - - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - - ## The Environments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - - name: Organizations (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). - - The API allows you to list, view, and update your organizations. - - - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - - ## The Organizations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - - name: Users (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `User` objects represent individuals who may access your Confluent resources. - - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. - - - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). - - ## The Users Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - - name: Service Accounts (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. - - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. - - - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). - - ## The Service Accounts Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - - name: Invitations (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. - - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. - - - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). - - ## The Invitations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - - name: IP Groups (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) - - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. - - - ## The IP Groups Model - - - name: IP Filters (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. - - - ## The IP Filters Model - - - name: Role Bindings (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A role binding grants a Principal a role on resources that match a pattern. - - The API allows you to perform create, delete, and list operations on role bindings. - - - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). - - ## The Role Bindings Model - - - name: Subscriptions (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. - - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Subscriptions Model - - - name: Integrations (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Integrations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - - name: Notification Types (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The type of notifications (and their corresponding metadata) supported by Confluent. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Notification Types Model - - - name: Clusters (cmk/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Kafka clusters. - - - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - - name: Clusters (ksqldbcm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. - - - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the following quotas: - - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - - name: Connectors (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for Managed Connectors or Custom Connectors in Confluent Cloud. - - The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. - - Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). - - Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - name: Lifecycle (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. - - name: Status (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. - - name: Managed Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for Managed connectors in Confluent Cloud. - - name: Offsets (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the offsets for a Managed Connector. - - Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) - - name: Custom Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Custom Connector Plugins Model - - - name: Presigned Urls (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Presigned Urls Model - - - name: Cluster (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Configs (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: ACL (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Consumer Group (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Partition (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Topic (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Records (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Cluster Linking (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Applied Quotas (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. - - - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - - ## The Applied Quotas Model - - - name: Scopes (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Gets a list of all available scopes for applied quotas. - - - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). - - ## The Scopes Model - - - name: Entitlements (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Entitlement` objects represent metadata about a marketplace entitlement. - - An entitlement includes metadata about a marketplace purchase - (start date, end date, billing information, partner IDs, etc). - The API allows partners to create, read, and list entitlements. (Unless you - need entitlement creation and customer registration to be separate, - we recommend using the Signup API to create an organization and entitlement - at the same time) - - The API only allows authorized partners to interact with the Entitlements API. - - name: Regions (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. - - - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Regions Model - - - name: Clusters (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list, create, read, and delete your Schema Registry clusters. - - - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Clusters Model - - - name: Clusters (srcm/v3) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list and read your Schema Registry clusters. - - - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - - ## The Clusters Model - - - name: Compatibility (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to test schema compatibility. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Config (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to manage and query schema compatibility settings and cluster configurations. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Contexts (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to retrieve information about schema contexts. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Exporters (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete exporters. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Modes (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects modes of operation. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Schemas (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schemas. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Subjects (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects and versions. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Key Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete key encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Data Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete data encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Entity (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Search (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to search for entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Types (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Provider Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. - - - ## The Provider Shared Resources Model - - - name: Provider Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderShare` object respresents the share that you have created through Stream Sharing. - - - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). - - ## The Provider Shares Model - - - name: Consumer Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. - - - ## The Consumer Shared Resources Model - - - name: Consumer Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerShare` object respresents the share that you received through Stream Sharing. - - - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). - - ## The Consumer Shares Model - - - name: Shared Tokens (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Encrypted Token shared with consumer - - - ## The Shared Tokens Model - - - name: Opt Ins (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Stream sharing opt in options - - ## The Opt Ins Model - - - name: Organizations (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Organizations` objects represent an entire Confluent Cloud organization. - Partners are allowed to get an organization they have signed up or - list all organizations they have signed up. - - name: Signup (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Signup` APIs can only be performed by partners. - - name: Networks (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. - - The API allows you to list, create, read, update, and delete your networks. - - - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - - ## The Networks Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - - name: Peerings (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - - - ## The Peerings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - - name: Transit Gateway Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AWS Transit Gateway Attachments - - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - - ## The Transit Gateway Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - - name: Private Link Accesses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. - - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). - - - ## The Private Link Accesses Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - - name: Network Link Services (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Services Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - - name: Network Link Endpoints (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Endpoints Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - - name: Network Link Service Associations (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - List of incoming Network Link Enpoints associated with the Network Link Service. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Service Associations Model - - - name: Gateways (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A gateway is a resource that defines network access to Confluent cloud resources. - - - ## The Gateways Model - - - name: IP Addresses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - IP Addresses - - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) - - ## The IP Addresses Model - - - name: Private Link Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. - - - ## The Private Link Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - - name: Private Link Attachment Connections (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. - - - ## The Private Link Attachment Connections Model - - - name: Identity Providers (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Identity Provider. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Identity Providers Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - - name: Jwks (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. - - The API allows you to refresh JWKS public key data. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Jwks Model - - - name: Identity Pools (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. - - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. - - - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). - - ## The Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - - name: OAuth Tokens (sts/v1) - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of - external identities to access Confluent Cloud APIs - - name: Client Quotas (kafka-quotas/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ClientQuota` objects represent Client Quotas you can set at the service account level. - - The API allows you to list, create, read, update, and delete your client quotas. - - - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - - ## The Client Quotas Model - - - name: Pipelines (sd/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. - - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. - - - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). - - ## The Pipelines Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - - name: Keys (byok/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. - - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. - - - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). - - ## The Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - - name: Costs (billing/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cost` objects represent the aggregated billing costs for an organization - - - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). - - ## The Costs Model - - - name: Group Mappings (iam/v2/sso) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. - - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. - - - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). - - ## The Group Mappings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - - name: Compute Pools (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. - - - ## The Compute Pools Model - - - name: Regions (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. - - - ## The Regions Model - - - name: Statements (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - - name: Statement Results (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementResult` represents a result of a `Statement` resource. - The API allows you to read your statement's results. - ## The Statement Results Model - - - name: Statement Exceptions (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementException` represents an exception of a `Statement` resource. - The API allows you to read your statement's exceptions. - ## The Statement Exceptions Model - - - name: Connections (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Connection` represents a core resource used to model SQL connections for execution. - A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - - name: DNS Forwarders (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add, remove, and update DNS forwarder for your gateway. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - - - ## The DNS Forwarders Model - - - name: Access Points (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. - - - ## The Access Points Model - - - name: DNS Records (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - - ## The DNS Records Model - - - name: Certificate Authorities (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Certificate Authority. - - - Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). - - ## The Certificate Authorities Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `certificate_authorities_per_org` | Number of certificate authorities per organization | - - name: Certificate Identity Pools (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Identitypool` objects represent workload identities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities - - - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). - - ## The Certificate Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - - name: Integrations (pim/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). - - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. - - - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). - - ## The Integrations Model - - - name: Flink Artifacts (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. - - - ## The Flink Artifacts Model - - - name: Presigned Urls (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - - ## The Presigned Urls Model - - - name: Flink Artifact Versions (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. - - - ## The Flink Artifact Versions Model - -components: - schemas: - ClusterConfig: - type: object - properties: - maxSchemas: - type: integer - description: Maximum number of registered schemas allowed - format: int32 - example: 20000 - maxRequestsPerSec: - type: integer - description: Maximum number of allowed requests per second - format: int32 - example: 25 - description: Cluster Config - AclOperation: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - AclPatternType: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - MATCH - - LITERAL - - PREFIXED - AclPermission: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - DENY - - ALLOW - AclResourceType: - type: string - enum: - - UNKNOWN - - ANY - - TOPIC - - GROUP - - CLUSTER - - TRANSACTIONAL_ID - - DELEGATION_TOKEN - BrokerTaskType: - type: string - enum: - - add-broker - - remove-broker - MirrorTopicStatus: - enum: - - ACTIVE - - FAILED - - LINK_FAILED - - LINK_PAUSED - - PAUSED - - PENDING_STOPPED - - SOURCE_UNAVAILABLE - - STOPPED - - PENDING_MIRROR - - PENDING_SYNCHRONIZE - - PENDING_SETUP_FOR_RESTORE - - PENDING_RESTORE - type: string - ErrorMessage: - type: object - properties: - error_code: - type: integer - description: The error code - format: int32 - message: - type: string - description: The error message - description: Error message of this operation - AlterConfigBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - operation: - type: string - x-extensible-enum: - - SET - - DELETE - nullable: true - validate_only: - type: boolean - CreateAclRequestData: - type: object - required: - - resource_type - - resource_name - - pattern_type - - principal - - host - - operation - - permission - properties: - resource_type: - $ref: '#/components/schemas/AclResourceType' - resource_name: - type: string - pattern_type: - $ref: '#/components/schemas/AclPatternType' - principal: - type: string - host: - type: string - operation: - $ref: '#/components/schemas/AclOperation' - permission: - $ref: '#/components/schemas/AclPermission' - CreateAclRequestDataList: - allOf: - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/CreateAclRequestData' - CreateTopicRequestData: - type: object - required: - - topic_name - properties: - topic_name: - type: string - partitions_count: - type: integer - replication_factor: - type: integer - configs: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - validate_only: - type: boolean - ProduceRequest: - type: object - properties: - partition_id: - type: integer - nullable: true - format: int32 - headers: - type: array - items: - $ref: '#/components/schemas/ProduceRequestHeader' - key: - $ref: '#/components/schemas/ProduceRequestData' - value: - $ref: '#/components/schemas/ProduceRequestData' - timestamp: - type: string - format: date-time - nullable: true - UpdateConfigRequestData: - type: object - properties: - value: - type: string - nullable: true - CreateLinkRequestData: - properties: - source_cluster_id: - type: string - destination_cluster_id: - type: string - remote_cluster_id: - description: The expected remote cluster ID. - type: string - cluster_link_id: - description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' - type: string - configs: - items: - $ref: '#/components/schemas/ConfigData' - type: array - type: object - UpdateLinkConfigRequestData: - properties: - value: - type: string - required: - - value - type: object - CreateMirrorTopicRequestData: - properties: - source_topic_name: - type: string - mirror_topic_name: - type: string - replication_factor: - type: integer - configs: - type: array - items: - $ref: '#/components/schemas/ConfigData' - required: - - source_topic_name - type: object - AlterMirrorsRequestData: - properties: - mirror_topic_names: - description: The mirror topics specified as a list of topic names. - type: array - items: + title: schema_registry API + description: confluent schema_registry API + version: 1.0.0 +paths: + /clusterconfig: + get: + tags: + - Config (v1) + summary: Get cluster config + description: Retrieves cluster config information. + operationId: getClusterConfig + responses: + '200': + description: The cluster config + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ClusterConfig' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ClusterConfig' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ClusterConfig' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/schemaregistry.v1.DefaultSystemError' + security: + - resource-api-key: [] + - external-access-token: [] + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /compatibility/subjects/{subject}/versions/{version}: + post: + tags: + - Compatibility (v1) + summary: Test schema compatibility against a particular schema subject-version + description: >- + Test input schema against a particular version of a subject's schema for + compatibility. The compatibility level applied for the check is the + configured compatibility level for the subject (http:get:: + /config/(string: subject)). If this subject's compatibility level was + never changed, then the global compatibility level applies (http:get:: + /config). + operationId: testCompatibilityBySubjectName + parameters: + - name: subject + in: path + description: >- + Subject of the schema version against which compatibility is to be + tested + required: true + schema: type: string - mirror_topic_name_pattern: - description: The mirror topics specified as a pattern. - type: string - type: object - RemoveBrokersRequestData: - properties: - broker_ids: - type: array - items: - type: integer - required: - - broker_ids - type: object - BrokerReplicaExclusionBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' - ProduceRequestHeader: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - format: byte - nullable: true - ProduceRequestData: - type: object - properties: - type: - type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - data: - $ref: '#/components/schemas/AnyValue' - nullable: true - ConfigData: - example: - name: name - value: value - properties: - name: - type: string - value: - nullable: true - type: string - required: - - name - - value - BrokerReplicaExclusionRequestData: - type: object - required: - - broker_id - - reason - properties: - broker_id: - type: integer - reason: - type: string - AnyValue: - nullable: true - RegisterSchemaRequest: - type: object - properties: - version: - type: integer - description: Version number - format: int32 - id: - type: integer - description: Globally unique identifier of the schema - format: int32 - schemaType: - type: string - description: Schema type - references: - type: array - description: References to other schemas - items: - $ref: '#/components/schemas/SchemaReference' - schema: - type: string - description: Schema definition string - metadata: - $ref: '#/components/schemas/Metadata' - ruleSet: - $ref: '#/components/schemas/RuleSet' - description: Schema register request - CompatibilityCheckResponse: - type: object - properties: - is_compatible: - type: boolean - description: Whether the compared schemas are compatible - messages: - type: array - description: Error messages - example: [] - items: + - name: version + in: path + description: >- + Version of the subject's schema against which compatibility is to be + tested. Valid values for versionId are between [1,2^31-1] or the + string "latest"."latest" checks compatibility of the input schema + with the last registered schema under the specified subject + required: true + schema: type: string - description: Error messages - example: '[]' - description: Compatibility check response - SchemaReference: - type: object - properties: - name: - type: string - description: Reference name - example: io.confluent.kafka.example.User - subject: - type: string - description: Name of the referenced subject - example: User - version: - type: integer - description: Version number of the referenced subject - format: int32 - example: 1 - description: Schema reference - Metadata: - description: User-defined metadata - nullable: true - properties: - tags: - additionalProperties: - items: - type: string - type: array - uniqueItems: true - type: object - properties: - additionalProperties: + - name: normalize + in: query + description: Whether to normalize the given schema + schema: + type: boolean + - name: verbose + in: query + description: Whether to return detailed error messages + schema: + type: boolean + requestBody: + description: Schema + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/octet-stream: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + required: true + responses: + '200': + description: Compatibility check result. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/CompatibilityCheckResponse' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/CompatibilityCheckResponse' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/CompatibilityCheckResponse' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: >- + Not Found. Error code 40401 indicates subject not found. Error code + 40402 indicates version not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '422': + description: >- + Unprocessable entity. Error code 42201 indicates an invalid schema + or schema type. Error code 42202 indicates an invalid version. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /compatibility/subjects/{subject}/versions: + post: + tags: + - Compatibility (v1) + summary: Test schema compatibility against all schemas under a subject + description: >- + Test input schema against a subject's schemas for compatibility, based + on the configured compatibility level of the subject. In other words, it + will perform the same compatibility check as register for that subject. + The compatibility level applied for the check is the configured + compatibility level for the subject (http:get:: /config/(string: + subject)). If this subject's compatibility level was never changed, then + the global compatibility level applies (http:get:: /config). + operationId: testCompatibilityForSubject + parameters: + - name: subject + in: path + description: >- + Subject of the schema version against which compatibility is to be + tested + required: true + schema: type: string - type: object - sensitive: - items: + - name: verbose + in: query + description: Whether to return detailed error messages + schema: + type: boolean + requestBody: + description: Schema + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/octet-stream: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + required: true + responses: + '200': + description: Compatibility check result. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/CompatibilityCheckResponse' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/CompatibilityCheckResponse' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/CompatibilityCheckResponse' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '422': + description: >- + Unprocessable Entity. Error code 42201 indicates an invalid schema + or schema type. Error code 42202 indicates an invalid version. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /config/{subject}: + get: + tags: + - Config (v1) + summary: Get subject compatibility level + description: |- + Retrieves compatibility level, compatibility group, normalization, + default metadata, and rule set for a subject. + operationId: getSubjectLevelConfig + parameters: + - name: subject + in: path + description: Name of the subject + required: true + schema: type: string - type: array - uniqueItems: true - type: object - RuleSet: - description: Schema rule set - nullable: true - properties: - migrationRules: - items: - $ref: '#/components/schemas/Rule' - type: array - domainRules: - items: - $ref: '#/components/schemas/Rule' - type: array - type: object - Rule: - description: Rule - properties: - name: - description: Rule name - type: string - doc: - description: Rule doc - type: string - kind: - description: Rule kind - enum: - - TRANSFORM - - CONDITION - type: string - mode: - description: Rule mode - enum: - - UPGRADE - - DOWNGRADE - - UPDOWN - - WRITE - - READ - - WRITEREAD - type: string - type: - description: Rule type - type: string - tags: - description: The tags to which this rule applies - items: - description: The tags to which this rule applies + - name: defaultToGlobal + in: query + description: >- + Whether to return the global compatibility level if subject + compatibility level not found + schema: + type: boolean + responses: + '200': + description: The subject compatibility level. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/Config' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/Config' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/Config' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40401 indicates subject not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + put: + tags: + - Config (v1) + summary: Update subject compatibility level + description: |- + Update compatibility level, compatibility group, normalization, + default metadata, and rule set for the specified subject. On success, + echoes the original request back to the client. + operationId: updateSubjectLevelConfig + parameters: + - name: subject + in: path + description: Name of the subject + required: true + schema: type: string - type: array - uniqueItems: true - params: - additionalProperties: - description: Optional params for the rule - type: string - description: Optional params for the rule - type: object - expr: - description: Rule expression - type: string - onSuccess: - description: Rule action on success - type: string - onFailure: - description: Rule action on failure - type: string - disabled: - description: Whether the rule is disabled - type: boolean - type: object - Config: - type: object - properties: - alias: - type: string - description: |- - If alias is specified, then this subject is an alias for the subject - named by the alias. That means that any reference to this subject - will be replaced by the alias. - normalize: - type: boolean - description: |- - If true, then schemas are automatically normalized when registered or - when passed during lookups. This means that clients do not have to - pass the "normalize" query parameter to have normalization occur. - compatibilityLevel: - type: string - description: Compatibility Level - example: FULL_TRANSITIVE - x-extensible-enum: - - BACKWARD - - BACKWARD_TRANSITIVE - - FORWARD - - FORWARD_TRANSITIVE - - FULL - - FULL_TRANSITIVE - - NONE - compatibilityGroup: - type: string - description: |- - Only schemas that belong to the same compatibility group will be - checked for compatibility. - defaultMetadata: - type: object - description: Default value for the metadata to be used during schema registration. - properties: - properties: - type: object - description: The metadata properties and their new values - overrideMetadata: - type: object - description: Override value for the metadata to be used during schema registration. - properties: - properties: - type: object - description: The metadata properties and their new values - defaultRuleSet: - type: object - description: Default value for the ruleSet to be used during schema registration. - properties: - properties: - type: object - description: The metadata properties and their new values - overrideRuleSet: - type: object - description: Override value for the ruleSet to be used during schema registration. - properties: - properties: - type: object - description: The metadata properties and their new values - description: Config - ConfigUpdateRequest: - type: object - properties: - alias: - type: string - description: |- - If alias is specified, then this subject is an alias for the subject - named by the alias. That means that any reference to this subject - will be replaced by the alias. - normalize: - type: boolean - description: |- - If true, then schemas are automatically normalized when registered - or when passed during lookups. This means that clients do not have - to pass the "normalize" query parameter to have normalization occur. - compatibility: - type: string - description: Compatibility Level - example: FULL_TRANSITIVE - x-extensible-enum: - - BACKWARD - - BACKWARD_TRANSITIVE - - FORWARD - - FORWARD_TRANSITIVE - - FULL - - FULL_TRANSITIVE - - NONE - compatibilityGroup: - type: string - description: |- - Only schemas that belong to the same compatibility group will be - checked for compatibility. - defaultMetadata: - type: object - description: Default value for the metadata to be used during schema registration. - properties: - properties: - type: object - description: The metadata properties and their new values - overrideMetadata: - type: object - description: Override value for the metadata to be used during schema registration. - properties: - properties: - type: object - description: The metadata properties and their new values - defaultRuleSet: - type: object - description: Default value for the ruleSet to be used during schema registration. - properties: - properties: - type: object - description: The metadata properties and their new values - overrideRuleSet: - type: object - description: Override value for the ruleSet to be used during schema registration. - properties: - properties: - type: object - description: The metadata properties and their new values - description: Config update request - ExporterReference: - type: object - properties: - name: - type: string - description: Name of the exporter - example: test-exporter - contextType: - description: 'Context type of the exporter. One of CUSTOM, NONE or AUTO (default)' - type: string - example: CUSTOM - x-extensible-enum: - - CUSTOM - - AUTO - - NONE - context: - type: string - description: Customized context of the exporter if contextType equals CUSTOM. - example: User - subjects: - type: array - description: Name of each exporter subject - items: - type: string - subjectRenameFormat: - type: string - description: 'Format string for the subject name in the destination cluster, which may contain ${subject} as a placeholder for the originating subject name. For example, dc_${subject} for the subject orders will map to the destination subject name dc_orders.' - config: - type: object - description: The map containing exporter’s configurations - additionalProperties: - type: string - description: The format for a typical exporter object - ExporterResponse: - type: object - properties: - name: - type: string - description: Name of the exporter - example: test-exporter - description: Exporter register response - ExporterUpdateRequest: - type: object - properties: - contextType: - description: 'Context type of the exporter. One of CUSTOM, NONE or AUTO (default)' - type: string - example: CUSTOM - x-extensible-enum: - - CUSTOM - - AUTO - - NONE - context: - type: string - description: Customized context of the exporter if contextType equals CUSTOM. - example: User - subjects: - type: array - description: Name of each exporter subject - items: - type: string - subjectRenameFormat: - type: string - description: 'Format string for the subject name in the destination cluster, which may contain ${subject} as a placeholder for the originating subject name. For example, dc_${subject} for the subject orders will map to the destination subject name dc_orders.' - config: - type: object - description: The map containing exporter’s configurations - additionalProperties: - type: string - description: Exporter update request - ExporterStatusResponse: - type: object - properties: - name: - description: Name of exporter. - type: string - example: test-exporter - state: - type: string - description: 'State of the exporter. Could be STARTING, RUNNING or PAUSED' - example: RUNNING - x-extensible-enum: - - STARTING - - RUNNING - - PAUSED - offset: - type: integer - description: Offset of the exporter - format: int64 - example: 100 - ts: - type: integer - description: Timestamp of the exporter - format: int64 - example: 1631206325 - trace: - description: Error trace of the exporter - type: string - example: '' - description: Exporter status get request - ExporterConfigResponse: - type: object - properties: - schema.registry.url: - description: Config SR URL - type: string - example: - basic.auth.credentials.source: - description: Config SR Auth - type: string - example: USER_INFO - basic.auth.user.info: - description: Config SR User Info - type: string - description: The map containing exporter’s configurations - Mode: - type: object - properties: - mode: - type: string - description: Schema Registry operating mode - example: READWRITE - x-extensible-enum: - - READWRITE - - READONLY - - READONLY_OVERRIDE - - IMPORT - description: Schema Registry operating mode - ModeUpdateRequest: - type: object - properties: - mode: - type: string - description: Schema Registry operating mode - example: READWRITE - x-extensible-enum: - - READWRITE - - READONLY - - READONLY_OVERRIDE - - IMPORT - description: Mode update request - SchemaString: - type: object - properties: - schemaType: - type: string - description: Schema type - example: AVRO - schema: - type: string - description: Schema string identified by the ID - example: '{"schema": "{"type": "string"}"}' - references: - type: array - description: References to other schemas - items: - $ref: '#/components/schemas/SchemaReference' - maxId: - type: integer - description: Maximum ID - format: int32 - example: 1 - description: Schema definition - Schema: - type: object - properties: - subject: - type: string - description: Name of the subject - example: User - version: - type: integer - description: Version number - format: int32 - example: 1 - id: - type: integer - description: Globally unique identifier of the schema - format: int32 - example: 100001 - schemaType: - type: string - description: Schema type - example: AVRO - references: - type: array - description: References to other schemas - items: - $ref: '#/components/schemas/SchemaReference' - schema: - type: string - description: Schema definition string - example: '{"schema": "{"type": "string"}"}' - metadata: - $ref: '#/components/schemas/Metadata' - ruleSet: - $ref: '#/components/schemas/RuleSet' - description: Schema - SubjectVersion: - type: object - properties: - subject: - type: string - description: Name of the subject - example: User - version: - type: integer - description: Version number - format: int32 - example: 1 - description: Subject version pair - RegisterSchemaResponse: - type: object - properties: - id: - type: integer - description: Globally unique identifier of the schema - format: int32 - example: 100001 - description: Schema register response - parameters: - AclHost: - name: host - description: The ACL host. - in: query - required: false - schema: - type: string - AclOperation: - name: operation - description: The ACL operation. - in: query - required: false - schema: - $ref: '#/components/schemas/AclOperation' - AclOperationRequired: - name: operation - description: The ACL operation. - in: query - required: true - schema: - $ref: '#/components/schemas/AclOperation' - AclPatternType: - name: pattern_type - description: The ACL pattern type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPatternType' - AclPatternTypeRequired: - name: pattern_type - description: The ACL pattern type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPatternType' - AclPermission: - name: permission - description: The ACL permission. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPermission' - AclPermissionRequired: - name: permission - description: The ACL permission. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPermission' - AclPrincipal: - name: principal - description: The ACL principal. This is the Service Account name or user name. - in: query - required: false - schema: - type: string - AclResourceName: - name: resource_name - description: The ACL resource name. - in: query - required: false - schema: - type: string - AclResourceType: - name: resource_type - description: The ACL resource type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclResourceType' - AclResourceTypeRequired: - name: resource_type - description: The ACL resource type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclResourceType' - BrokerId: - name: broker_id - description: The Kafka broker ID. - in: path - required: true - schema: - type: integer - example: 1 - ClusterId: - name: cluster_id - description: The Kafka cluster ID. - in: path - required: true - schema: - type: string - example: cluster-1 - ConfigName: - name: name - description: The configuration parameter name. - in: path - required: true - schema: - type: string - example: compression.type - ConsumerGroupId: - name: consumer_group_id - description: The consumer group ID. - in: path - required: true - schema: - type: string - example: consumer-group-1 - ConsumerId: - name: consumer_id - description: The consumer ID. - in: path - required: true - schema: - type: string - example: consumer-1 - IncludeAuthorizedOperations: - name: include_authorized_operations - description: Specify if authorized operations should be included in the response. - in: query - required: false - schema: - type: boolean - PartitionId: - name: partition_id - description: The partition ID. - in: path - required: true - schema: - type: integer - example: 0 - TopicName: - name: topic_name - description: The topic name. - in: path - required: true - schema: - type: string - example: topic-1 - BrokerTaskType: - name: task_type - description: The Kafka broker task type. - in: path - required: true - schema: - $ref: '#/components/schemas/BrokerTaskType' - example: remove-broker - ShouldShutdown: - name: should_shutdown - description: 'To shutdown the broker or not, Default: true' - in: query - required: false - schema: - type: boolean - example: true - ValidateOnly: - name: validate_only - description: 'To validate the action can be performed successfully or not. Default: false' - in: query - required: false - schema: - type: boolean - example: false - ValidateLink: - name: validate_link - description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' - in: query - required: false - schema: - type: boolean - example: false - IncludeTasks: - name: include_tasks - description: 'Whether to include cluster linking tasks in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludeStateTransitionErrors: - name: include_state_transition_errors - description: 'Whether to include mirror state transition errors in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - Force: - name: force - description: 'Force the action. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludePartitionLevelTruncationData: - name: include_partition_level_truncation_data - description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - LinkName: - name: link_name - description: The link name - in: path - required: true - schema: - type: string - example: link-sb1 - LinkConfigName: - name: config_name - description: The link config name - in: path - required: true - schema: - type: string - example: consumer.offset.sync.enable - MirrorTopicStatus: - name: mirror_status - description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' - in: query - required: false - schema: - $ref: '#/components/schemas/MirrorTopicStatus' - example: ACTIVE - MirrorTopicName: - name: mirror_topic_name - description: Cluster Linking mirror topic name - in: path - required: true - schema: - type: string - example: topic-1 - QueryParamLinkName: - name: link_name - description: The link name - in: query - required: true - schema: - type: string - example: link-sb1 - responses: - schemaregistry.v1.BadRequestError: - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' - example: - error_code: 400 - message: Bad Request - schemaregistry.v1.UnauthorizedError: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' - example: - error_code: 401 - message: Unauthorized - schemaregistry.v1.ForbiddenError: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' - example: - error_code: 403 - message: Forbidden - RateLimitError: - description: Rate Limit Exceeded - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Retry-After: - schema: - type: integer - description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. - schemaregistry.v1.DefaultSystemError: - description: Internal Server Error - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' - example: - error_code: 500 - message: 'Oops, something went wrong' - schemaregistry.v1.AccountNotFoundError: - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorMessage' - example: - error_code: 404 - message: account not found - securitySchemes: - cloud-api-key: - type: http - scheme: basic - description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. - confluent-sts-access-token: - type: oauth2 - description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' - scopes: {} - api-key: - type: http - scheme: basic - description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. - resource-api-key: - type: http - scheme: basic - description: | - Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID - as the username and resource-specific API Key Secret as the password. - external-access-token: - type: oauth2 - description: Authenticate with OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https:///token' - scopes: {} - oauth: - type: oauth2 - description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. - flows: - clientCredentials: - tokenUrl: /oauth2/token - scopes: - 'partner:alter': enables partners to alter entitlements - 'partner:create': enables partners to create entitlements and signup on behalf of customers - 'partner:delete': enables partners to delete entitlements and organizations - 'partner:describe': enables partners to read and list entitlements and organizations - requestBodies: - AlterBrokerConfigBatchRequest: - description: The alter broker configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterClusterConfigBatchRequest: - description: The alter cluster configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterTopicConfigBatchRequest: - description: The alter topic configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - examples: - batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only_batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only: true - CreateAclRequest: - description: The ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestData' - example: - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - BatchCreateAclRequest: - description: The batch ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestDataList' - example: - data: - - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - - resource_type: TOPIC - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: READ - permission: ALLOW - CreateTopicRequest: - description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTopicRequestData' - examples: - uniform_replication: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - configs: - - name: cleanup.policy - value: compact - - name: compression.type - value: gzip - dry_run_create_topic: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - validate_only: true - ProduceRequest: - description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' - content: - application/json: - schema: - $ref: '#/components/schemas/ProduceRequest' - examples: - binary_and_json: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - partition_id: 1 - headers: - - name: Header-1 - value: SGVhZGVyLTE= - - name: Header-2 - value: SGVhZGVyLTI= - key: - type: BINARY - data: Zm9vYmFy - value: - type: JSON - data: - foo: bar - timestamp: '2021-02-05T19:14:42Z' - string: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - value: - type: STRING - data: My message - empty_value: - description: key or value can be omitted entirely. - value: - key: - data: 1000 - UpdateBrokerConfigRequest: - description: The broker configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateClusterConfigRequest: - description: The cluster configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateTopicConfigRequest: - description: The topic configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - CreateLinkRequest: - description: Create a cluster link - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLinkRequestData' - examples: - destination_initiated_link: - description: Create a destination initiated cluster link - value: - source_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: acl.sync.enable - value: 'false' - - name: consumer.offset.sync.ms - value: '30000' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_source_cluster: - description: Create a source initiated cluster link at source cluster - value: - destination_cluster_id: cluster-2 - configs: - - name: bootstrap.servers - value: cluster-2-bootstrap-server - - name: link.mode - value: SOURCE - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_destination_cluster: - description: Create a source initiated cluster link at destination cluster - value: - destination_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: link.mode - value: DESTINATION - - name: connection.mode - value: INBOUND - - name: acl.sync.enable - value: 'false' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_east: - description: Create a bidirectional cluster link in east - value: - remote_cluster_id: cluster-west - configs: - - name: bootstrap.servers - value: cluster-west-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: west. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_west: - description: Create a bidirectional cluster link in west - value: - remote_cluster_id: cluster-east - cluster_link_id: eEBkTffYSESld6EO898x3w - configs: - - name: bootstrap.servers - value: cluster-east-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: east. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - UpdateLinkConfigRequest: - content: - application/json: - example: - value: '300000' - schema: - $ref: '#/components/schemas/UpdateLinkConfigRequestData' - description: Link config value to update - AlterLinkConfigBatchRequest: - content: - application/json: - example: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - CreateMirrorTopicRequest: - description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateMirrorTopicRequestData' - examples: - generic_example: - description: Generic example of creating a mirror topic - value: - source_topic_name: topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 1 - example_with_mirror_topic_name: - description: Example using optional mirror_topic_name flag - value: - source_topic_name: topic-1 - mirror_topic_name: link1_topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 3 - AlterMirrorsRequest: - description: Mirror topics to be altered. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterMirrorsRequestData' - examples: - mirror_topic_names: - description: Example using mirror topic names - value: - mirror_topic_names: - - topic-1 - - topic-2 - mirror_topic_name_pattern: - description: Example using mirror topic name pattern - value: - mirror_topic_name_pattern: .* - RemoveBrokersRequest: - content: - application/json: - example: - broker_ids: - - 1 - - 2 - - 3 - schema: - $ref: '#/components/schemas/RemoveBrokersRequestData' - description: Broker ids to remove - BrokerReplicaExclusionBatchRequest: - description: Alter Broker Replica Exclusions. - content: - application/json: - schema: - $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' - example: - data: - - broker_id: 1 - reason: The broker is to be removed. - - broker_id: 2 - reason: The broker is to be removed. - x-stackQL-resources: - cluster_config: - id: confluent.schema_registry.cluster_config - name: cluster_config - title: Cluster Config - methods: - get_cluster_config: - operation: - $ref: '#/paths/~1clusterconfig/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/ClusterConfig' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/cluster_config/methods/get_cluster_config' - insert: [] - update: [] - replace: [] - delete: [] - compatibilities: - id: confluent.schema_registry.compatibilities - name: compatibilities - title: Compatibilities - methods: - test_compatibility_by_subject_name: - operation: - $ref: '#/paths/~1compatibility~1subjects~1{subject}~1versions~1{version}/post' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/CompatibilityCheckResponse' - test_compatibility_for_subject: - operation: - $ref: '#/paths/~1compatibility~1subjects~1{subject}~1versions/post' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/CompatibilityCheckResponse' - sqlVerbs: - select: [] - insert: [] - update: [] - replace: [] - delete: [] - subject_level_config: - id: confluent.schema_registry.subject_level_config - name: subject_level_config - title: Subject Level Config - methods: - get_subject_level_config: - operation: - $ref: '#/paths/~1config~1{subject}/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/Config' - update_subject_level_config: - operation: - $ref: '#/paths/~1config~1{subject}/put' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/ConfigUpdateRequest' - delete_subject_config: - operation: - $ref: '#/paths/~1config~1{subject}/delete' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/subject_level_config/methods/get_subject_level_config' - insert: [] - update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/subject_level_config/methods/delete_subject_config' - top_level_config: - id: confluent.schema_registry.top_level_config - name: top_level_config - title: Top Level Config - methods: - get_top_level_config: - operation: - $ref: '#/paths/~1config/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/Config' - update_top_level_config: - operation: - $ref: '#/paths/~1config/put' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/ConfigUpdateRequest' - delete_top_level_config: - operation: - $ref: '#/paths/~1config/delete' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/top_level_config/methods/get_top_level_config' - insert: [] - update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/top_level_config/methods/delete_top_level_config' - exporters: - id: confluent.schema_registry.exporters - name: exporters - title: Exporters - methods: - list_exporters: - operation: - $ref: '#/paths/~1exporters/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - register_exporter: - operation: - $ref: '#/paths/~1exporters/post' - response: - mediaType: application/json; qs=0.5 - openAPIDocKey: '200' - schemaRef: '#/components/schemas/ExporterResponse' - get_exporter_info_by_name: - operation: - $ref: '#/paths/~1exporters~1{name}/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/ExporterReference' - update_exporter_info: - operation: - $ref: '#/paths/~1exporters~1{name}/put' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/ExporterResponse' - delete_exporter: - operation: - $ref: '#/paths/~1exporters~1{name}/delete' - response: - mediaType: application/json - openAPIDocKey: '204' - pause_exporter_by_name: - operation: - $ref: '#/paths/~1exporters~1{name}~1pause/put' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/ExporterResponse' - reset_exporter_by_name: - operation: - $ref: '#/paths/~1exporters~1{name}~1reset/put' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/ExporterResponse' - resume_exporter_by_name: - operation: - $ref: '#/paths/~1exporters~1{name}~1resume/put' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/ExporterResponse' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/exporters/methods/get_exporter_info_by_name' - insert: [] - update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/exporters/methods/delete_exporter' - exporter_status: - id: confluent.schema_registry.exporter_status - name: exporter_status - title: Exporter Status - methods: - get_exporter_status_by_name: - operation: - $ref: '#/paths/~1exporters~1{name}~1status/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/ExporterStatusResponse' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/exporter_status/methods/get_exporter_status_by_name' - insert: [] - update: [] - replace: [] - delete: [] - exporter_configs: - id: confluent.schema_registry.exporter_configs - name: exporter_configs - title: Exporter Configs - methods: - get_exporter_config_by_name: - operation: - $ref: '#/paths/~1exporters~1{name}~1config/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/ExporterConfigResponse' - update_exporter_config_by_name: - operation: - $ref: '#/paths/~1exporters~1{name}~1config/put' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/ExporterResponse' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/exporter_configs/methods/get_exporter_config_by_name' - insert: [] - update: [] - replace: [] - delete: [] - contexts: - id: confluent.schema_registry.contexts - name: contexts - title: Contexts - methods: - list_contexts: - operation: - $ref: '#/paths/~1contexts/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/contexts/methods/list_contexts' - insert: [] - update: [] - replace: [] - delete: [] - modes: - id: confluent.schema_registry.modes - name: modes - title: Modes - methods: - get_mode: - operation: - $ref: '#/paths/~1mode~1{subject}/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/Mode' - update_mode: - operation: - $ref: '#/paths/~1mode~1{subject}/put' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/ModeUpdateRequest' - delete_subject_mode: - operation: - $ref: '#/paths/~1mode~1{subject}/delete' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/Mode' - get_top_level_mode: - operation: - $ref: '#/paths/~1mode/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/Mode' - update_top_level_mode: - operation: - $ref: '#/paths/~1mode/put' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/ModeUpdateRequest' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/modes/methods/get_mode' - - $ref: '#/components/x-stackQL-resources/modes/methods/get_top_level_mode' - insert: [] - update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/modes/methods/delete_subject_mode' - schemas: - id: confluent.schema_registry.schemas - name: schemas - title: Schemas - methods: - get_schema: - operation: - $ref: '#/paths/~1schemas~1ids~1{id}/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/SchemaString' - get_schema_only: - operation: - $ref: '#/paths/~1schemas~1ids~1{id}~1schema/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - get_schemas: - operation: - $ref: '#/paths/~1schemas/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/schemas/methods/get_schema' - - $ref: '#/components/x-stackQL-resources/schemas/methods/get_schemas' - insert: [] - update: [] - replace: [] - delete: [] - types: - id: confluent.schema_registry.types - name: types - title: Types - methods: - get_schema_types: - operation: - $ref: '#/paths/~1schemas~1types/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/types/methods/get_schema_types' - insert: [] - update: [] - replace: [] - delete: [] - schema_subjects: - id: confluent.schema_registry.schema_subjects - name: schema_subjects - title: Schema Subjects - methods: - get_subjects: - operation: - $ref: '#/paths/~1schemas~1ids~1{id}~1subjects/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/schema_subjects/methods/get_subjects' - insert: [] - update: [] - replace: [] - delete: [] - versions: - id: confluent.schema_registry.versions - name: versions - title: Versions - methods: - get_versions: - operation: - $ref: '#/paths/~1schemas~1ids~1{id}~1versions/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - list_versions: - operation: - $ref: '#/paths/~1subjects~1{subject}~1versions/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/versions/methods/get_versions' - - $ref: '#/components/x-stackQL-resources/versions/methods/list_versions' - insert: [] - update: [] - replace: [] - delete: [] - subjects: - id: confluent.schema_registry.subjects - name: subjects - title: Subjects - methods: - get_schema_by_version: - operation: - $ref: '#/paths/~1subjects~1{subject}~1versions~1{version}/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/Schema' - delete_schema_version: - operation: - $ref: '#/paths/~1subjects~1{subject}~1versions~1{version}/delete' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - get_referenced_by: - operation: - $ref: '#/paths/~1subjects~1{subject}~1versions~1{version}~1referencedby/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - get_schema_only_1: - operation: - $ref: '#/paths/~1subjects~1{subject}~1versions~1{version}~1schema/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - register: - operation: - $ref: '#/paths/~1subjects~1{subject}~1versions/post' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/RegisterSchemaResponse' - look_up_schema_under_subject: - operation: - $ref: '#/paths/~1subjects~1{subject}/post' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/Schema' - delete_subject: - operation: - $ref: '#/paths/~1subjects~1{subject}/delete' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - list: - operation: - $ref: '#/paths/~1subjects/get' - response: - mediaType: application/vnd.schemaregistry.v1+json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/subjects/methods/get_schema_by_version' - - $ref: '#/components/x-stackQL-resources/subjects/methods/list' - insert: [] - update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/subjects/methods/delete_schema_version' - - $ref: '#/components/x-stackQL-resources/subjects/methods/delete_subject' -paths: - /clusterconfig: - get: - tags: - - Config (v1) - summary: Get cluster config - description: Retrieves cluster config information. - operationId: getClusterConfig - responses: - '200': - description: The cluster config - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ClusterConfig' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ClusterConfig' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ClusterConfig' - '400': - $ref: '#/components/responses/schemaregistry.v1.BadRequestError' - '401': - $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' - '403': - $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/schemaregistry.v1.DefaultSystemError' - security: - - resource-api-key: [] - - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://psrc-00000.region.provider.confluent.cloud/clusterconfig \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/clusterconfig") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/clusterconfig\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/clusterconfig", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/clusterconfig", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/clusterconfig"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/clusterconfig"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/compatibility/subjects/{subject}/versions/{version}': - post: - tags: - - Compatibility (v1) - summary: Test schema compatibility against a particular schema subject-version - description: 'Test input schema against a particular version of a subject''s schema for compatibility. The compatibility level applied for the check is the configured compatibility level for the subject (http:get:: /config/(string: subject)). If this subject''s compatibility level was never changed, then the global compatibility level applies (http:get:: /config).' - operationId: testCompatibilityBySubjectName - parameters: - - name: subject - in: path - description: Subject of the schema version against which compatibility is to be tested - required: true - schema: - type: string - - name: version - in: path - description: 'Version of the subject''s schema against which compatibility is to be tested. Valid values for versionId are between [1,2^31-1] or the string "latest"."latest" checks compatibility of the input schema with the last registered schema under the specified subject' - required: true - schema: - type: string - - name: verbose - in: query - description: Whether to return detailed error messages - schema: - type: boolean - requestBody: - description: Schema - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/RegisterSchemaRequest' - application/vnd.schemaregistry+json: - schema: - $ref: '#/components/schemas/RegisterSchemaRequest' - application/json: - schema: - $ref: '#/components/schemas/RegisterSchemaRequest' - application/octet-stream: - schema: - $ref: '#/components/schemas/RegisterSchemaRequest' - required: true - responses: - '200': - description: Compatibility check result. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/CompatibilityCheckResponse' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/CompatibilityCheckResponse' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/CompatibilityCheckResponse' - '400': - $ref: '#/components/responses/schemaregistry.v1.BadRequestError' - '401': - $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' - '403': - $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' - '404': - description: Not Found. Error code 40401 indicates subject not found. Error code 40402 indicates version not found. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ErrorMessage' - '422': - description: Unprocessable entity. Error code 42201 indicates an invalid schema or schema type. Error code 42202 indicates an invalid version. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ErrorMessage' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ErrorMessage' - security: - - resource-api-key: [] - - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url 'https://psrc-00000.region.provider.confluent.cloud/compatibility/subjects/{subject}/versions/{version}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/octet-stream' \ - --data '{"version":0,"id":0,"schemaType":"string","references":[{"name":"io.confluent.kafka.example.User","subject":"User","version":1}],"schema":"string","metadata":{"tags":{"property1":["string"],"property2":["string"]},"properties":{"property1":"string","property2":"string"},"sensitive":["string"]},"ruleSet":{"migrationRules":[{"name":"string","doc":"string","kind":"TRANSFORM","mode":"UPGRADE","type":"string","tags":["string"],"params":{"property1":"string","property2":"string"},"expr":"string","onSuccess":"string","onFailure":"string","disabled":true}],"domainRules":[{"name":"string","doc":"string","kind":"TRANSFORM","mode":"UPGRADE","type":"string","tags":["string"],"params":{"property1":"string","property2":"string"},"expr":"string","onSuccess":"string","onFailure":"string","disabled":true}]}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/compatibility/subjects/{subject}/versions/{version}") - .post(body) - .addHeader("content-type", "application/octet-stream") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/compatibility/subjects/{subject}/versions/{version}\"\n\n\tpayload := strings.NewReader(\"{\\\"version\\\":0,\\\"id\\\":0,\\\"schemaType\\\":\\\"string\\\",\\\"references\\\":[{\\\"name\\\":\\\"io.confluent.kafka.example.User\\\",\\\"subject\\\":\\\"User\\\",\\\"version\\\":1}],\\\"schema\\\":\\\"string\\\",\\\"metadata\\\":{\\\"tags\\\":{\\\"property1\\\":[\\\"string\\\"],\\\"property2\\\":[\\\"string\\\"]},\\\"properties\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"sensitive\\\":[\\\"string\\\"]},\\\"ruleSet\\\":{\\\"migrationRules\\\":[{\\\"name\\\":\\\"string\\\",\\\"doc\\\":\\\"string\\\",\\\"kind\\\":\\\"TRANSFORM\\\",\\\"mode\\\":\\\"UPGRADE\\\",\\\"type\\\":\\\"string\\\",\\\"tags\\\":[\\\"string\\\"],\\\"params\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"expr\\\":\\\"string\\\",\\\"onSuccess\\\":\\\"string\\\",\\\"onFailure\\\":\\\"string\\\",\\\"disabled\\\":true}],\\\"domainRules\\\":[{\\\"name\\\":\\\"string\\\",\\\"doc\\\":\\\"string\\\",\\\"kind\\\":\\\"TRANSFORM\\\",\\\"mode\\\":\\\"UPGRADE\\\",\\\"type\\\":\\\"string\\\",\\\"tags\\\":[\\\"string\\\"],\\\"params\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"expr\\\":\\\"string\\\",\\\"onSuccess\\\":\\\"string\\\",\\\"onFailure\\\":\\\"string\\\",\\\"disabled\\\":true}]}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/octet-stream\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}" - - headers = { - 'content-type': "application/octet-stream", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/compatibility/subjects/{subject}/versions/{version}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/compatibility/subjects/{subject}/versions/{version}", - "headers": { - "content-type": "application/octet-stream", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - version: 0, - id: 0, - schemaType: 'string', - references: [{name: 'io.confluent.kafka.example.User', subject: 'User', version: 1}], - schema: 'string', - metadata: { - tags: {property1: ['string'], property2: ['string']}, - properties: {property1: 'string', property2: 'string'}, - sensitive: ['string'] - }, - ruleSet: { - migrationRules: [ - { - name: 'string', - doc: 'string', - kind: 'TRANSFORM', - mode: 'UPGRADE', - type: 'string', - tags: ['string'], - params: {property1: 'string', property2: 'string'}, - expr: 'string', - onSuccess: 'string', - onFailure: 'string', - disabled: true - } - ], - domainRules: [ - { - name: 'string', - doc: 'string', - kind: 'TRANSFORM', - mode: 'UPGRADE', - type: 'string', - tags: ['string'], - params: {property1: 'string', property2: 'string'}, - expr: 'string', - onSuccess: 'string', - onFailure: 'string', - disabled: true - } - ] - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/compatibility/subjects/{subject}/versions/{version}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/octet-stream"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/compatibility/subjects/{subject}/versions/{version}"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/octet-stream"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/octet-stream", "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/compatibility/subjects/{subject}/versions': - post: - tags: - - Compatibility (v1) - summary: Test schema compatibility against all schemas under a subject - description: 'Test input schema against a subject''s schemas for compatibility, based on the configured compatibility level of the subject. In other words, it will perform the same compatibility check as register for that subject. The compatibility level applied for the check is the configured compatibility level for the subject (http:get:: /config/(string: subject)). If this subject''s compatibility level was never changed, then the global compatibility level applies (http:get:: /config).' - operationId: testCompatibilityForSubject - parameters: - - name: subject - in: path - description: Subject of the schema version against which compatibility is to be tested - required: true - schema: - type: string - - name: verbose - in: query - description: Whether to return detailed error messages - schema: - type: boolean - requestBody: - description: Schema - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/RegisterSchemaRequest' - application/vnd.schemaregistry+json: - schema: - $ref: '#/components/schemas/RegisterSchemaRequest' - application/json: - schema: - $ref: '#/components/schemas/RegisterSchemaRequest' - application/octet-stream: - schema: - $ref: '#/components/schemas/RegisterSchemaRequest' - required: true - responses: - '200': - description: Compatibility check result. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/CompatibilityCheckResponse' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/CompatibilityCheckResponse' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/CompatibilityCheckResponse' - '400': - $ref: '#/components/responses/schemaregistry.v1.BadRequestError' - '401': - $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' - '403': - $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ErrorMessage' - security: - - resource-api-key: [] - - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url 'https://psrc-00000.region.provider.confluent.cloud/compatibility/subjects/{subject}/versions' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/octet-stream' \ - --data '{"version":0,"id":0,"schemaType":"string","references":[{"name":"io.confluent.kafka.example.User","subject":"User","version":1}],"schema":"string","metadata":{"tags":{"property1":["string"],"property2":["string"]},"properties":{"property1":"string","property2":"string"},"sensitive":["string"]},"ruleSet":{"migrationRules":[{"name":"string","doc":"string","kind":"TRANSFORM","mode":"UPGRADE","type":"string","tags":["string"],"params":{"property1":"string","property2":"string"},"expr":"string","onSuccess":"string","onFailure":"string","disabled":true}],"domainRules":[{"name":"string","doc":"string","kind":"TRANSFORM","mode":"UPGRADE","type":"string","tags":["string"],"params":{"property1":"string","property2":"string"},"expr":"string","onSuccess":"string","onFailure":"string","disabled":true}]}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/compatibility/subjects/{subject}/versions") - .post(body) - .addHeader("content-type", "application/octet-stream") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/compatibility/subjects/{subject}/versions\"\n\n\tpayload := strings.NewReader(\"{\\\"version\\\":0,\\\"id\\\":0,\\\"schemaType\\\":\\\"string\\\",\\\"references\\\":[{\\\"name\\\":\\\"io.confluent.kafka.example.User\\\",\\\"subject\\\":\\\"User\\\",\\\"version\\\":1}],\\\"schema\\\":\\\"string\\\",\\\"metadata\\\":{\\\"tags\\\":{\\\"property1\\\":[\\\"string\\\"],\\\"property2\\\":[\\\"string\\\"]},\\\"properties\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"sensitive\\\":[\\\"string\\\"]},\\\"ruleSet\\\":{\\\"migrationRules\\\":[{\\\"name\\\":\\\"string\\\",\\\"doc\\\":\\\"string\\\",\\\"kind\\\":\\\"TRANSFORM\\\",\\\"mode\\\":\\\"UPGRADE\\\",\\\"type\\\":\\\"string\\\",\\\"tags\\\":[\\\"string\\\"],\\\"params\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"expr\\\":\\\"string\\\",\\\"onSuccess\\\":\\\"string\\\",\\\"onFailure\\\":\\\"string\\\",\\\"disabled\\\":true}],\\\"domainRules\\\":[{\\\"name\\\":\\\"string\\\",\\\"doc\\\":\\\"string\\\",\\\"kind\\\":\\\"TRANSFORM\\\",\\\"mode\\\":\\\"UPGRADE\\\",\\\"type\\\":\\\"string\\\",\\\"tags\\\":[\\\"string\\\"],\\\"params\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"expr\\\":\\\"string\\\",\\\"onSuccess\\\":\\\"string\\\",\\\"onFailure\\\":\\\"string\\\",\\\"disabled\\\":true}]}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/octet-stream\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}" - - headers = { - 'content-type': "application/octet-stream", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/compatibility/subjects/{subject}/versions", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/compatibility/subjects/{subject}/versions", - "headers": { - "content-type": "application/octet-stream", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - version: 0, - id: 0, - schemaType: 'string', - references: [{name: 'io.confluent.kafka.example.User', subject: 'User', version: 1}], - schema: 'string', - metadata: { - tags: {property1: ['string'], property2: ['string']}, - properties: {property1: 'string', property2: 'string'}, - sensitive: ['string'] - }, - ruleSet: { - migrationRules: [ - { - name: 'string', - doc: 'string', - kind: 'TRANSFORM', - mode: 'UPGRADE', - type: 'string', - tags: ['string'], - params: {property1: 'string', property2: 'string'}, - expr: 'string', - onSuccess: 'string', - onFailure: 'string', - disabled: true - } - ], - domainRules: [ - { - name: 'string', - doc: 'string', - kind: 'TRANSFORM', - mode: 'UPGRADE', - type: 'string', - tags: ['string'], - params: {property1: 'string', property2: 'string'}, - expr: 'string', - onSuccess: 'string', - onFailure: 'string', - disabled: true - } - ] - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/compatibility/subjects/{subject}/versions"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/octet-stream"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/compatibility/subjects/{subject}/versions"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/octet-stream"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/octet-stream", "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/config/{subject}': - get: - tags: - - Config (v1) - summary: Get subject compatibility level - description: |- - Retrieves compatibility level, compatibility group, normalization, - default metadata, and rule set for a subject. - operationId: getSubjectLevelConfig - parameters: - - name: subject - in: path - description: Name of the subject - required: true - schema: - type: string - - name: defaultToGlobal - in: query - description: Whether to return the global compatibility level if subject compatibility level not found - schema: - type: boolean - responses: - '200': - description: The subject compatibility level. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/Config' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/Config' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/Config' - '400': - $ref: '#/components/responses/schemaregistry.v1.BadRequestError' - '401': - $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' - '403': - $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' - '404': - description: Not Found. Error code 40401 indicates subject not found. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ErrorMessage' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ErrorMessage' - security: - - resource-api-key: [] - - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/config/{subject}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/config/{subject}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/config/{subject}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/config/{subject}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/config/{subject}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/config/{subject}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/config/{subject}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - put: - tags: - - Config (v1) - summary: Update subject compatibility level - description: |- - Update compatibility level, compatibility group, normalization, - default metadata, and rule set for the specified subject. On success, - echoes the original request back to the client. - operationId: updateSubjectLevelConfig - parameters: - - name: subject - in: path - description: Name of the subject - required: true - schema: - type: string - requestBody: - description: Config Update Request - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ConfigUpdateRequest' - application/vnd.schemaregistry+json: - schema: - $ref: '#/components/schemas/ConfigUpdateRequest' - application/json: - schema: - $ref: '#/components/schemas/ConfigUpdateRequest' - application/octet-stream: - schema: - $ref: '#/components/schemas/ConfigUpdateRequest' - required: true - responses: - '200': - description: The original request. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ConfigUpdateRequest' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ConfigUpdateRequest' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ConfigUpdateRequest' - '400': - $ref: '#/components/responses/schemaregistry.v1.BadRequestError' - '401': - $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' - '403': - $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' - '422': - description: Unprocessable Entity. Error code 42203 indicates invalid compatibility level. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ErrorMessage' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. Error code 50003 indicates a failure forwarding the request to the primary. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ErrorMessage' - security: - - resource-api-key: [] - - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url 'https://psrc-00000.region.provider.confluent.cloud/config/{subject}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/octet-stream' \ - --data '{"alias":"string","normalize":true,"compatibility":"FULL_TRANSITIVE","compatibilityGroup":"string","defaultMetadata":{"properties":{}},"overrideMetadata":{"properties":{}},"defaultRuleSet":{"properties":{}},"overrideRuleSet":{"properties":{}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"alias\":\"string\",\"normalize\":true,\"compatibility\":\"FULL_TRANSITIVE\",\"compatibilityGroup\":\"string\",\"defaultMetadata\":{\"properties\":{}},\"overrideMetadata\":{\"properties\":{}},\"defaultRuleSet\":{\"properties\":{}},\"overrideRuleSet\":{\"properties\":{}}}"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/config/{subject}") - .put(body) - .addHeader("content-type", "application/octet-stream") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/config/{subject}\"\n\n\tpayload := strings.NewReader(\"{\\\"alias\\\":\\\"string\\\",\\\"normalize\\\":true,\\\"compatibility\\\":\\\"FULL_TRANSITIVE\\\",\\\"compatibilityGroup\\\":\\\"string\\\",\\\"defaultMetadata\\\":{\\\"properties\\\":{}},\\\"overrideMetadata\\\":{\\\"properties\\\":{}},\\\"defaultRuleSet\\\":{\\\"properties\\\":{}},\\\"overrideRuleSet\\\":{\\\"properties\\\":{}}}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/octet-stream\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "{\"alias\":\"string\",\"normalize\":true,\"compatibility\":\"FULL_TRANSITIVE\",\"compatibilityGroup\":\"string\",\"defaultMetadata\":{\"properties\":{}},\"overrideMetadata\":{\"properties\":{}},\"defaultRuleSet\":{\"properties\":{}},\"overrideRuleSet\":{\"properties\":{}}}" - - headers = { - 'content-type': "application/octet-stream", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PUT", "/config/{subject}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/config/{subject}", - "headers": { - "content-type": "application/octet-stream", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - alias: 'string', - normalize: true, - compatibility: 'FULL_TRANSITIVE', - compatibilityGroup: 'string', - defaultMetadata: {properties: {}}, - overrideMetadata: {properties: {}}, - defaultRuleSet: {properties: {}}, - overrideRuleSet: {properties: {}} - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/config/{subject}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/octet-stream"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"alias\":\"string\",\"normalize\":true,\"compatibility\":\"FULL_TRANSITIVE\",\"compatibilityGroup\":\"string\",\"defaultMetadata\":{\"properties\":{}},\"overrideMetadata\":{\"properties\":{}},\"defaultRuleSet\":{\"properties\":{}},\"overrideRuleSet\":{\"properties\":{}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/config/{subject}"); - var request = new RestRequest(Method.PUT); - request.AddHeader("content-type", "application/octet-stream"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/octet-stream", "{\"alias\":\"string\",\"normalize\":true,\"compatibility\":\"FULL_TRANSITIVE\",\"compatibilityGroup\":\"string\",\"defaultMetadata\":{\"properties\":{}},\"overrideMetadata\":{\"properties\":{}},\"defaultRuleSet\":{\"properties\":{}},\"overrideRuleSet\":{\"properties\":{}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - tags: - - Config (v1) - summary: Delete subject compatibility level - description: Deletes the specified subject-level compatibility level config and reverts to the global default. - operationId: deleteSubjectConfig - parameters: - - name: subject - in: path - description: Name of the subject - required: true - schema: + requestBody: + description: Config Update Request + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ConfigUpdateRequest' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/ConfigUpdateRequest' + application/json: + schema: + $ref: '#/components/schemas/ConfigUpdateRequest' + application/octet-stream: + schema: + $ref: '#/components/schemas/ConfigUpdateRequest' + required: true + responses: + '200': + description: The original request. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ConfigUpdateRequest' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ConfigUpdateRequest' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ConfigUpdateRequest' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '422': + description: >- + Unprocessable Entity. Error code 42203 indicates invalid + compatibility level. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. Error code 50003 indicates a failure forwarding + the request to the primary. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + delete: + tags: + - Config (v1) + summary: Delete subject compatibility level + description: >- + Deletes the specified subject-level compatibility level config and + reverts to the global default. + operationId: deleteSubjectConfig + parameters: + - name: subject + in: path + description: Name of the subject + required: true + schema: type: string responses: '200': @@ -4010,99 +500,25 @@ paths: '429': $ref: '#/components/responses/RateLimitError' '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. content: application/vnd.schemaregistry.v1+json: schema: - $ref: '#/components/schemas/ErrorMessage' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ErrorMessage' - security: - - resource-api-key: [] - - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://psrc-00000.region.provider.confluent.cloud/config/{subject}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/config/{subject}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/config/{subject}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/config/{subject}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/config/{subject}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/config/{subject}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/config/{subject}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + security: + - resource-api-key: [] + - external-access-token: [] + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. /config: get: tags: @@ -4134,7 +550,9 @@ paths: '429': $ref: '#/components/responses/RateLimitError' '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. content: application/vnd.schemaregistry.v1+json: schema: @@ -4148,92 +566,16 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://psrc-00000.region.provider.confluent.cloud/config \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/config") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/config\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/config", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/config", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/config"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/config"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); put: tags: - Config (v1) summary: Update global compatibility level - description: |- + description: >- Updates the global compatibility level, compatibility group, - schema normalization, default metadata, and rule set. On success, echoes the + + schema normalization, default metadata, and rule set. On success, echoes + the + original request back to the client. operationId: updateTopLevelConfig requestBody: @@ -4272,7 +614,9 @@ paths: '403': $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' '422': - description: Unprocessable Entity. Error code 42203 indicates invalid compatibility level. + description: >- + Unprocessable Entity. Error code 42203 indicates invalid + compatibility level. content: application/vnd.schemaregistry.v1+json: schema: @@ -4286,7 +630,10 @@ paths: '429': $ref: '#/components/responses/RateLimitError' '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. Error code 50003 indicates a failure forwarding the request to the primary. + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. Error code 50003 indicates a failure forwarding + the request to the primary. content: application/vnd.schemaregistry.v1+json: schema: @@ -4300,116 +647,13 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url https://psrc-00000.region.provider.confluent.cloud/config \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/octet-stream' \ - --data '{"alias":"string","normalize":true,"compatibility":"FULL_TRANSITIVE","compatibilityGroup":"string","defaultMetadata":{"properties":{}},"overrideMetadata":{"properties":{}},"defaultRuleSet":{"properties":{}},"overrideRuleSet":{"properties":{}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"alias\":\"string\",\"normalize\":true,\"compatibility\":\"FULL_TRANSITIVE\",\"compatibilityGroup\":\"string\",\"defaultMetadata\":{\"properties\":{}},\"overrideMetadata\":{\"properties\":{}},\"defaultRuleSet\":{\"properties\":{}},\"overrideRuleSet\":{\"properties\":{}}}"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/config") - .put(body) - .addHeader("content-type", "application/octet-stream") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/config\"\n\n\tpayload := strings.NewReader(\"{\\\"alias\\\":\\\"string\\\",\\\"normalize\\\":true,\\\"compatibility\\\":\\\"FULL_TRANSITIVE\\\",\\\"compatibilityGroup\\\":\\\"string\\\",\\\"defaultMetadata\\\":{\\\"properties\\\":{}},\\\"overrideMetadata\\\":{\\\"properties\\\":{}},\\\"defaultRuleSet\\\":{\\\"properties\\\":{}},\\\"overrideRuleSet\\\":{\\\"properties\\\":{}}}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/octet-stream\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "{\"alias\":\"string\",\"normalize\":true,\"compatibility\":\"FULL_TRANSITIVE\",\"compatibilityGroup\":\"string\",\"defaultMetadata\":{\"properties\":{}},\"overrideMetadata\":{\"properties\":{}},\"defaultRuleSet\":{\"properties\":{}},\"overrideRuleSet\":{\"properties\":{}}}" - - headers = { - 'content-type': "application/octet-stream", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PUT", "/config", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/config", - "headers": { - "content-type": "application/octet-stream", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - alias: 'string', - normalize: true, - compatibility: 'FULL_TRANSITIVE', - compatibilityGroup: 'string', - defaultMetadata: {properties: {}}, - overrideMetadata: {properties: {}}, - defaultRuleSet: {properties: {}}, - overrideRuleSet: {properties: {}} - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/config"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/octet-stream"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"alias\":\"string\",\"normalize\":true,\"compatibility\":\"FULL_TRANSITIVE\",\"compatibilityGroup\":\"string\",\"defaultMetadata\":{\"properties\":{}},\"overrideMetadata\":{\"properties\":{}},\"defaultRuleSet\":{\"properties\":{}},\"overrideRuleSet\":{\"properties\":{}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/config"); - var request = new RestRequest(Method.PUT); - request.AddHeader("content-type", "application/octet-stream"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/octet-stream", "{\"alias\":\"string\",\"normalize\":true,\"compatibility\":\"FULL_TRANSITIVE\",\"compatibilityGroup\":\"string\",\"defaultMetadata\":{\"properties\":{}},\"overrideMetadata\":{\"properties\":{}},\"defaultRuleSet\":{\"properties\":{}},\"overrideRuleSet\":{\"properties\":{}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); delete: tags: - Config (v1) summary: Delete global compatibility level - description: Deletes the global compatibility level config and reverts to the default. + description: >- + Deletes the global compatibility level config and reverts to the + default. operationId: deleteTopLevelConfig responses: '200': @@ -4460,7 +704,9 @@ paths: '429': $ref: '#/components/responses/RateLimitError' '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. content: application/vnd.schemaregistry.v1+json: schema: @@ -4474,85 +720,9 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url https://psrc-00000.region.provider.confluent.cloud/config \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/config") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/config\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/config", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/config", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/config"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/config"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. /exporters: get: tags: @@ -4583,90 +753,13 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://psrc-00000.region.provider.confluent.cloud/exporters \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/exporters") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/exporters\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/exporters", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/exporters", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/exporters"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/exporters"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); post: tags: - Exporters (v1) summary: Creates a new schema exporter - description: Creates a new schema exporter. All attributes in request body are optional except config. + description: >- + Creates a new schema exporter. All attributes in request body are + optional except config. operationId: registerExporter requestBody: description: Schema @@ -4695,7 +788,11 @@ paths: '403': $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' '409': - description: Conflict. Error code 40950 – Missing or invalid exporter name \ Error code 40951 – Missing or invalid exporter config \ Error code 40952 – Invalid exporter subjects \ Error code 40960 – Exporter already exists \ Error code 40964 – Too many exporters + description: >- + Conflict. Error code 40950 – Missing or invalid exporter name \ + Error code 40951 – Missing or invalid exporter config \ Error code + 40952 – Invalid exporter subjects \ Error code 40960 – Exporter + already exists \ Error code 40964 – Too many exporters content: application/vnd.schemaregistry.v1+json: schema: @@ -4713,116 +810,195 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://psrc-00000.region.provider.confluent.cloud/exporters \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"name":"test-exporter","contextType":"CUSTOM","context":"User","subjects":["string"],"subjectRenameFormat":"string","config":{"property1":"string","property2":"string"}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"name\":\"test-exporter\",\"contextType\":\"CUSTOM\",\"context\":\"User\",\"subjects\":[\"string\"],\"subjectRenameFormat\":\"string\",\"config\":{\"property1\":\"string\",\"property2\":\"string\"}}"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/exporters") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/exporters\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"test-exporter\\\",\\\"contextType\\\":\\\"CUSTOM\\\",\\\"context\\\":\\\"User\\\",\\\"subjects\\\":[\\\"string\\\"],\\\"subjectRenameFormat\\\":\\\"string\\\",\\\"config\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "{\"name\":\"test-exporter\",\"contextType\":\"CUSTOM\",\"context\":\"User\",\"subjects\":[\"string\"],\"subjectRenameFormat\":\"string\",\"config\":{\"property1\":\"string\",\"property2\":\"string\"}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/exporters", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/exporters", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - name: 'test-exporter', - contextType: 'CUSTOM', - context: 'User', - subjects: ['string'], - subjectRenameFormat: 'string', - config: {property1: 'string', property2: 'string'} - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/exporters"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"name\":\"test-exporter\",\"contextType\":\"CUSTOM\",\"context\":\"User\",\"subjects\":[\"string\"],\"subjectRenameFormat\":\"string\",\"config\":{\"property1\":\"string\",\"property2\":\"string\"}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/exporters"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"name\":\"test-exporter\",\"contextType\":\"CUSTOM\",\"context\":\"User\",\"subjects\":[\"string\"],\"subjectRenameFormat\":\"string\",\"config\":{\"property1\":\"string\",\"property2\":\"string\"}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/exporters/{name}': + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /exporters/{name}: + get: + tags: + - Exporters (v1) + summary: Gets schema exporter by name + description: Retrieves the information of the schema exporter. + operationId: getExporterInfoByName + parameters: + - name: name + in: path + description: Name of the exporter + required: true + schema: + type: string + responses: + '200': + description: The original request. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ExporterReference' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40450 – Exporter not found + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/schemaregistry.v1.DefaultSystemError' + security: + - resource-api-key: [] + - external-access-token: [] + put: + tags: + - Exporters (v1) + summary: Update schema exporter by name + description: >- + Updates the information or configurations of the schema exporter. All + attributes in request body are optional. + operationId: updateExporterInfo + parameters: + - name: name + in: path + description: Name of the exporter + required: true + schema: + type: string + requestBody: + description: Exporter Update Request + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ExporterUpdateRequest' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/ExporterUpdateRequest' + application/json: + schema: + $ref: '#/components/schemas/ExporterUpdateRequest' + required: true + responses: + '200': + description: The original request. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ExporterResponse' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40401 indicates subject not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + '409': + description: >- + Invalid. Error code 40952 – Invalid exporter subjects. Error code + 40963 – Exporter not paused. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/schemaregistry.v1.DefaultSystemError' + security: + - resource-api-key: [] + - external-access-token: [] + delete: + tags: + - Exporters (v1) + summary: Delete schema exporter by name + description: Deletes the schema exporter. + operationId: deleteExporter + parameters: + - name: name + in: path + description: Name of the exporter + required: true + schema: + type: string + responses: + '204': + description: No content. + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + $ref: '#/components/responses/schemaregistry.v1.AccountNotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/schemaregistry.v1.DefaultSystemError' + security: + - resource-api-key: [] + - external-access-token: [] + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /exporters/{name}/status: + get: + tags: + - Exporters (v1) + summary: Gets schema exporter status by name + description: Retrieves the status of the schema exporter. + operationId: getExporterStatusByName + parameters: + - name: name + in: path + description: Name of the exporter + required: true + schema: + type: string + responses: + '200': + description: The original request. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ExporterStatusResponse' + '400': + $ref: '#/components/responses/schemaregistry.v1.BadRequestError' + '401': + $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' + '403': + $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: Not Found. Error code 40450 – Exporter not found + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/schemaregistry.v1.DefaultSystemError' + security: + - resource-api-key: [] + - external-access-token: [] + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /exporters/{name}/config: get: tags: - Exporters (v1) - summary: Gets schema exporter by name - description: Retrieves the information of the schema exporter. - operationId: getExporterInfoByName + summary: Gets schema exporter config by name + description: Retrieves the config of the schema exporter. + operationId: getExporterConfigByName parameters: - name: name in: path @@ -4832,11 +1008,11 @@ paths: type: string responses: '200': - description: The original request. + description: The original request content: application/vnd.schemaregistry.v1+json: schema: - $ref: '#/components/schemas/ExporterReference' + $ref: '#/components/schemas/ExporterConfigResponse' '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': @@ -4856,91 +1032,12 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/exporters/{name}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/exporters/{name}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/exporters/{name}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/exporters/{name}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/exporters/{name}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); put: tags: - Exporters (v1) - summary: Update schema exporter by name - description: Updates the information or configurations of the schema exporter. All attributes in request body are optional. - operationId: updateExporterInfo + summary: Update schema exporter config by name + description: Updates the configuration of the schema exporter. + operationId: updateExporterConfigByName parameters: - name: name in: path @@ -4953,13 +1050,13 @@ paths: content: application/vnd.schemaregistry.v1+json: schema: - $ref: '#/components/schemas/ExporterUpdateRequest' + $ref: '#/components/schemas/ExporterConfigResponse' application/vnd.schemaregistry+json: schema: - $ref: '#/components/schemas/ExporterUpdateRequest' + $ref: '#/components/schemas/ExporterConfigResponse' application/json: schema: - $ref: '#/components/schemas/ExporterUpdateRequest' + $ref: '#/components/schemas/ExporterConfigResponse' required: true responses: '200': @@ -4981,7 +1078,9 @@ paths: schema: $ref: '#/components/schemas/ErrorMessage' '409': - description: Invalid. Error code 40952 – Invalid exporter subjects. Error code 40963 – Exporter not paused. + description: >- + Invalid. Error code 40952 – Invalid exporter subjects. Error code + 40963 – Exporter not paused. content: application/vnd.schemaregistry.v1+json: schema: @@ -4993,114 +1092,16 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url 'https://psrc-00000.region.provider.confluent.cloud/exporters/{name}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"contextType":"CUSTOM","context":"User","subjects":["string"],"subjectRenameFormat":"string","config":{"property1":"string","property2":"string"}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"contextType\":\"CUSTOM\",\"context\":\"User\",\"subjects\":[\"string\"],\"subjectRenameFormat\":\"string\",\"config\":{\"property1\":\"string\",\"property2\":\"string\"}}"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}") - .put(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/exporters/{name}\"\n\n\tpayload := strings.NewReader(\"{\\\"contextType\\\":\\\"CUSTOM\\\",\\\"context\\\":\\\"User\\\",\\\"subjects\\\":[\\\"string\\\"],\\\"subjectRenameFormat\\\":\\\"string\\\",\\\"config\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"}}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "{\"contextType\":\"CUSTOM\",\"context\":\"User\",\"subjects\":[\"string\"],\"subjectRenameFormat\":\"string\",\"config\":{\"property1\":\"string\",\"property2\":\"string\"}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PUT", "/exporters/{name}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/exporters/{name}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - contextType: 'CUSTOM', - context: 'User', - subjects: ['string'], - subjectRenameFormat: 'string', - config: {property1: 'string', property2: 'string'} - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/exporters/{name}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"contextType\":\"CUSTOM\",\"context\":\"User\",\"subjects\":[\"string\"],\"subjectRenameFormat\":\"string\",\"config\":{\"property1\":\"string\",\"property2\":\"string\"}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}"); - var request = new RestRequest(Method.PUT); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"contextType\":\"CUSTOM\",\"context\":\"User\",\"subjects\":[\"string\"],\"subjectRenameFormat\":\"string\",\"config\":{\"property1\":\"string\",\"property2\":\"string\"}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /exporters/{name}/pause: + put: tags: - Exporters (v1) - summary: Delete schema exporter by name - description: Deletes the schema exporter. - operationId: deleteExporter + summary: Pause schema exporter by name + description: Pauses the state of the schema exporter. + operationId: pauseExporterByName parameters: - name: name in: path @@ -5109,8 +1110,12 @@ paths: schema: type: string responses: - '204': - description: No content. + '200': + description: The original request. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ExporterResponse' '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': @@ -5118,7 +1123,19 @@ paths: '403': $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' '404': - $ref: '#/components/responses/schemaregistry.v1.AccountNotFoundError' + description: Not Found. Error code 40401 indicates subject not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + '409': + description: >- + Invalid. Error code 40952 – Invalid exporter subjects. Error code + 40963 – Exporter not paused. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' '429': $ref: '#/components/responses/RateLimitError' '500': @@ -5126,92 +1143,16 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://psrc-00000.region.provider.confluent.cloud/exporters/{name}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/exporters/{name}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/exporters/{name}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/exporters/{name}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/exporters/{name}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/exporters/{name}/status': - get: + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /exporters/{name}/reset: + put: tags: - Exporters (v1) - summary: Gets schema exporter status by name - description: Retrieves the status of the schema exporter. - operationId: getExporterStatusByName + summary: Reset schema exporter by name + description: Reset the state of the schema exporter. + operationId: resetExporterByName parameters: - name: name in: path @@ -5225,7 +1166,7 @@ paths: content: application/vnd.schemaregistry.v1+json: schema: - $ref: '#/components/schemas/ExporterStatusResponse' + $ref: '#/components/schemas/ExporterResponse' '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': @@ -5238,6 +1179,12 @@ paths: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/ErrorMessage' + '409': + description: Invalid. Error code 40963 – Exporter not paused. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' '429': $ref: '#/components/responses/RateLimitError' '500': @@ -5245,92 +1192,16 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/status' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/status") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/status\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/exporters/{name}/status", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/exporters/{name}/status", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/status"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/status"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/exporters/{name}/config': - get: + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /exporters/{name}/resume: + put: tags: - Exporters (v1) - summary: Gets schema exporter config by name - description: Retrieves the config of the schema exporter. - operationId: getExporterConfigByName + summary: Resume schema exporter by name + description: Resume running of the schema exporter. + operationId: resumeExporterByName parameters: - name: name in: path @@ -5340,11 +1211,11 @@ paths: type: string responses: '200': - description: The original request + description: The original request. content: application/vnd.schemaregistry.v1+json: schema: - $ref: '#/components/schemas/ExporterConfigResponse' + $ref: '#/components/schemas/ExporterResponse' '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': @@ -5352,7 +1223,13 @@ paths: '403': $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' '404': - description: Not Found. Error code 40450 – Exporter not found + description: Not Found. Error code 40450 indicates subject not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + '409': + description: Invalid. Error code 40961 – Exporter already running. content: application/vnd.schemaregistry.v1+json: schema: @@ -5364,264 +1241,113 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/config' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/config") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/config\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/exporters/{name}/config", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/exporters/{name}/config", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/config"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/config"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - put: + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /contexts: + get: tags: - - Exporters (v1) - summary: Update schema exporter config by name - description: Retrieves the config of the schema exporter. - operationId: updateExporterConfigByName + - Contexts (v1) + summary: List contexts + description: Retrieves a list of contexts. + operationId: listContexts parameters: - - name: name - in: path - description: Name of the exporter - required: true + - name: offset + in: query + description: Pagination offset for results schema: - type: string - requestBody: - description: Exporter Update Request - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ExporterConfigResponse' - application/vnd.schemaregistry+json: - schema: - $ref: '#/components/schemas/ExporterConfigResponse' - application/json: - schema: - $ref: '#/components/schemas/ExporterConfigResponse' - required: true + type: integer + format: int32 + default: 0 + - name: limit + in: query + description: Pagination size for results. Ignored if negative + schema: + type: integer + format: int32 + default: -1 responses: '200': - description: The original request. + description: The contexts. content: application/vnd.schemaregistry.v1+json: schema: - $ref: '#/components/schemas/ExporterResponse' + type: array + items: + type: string + example: . + application/vnd.schemaregistry+json; qs=0.9: + schema: + type: array + items: + type: string + example: . + application/json; qs=0.5: + schema: + type: array + items: + type: string + example: . '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' '403': $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' - '404': - description: Not Found. Error code 40401 indicates subject not found. + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/ErrorMessage' - '409': - description: Invalid. Error code 40952 – Invalid exporter subjects. Error code 40963 – Exporter not paused. - content: - application/vnd.schemaregistry.v1+json: + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: schema: $ref: '#/components/schemas/ErrorMessage' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/schemaregistry.v1.DefaultSystemError' security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url 'https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/config' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"schema.registry.url":"","basic.auth.credentials.source":"USER_INFO","basic.auth.user.info":"string"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"schema.registry.url\":\"\",\"basic.auth.credentials.source\":\"USER_INFO\",\"basic.auth.user.info\":\"string\"}"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/config") - .put(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/config\"\n\n\tpayload := strings.NewReader(\"{\\\"schema.registry.url\\\":\\\"\\\",\\\"basic.auth.credentials.source\\\":\\\"USER_INFO\\\",\\\"basic.auth.user.info\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "{\"schema.registry.url\":\"\",\"basic.auth.credentials.source\":\"USER_INFO\",\"basic.auth.user.info\":\"string\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PUT", "/exporters/{name}/config", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/exporters/{name}/config", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - 'schema.registry.url': '', - 'basic.auth.credentials.source': 'USER_INFO', - 'basic.auth.user.info': 'string' - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/config"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"schema.registry.url\":\"\",\"basic.auth.credentials.source\":\"USER_INFO\",\"basic.auth.user.info\":\"string\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/config"); - var request = new RestRequest(Method.PUT); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"schema.registry.url\":\"\",\"basic.auth.credentials.source\":\"USER_INFO\",\"basic.auth.user.info\":\"string\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/exporters/{name}/pause': - put: + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /mode/{subject}: + get: tags: - - Exporters (v1) - summary: Pause schema exporter by name - description: Pauses the state of the schema exporter. - operationId: pauseExporterByName + - Modes (v1) + summary: Get subject mode + description: Retrieves the subject mode. + operationId: getMode parameters: - - name: name + - name: subject in: path - description: Name of the exporter + description: Name of the subject required: true schema: type: string + - name: defaultToGlobal + in: query + description: Whether to return the global mode if subject mode not found + schema: + type: boolean responses: '200': - description: The original request. + description: The subject mode. content: application/vnd.schemaregistry.v1+json: schema: - $ref: '#/components/schemas/ExporterResponse' + $ref: '#/components/schemas/Mode' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/Mode' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/Mode' '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': @@ -5634,244 +1360,151 @@ paths: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/ErrorMessage' - '409': - description: Invalid. Error code 40952 – Invalid exporter subjects. Error code 40963 – Exporter not paused. - content: - application/vnd.schemaregistry.v1+json: + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: schema: $ref: '#/components/schemas/ErrorMessage' '429': $ref: '#/components/responses/RateLimitError' '500': - $ref: '#/components/responses/schemaregistry.v1.DefaultSystemError' + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url 'https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/pause' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/pause") - .put(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/pause\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("PUT", "/exporters/{name}/pause", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/exporters/{name}/pause", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/pause"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/pause"); - var request = new RestRequest(Method.PUT); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/exporters/{name}/reset': put: tags: - - Exporters (v1) - summary: Reset schema exporter by name - description: Reset the state of the schema exporter. - operationId: resetExporterByName + - Modes (v1) + summary: Update subject mode + description: >- + Update mode for the specified subject. On success, echoes the original + request back to the client. + operationId: updateMode parameters: - - name: name + - name: subject in: path - description: Name of the exporter + description: Name of the subject required: true schema: type: string + - name: force + in: query + description: >- + Whether to force update if setting mode to IMPORT and schemas + currently exist + schema: + type: boolean + requestBody: + description: Update Request + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + application/json: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + application/octet-stream: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + required: true responses: '200': description: The original request. content: application/vnd.schemaregistry.v1+json: schema: - $ref: '#/components/schemas/ExporterResponse' + $ref: '#/components/schemas/ModeUpdateRequest' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' '403': $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' - '404': - description: Not Found. Error code 40450 – Exporter not found + '422': + description: >- + Unprocessable Entity. Error code 42204 indicates an invalid mode. + Error code 42205 indicates operation not permitted. content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/ErrorMessage' - '409': - description: Invalid. Error code 40963 – Exporter not paused. - content: - application/vnd.schemaregistry.v1+json: + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: schema: $ref: '#/components/schemas/ErrorMessage' '429': $ref: '#/components/responses/RateLimitError' '500': - $ref: '#/components/responses/schemaregistry.v1.DefaultSystemError' + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. Error code 50003 indicates a failure forwarding + the request to the primary. Error code 50004 indicates unknown + leader. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url 'https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/reset' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/reset") - .put(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/reset\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("PUT", "/exporters/{name}/reset", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/exporters/{name}/reset", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/reset"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/reset"); - var request = new RestRequest(Method.PUT); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/exporters/{name}/resume': - put: + delete: tags: - - Exporters (v1) - summary: Resume schema exporter by name - description: Resume running of the schema exporter. - operationId: resumeExporterByName + - Modes (v1) + summary: Delete subject mode + description: >- + Deletes the specified subject-level mode and reverts to the global + default. + operationId: deleteSubjectMode parameters: - - name: name + - name: subject in: path - description: Name of the exporter + description: Name of the subject required: true schema: type: string responses: '200': - description: The original request. + description: Operation succeeded. Returns old mode. content: application/vnd.schemaregistry.v1+json: schema: - $ref: '#/components/schemas/ExporterResponse' + $ref: '#/components/schemas/Mode' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/Mode' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/Mode' '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': @@ -5879,132 +1512,59 @@ paths: '403': $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' '404': - description: Not Found. Error code 40450 indicates subject not found. + description: Not Found. Error code 40401 indicates subject not found. content: application/vnd.schemaregistry.v1+json: schema: $ref: '#/components/schemas/ErrorMessage' - '409': - description: Invalid. Error code 40961 – Exporter already running. - content: - application/vnd.schemaregistry.v1+json: + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: schema: $ref: '#/components/schemas/ErrorMessage' '429': $ref: '#/components/responses/RateLimitError' '500': - $ref: '#/components/responses/schemaregistry.v1.DefaultSystemError' + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url 'https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/resume' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/resume") - .put(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/resume\"\n\n\treq, _ := http.NewRequest(\"PUT\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("PUT", "/exporters/{name}/resume", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/exporters/{name}/resume", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/resume"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/exporters/{name}/resume"); - var request = new RestRequest(Method.PUT); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /contexts: + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /mode: get: tags: - - Contexts (v1) - summary: List contexts - description: Retrieves a list of contexts. - operationId: listContexts + - Modes (v1) + summary: Get global mode + description: Retrieves global mode. + operationId: getTopLevelMode responses: '200': - description: The contexts. + description: The global mode content: application/vnd.schemaregistry.v1+json: schema: - type: array - items: - type: string - example: . + $ref: '#/components/schemas/Mode' application/vnd.schemaregistry+json; qs=0.9: schema: - type: array - items: - type: string - example: . + $ref: '#/components/schemas/Mode' application/json; qs=0.5: schema: - type: array - items: - type: string - example: . + $ref: '#/components/schemas/Mode' '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': @@ -6014,139 +1574,65 @@ paths: '429': $ref: '#/components/responses/RateLimitError' '500': - description: 'Internal Server Error. Error code 50001 indicates a failure in the backend data store. ' - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ErrorMessage' + description: Error code 50001 -- Error in the backend data store security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://psrc-00000.region.provider.confluent.cloud/contexts \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/contexts") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/contexts\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/contexts", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/contexts", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/contexts"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/contexts"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/mode/{subject}': - get: + put: tags: - Modes (v1) - summary: Get subject mode - description: Retrieves the subject mode. - operationId: getMode + summary: Update global mode + description: >- + Update global mode. On success, echoes the original request back to the + client. + operationId: updateTopLevelMode parameters: - - name: subject - in: path - description: Name of the subject - required: true - schema: - type: string - - name: defaultToGlobal + - name: force in: query - description: Whether to return the global mode if subject mode not found + description: >- + Whether to force update if setting mode to IMPORT and schemas + currently exist schema: type: boolean + requestBody: + description: Update Request + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + application/json: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + application/octet-stream: + schema: + $ref: '#/components/schemas/ModeUpdateRequest' + required: true responses: '200': - description: The subject mode. + description: The original request. content: application/vnd.schemaregistry.v1+json: schema: - $ref: '#/components/schemas/Mode' + $ref: '#/components/schemas/ModeUpdateRequest' application/vnd.schemaregistry+json; qs=0.9: schema: - $ref: '#/components/schemas/Mode' + $ref: '#/components/schemas/ModeUpdateRequest' application/json; qs=0.5: schema: - $ref: '#/components/schemas/Mode' + $ref: '#/components/schemas/ModeUpdateRequest' '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' '403': $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' - '404': - description: Not Found. Error code 40401 indicates subject not found. + '422': + description: >- + Unprocessable Entity. Error code 42204 indicates an invalid mode. + Error code 42205 indicates operation not permitted. content: application/vnd.schemaregistry.v1+json: schema: @@ -6160,7 +1646,11 @@ paths: '429': $ref: '#/components/responses/RateLimitError' '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. Error code 50003 indicates a failure forwarding + the request to the primary. Error code 50004 indicates unknown + leader. content: application/vnd.schemaregistry.v1+json: schema: @@ -6174,140 +1664,60 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/mode/{subject}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/mode/{subject}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/mode/{subject}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/mode/{subject}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/mode/{subject}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/mode/{subject}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/mode/{subject}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - put: + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /schemas/ids/{id}: + get: tags: - - Modes (v1) - summary: Update subject mode - description: 'Update mode for the specified subject. On success, echoes the original request back to the client.' - operationId: updateMode + - Schemas (v1) + summary: Get schema string by ID + description: Retrieves the schema string identified by the input ID. + operationId: getSchema parameters: - - name: subject + - name: id in: path - description: Name of the subject + description: Globally unique identifier of the schema required: true + schema: + type: integer + format: int32 + - name: subject + in: query + description: Name of the subject schema: type: string - - name: force + - name: format in: query - description: Whether to force update if setting mode to IMPORT and schemas currently exist + description: >- + Desired output format, dependent on schema type. For AVRO schemas, + valid values are: " " (default) or "resolved". For PROTOBUF schemas, + valid values are: " " (default), "ignore_extensions", or + "serialized" (The parameter does not apply to JSON schemas.) schema: - type: boolean - requestBody: - description: Update Request - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ModeUpdateRequest' - application/vnd.schemaregistry+json: - schema: - $ref: '#/components/schemas/ModeUpdateRequest' - application/json: - schema: - $ref: '#/components/schemas/ModeUpdateRequest' - application/octet-stream: - schema: - $ref: '#/components/schemas/ModeUpdateRequest' - required: true + type: string + default: '' responses: '200': - description: The original request. + description: The schema string. content: application/vnd.schemaregistry.v1+json: schema: - $ref: '#/components/schemas/ModeUpdateRequest' + $ref: '#/components/schemas/SchemaString' application/vnd.schemaregistry+json; qs=0.9: schema: - $ref: '#/components/schemas/ModeUpdateRequest' + $ref: '#/components/schemas/SchemaString' application/json; qs=0.5: schema: - $ref: '#/components/schemas/ModeUpdateRequest' + $ref: '#/components/schemas/SchemaString' '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' '403': $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' - '422': - description: Unprocessable Entity. Error code 42204 indicates an invalid mode. Error code 42205 indicates operation not permitted. + '404': + description: Not Found. Error code 40403 indicates schema not found. content: application/vnd.schemaregistry.v1+json: schema: @@ -6321,7 +1731,9 @@ paths: '429': $ref: '#/components/responses/RateLimitError' '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. Error code 50003 indicates a failure forwarding the request to the primary. Error code 50004 indicates unknown leader. + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. content: application/vnd.schemaregistry.v1+json: schema: @@ -6335,128 +1747,55 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url 'https://psrc-00000.region.provider.confluent.cloud/mode/{subject}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/octet-stream' \ - --data '{"mode":"READWRITE"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"mode\":\"READWRITE\"}"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/mode/{subject}") - .put(body) - .addHeader("content-type", "application/octet-stream") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/mode/{subject}\"\n\n\tpayload := strings.NewReader(\"{\\\"mode\\\":\\\"READWRITE\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/octet-stream\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "{\"mode\":\"READWRITE\"}" - - headers = { - 'content-type': "application/octet-stream", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PUT", "/mode/{subject}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/mode/{subject}", - "headers": { - "content-type": "application/octet-stream", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({mode: 'READWRITE'})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/mode/{subject}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/octet-stream"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"mode\":\"READWRITE\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/mode/{subject}"); - var request = new RestRequest(Method.PUT); - request.AddHeader("content-type", "application/octet-stream"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/octet-stream", "{\"mode\":\"READWRITE\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /schemas/ids/{id}/schema: + get: tags: - - Modes (v1) - summary: Delete subject mode - description: Deletes the specified subject-level mode and reverts to the global default. - operationId: deleteSubjectMode + - Schemas (v1) + summary: Get schema by ID + description: Retrieves the schema identified by the input ID. + operationId: getSchemaOnly parameters: - - name: subject + - name: id in: path - description: Name of the subject + description: Globally unique identifier of the schema required: true + schema: + type: integer + format: int32 + - name: subject + in: query + description: Name of the subject + schema: + type: string + - name: format + in: query + description: >- + Desired output format, dependent on schema type. For AVRO schemas, + valid values are: " " (default) or "resolved". For PROTOBUF schemas, + valid values are: " " (default), "ignore_extensions", or + "serialized" (The parameter does not apply to JSON schemas.) schema: type: string + default: '' responses: '200': - description: Operation succeeded. Returns old mode. + description: Raw schema string. content: application/vnd.schemaregistry.v1+json: schema: - $ref: '#/components/schemas/Mode' + type: string + example: '{"schema": "{"type": "string"}"}' application/vnd.schemaregistry+json; qs=0.9: schema: - $ref: '#/components/schemas/Mode' + type: string + example: '{"schema": "{"type": "string"}"}' application/json; qs=0.5: schema: - $ref: '#/components/schemas/Mode' + type: string + example: '{"schema": "{"type": "string"}"}' '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': @@ -6464,7 +1803,7 @@ paths: '403': $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' '404': - description: Not Found. Error code 40401 indicates subject not found. + description: Not Found. Error code 40403 indicates schema not found. content: application/vnd.schemaregistry.v1+json: schema: @@ -6478,7 +1817,9 @@ paths: '429': $ref: '#/components/responses/RateLimitError' '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. content: application/vnd.schemaregistry.v1+json: schema: @@ -6492,105 +1833,38 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://psrc-00000.region.provider.confluent.cloud/mode/{subject}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/mode/{subject}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/mode/{subject}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/mode/{subject}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/mode/{subject}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/mode/{subject}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/mode/{subject}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /mode: + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /schemas/types: get: tags: - - Modes (v1) - summary: Get global mode - description: Retrieves global mode. - operationId: getTopLevelMode + - Schemas (v1) + summary: List supported schema types + description: Retrieve the schema types supported by this registry. + operationId: getSchemaTypes responses: '200': - description: The global mode + description: List of supported schema types. content: application/vnd.schemaregistry.v1+json: schema: - $ref: '#/components/schemas/Mode' + type: array + items: + type: string + example: AVRO application/vnd.schemaregistry+json; qs=0.9: schema: - $ref: '#/components/schemas/Mode' + type: array + items: + type: string + example: AVRO application/json; qs=0.5: schema: - $ref: '#/components/schemas/Mode' + type: array + items: + type: string + example: AVRO '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': @@ -6600,152 +1874,110 @@ paths: '429': $ref: '#/components/responses/RateLimitError' '500': - description: Error code 50001 -- Error in the backend data store + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://psrc-00000.region.provider.confluent.cloud/mode \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/mode") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/mode\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/mode", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/mode", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/mode"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/mode"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - put: + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /schemas: + get: tags: - - Modes (v1) - summary: Update global mode - description: 'Update global mode. On success, echoes the original request back to the client.' - operationId: updateTopLevelMode + - Schemas (v1) + summary: List schemas + description: Get the schemas matching the specified parameters. + operationId: getSchemas parameters: - - name: force + - name: subjectPrefix + in: query + description: Filters results by the respective subject prefix + schema: + type: string + default: '' + - name: aliases + in: query + description: Whether to include aliases in the search + schema: + type: boolean + default: false + - name: deleted + in: query + description: Whether to return soft deleted schemas + schema: + type: boolean + default: false + - name: latestOnly + in: query + description: >- + Whether to return latest schema versions only for each matching + subject + schema: + type: boolean + default: false + - name: ruleType in: query - description: Whether to force update if setting mode to IMPORT and schemas currently exist + description: Filters results by the given rule type schema: - type: boolean - requestBody: - description: Update Request - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ModeUpdateRequest' - application/vnd.schemaregistry+json: - schema: - $ref: '#/components/schemas/ModeUpdateRequest' - application/json: - schema: - $ref: '#/components/schemas/ModeUpdateRequest' - application/octet-stream: - schema: - $ref: '#/components/schemas/ModeUpdateRequest' - required: true + type: string + default: '' + - name: offset + in: query + description: Pagination offset for results + schema: + type: integer + format: int32 + default: 0 + - name: limit + in: query + description: Pagination size for results. Ignored if negative + schema: + type: integer + format: int32 + default: -1 responses: '200': - description: The original request. + description: List of schemas matching the specified parameters. content: application/vnd.schemaregistry.v1+json: schema: - $ref: '#/components/schemas/ModeUpdateRequest' + type: array + items: + $ref: '#/components/schemas/Schema' application/vnd.schemaregistry+json; qs=0.9: schema: - $ref: '#/components/schemas/ModeUpdateRequest' + type: array + items: + $ref: '#/components/schemas/Schema' application/json; qs=0.5: schema: - $ref: '#/components/schemas/ModeUpdateRequest' + type: array + items: + $ref: '#/components/schemas/Schema' '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' '403': $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' - '422': - description: Unprocessable Entity. Error code 42204 indicates an invalid mode. Error code 42205 indicates operation not permitted. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ErrorMessage' '429': $ref: '#/components/responses/RateLimitError' '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. Error code 50003 indicates a failure forwarding the request to the primary. Error code 50004 indicates unknown leader. + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. content: application/vnd.schemaregistry.v1+json: schema: @@ -6759,109 +1991,16 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url https://psrc-00000.region.provider.confluent.cloud/mode \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/octet-stream' \ - --data '{"mode":"READWRITE"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"mode\":\"READWRITE\"}"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/mode") - .put(body) - .addHeader("content-type", "application/octet-stream") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/mode\"\n\n\tpayload := strings.NewReader(\"{\\\"mode\\\":\\\"READWRITE\\\"}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/octet-stream\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "{\"mode\":\"READWRITE\"}" - - headers = { - 'content-type': "application/octet-stream", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PUT", "/mode", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/mode", - "headers": { - "content-type": "application/octet-stream", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({mode: 'READWRITE'})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/mode"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/octet-stream"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"mode\":\"READWRITE\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/mode"); - var request = new RestRequest(Method.PUT); - request.AddHeader("content-type", "application/octet-stream"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/octet-stream", "{\"mode\":\"READWRITE\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/schemas/ids/{id}': + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /schemas/ids/{id}/subjects: get: tags: - Schemas (v1) - summary: Get schema string by ID - description: Retrieves the schema string identified by the input ID. - operationId: getSchema + summary: List subjects associated to schema ID + description: Retrieves all the subjects associated with a particular schema ID. + operationId: getSubjects parameters: - name: id in: path @@ -6872,34 +2011,60 @@ paths: format: int32 - name: subject in: query - description: Name of the subject + description: Filters results by the respective subject schema: type: string - name: format in: query - description: 'Desired output format, dependent on schema type' + description: >- + Desired output format, dependent on schema type. For AVRO schemas, + valid values are: " " (default) or "resolved". For PROTOBUF schemas, + valid values are: " " (default), "ignore_extensions", or + "serialized" (The parameter does not apply to JSON schemas.) schema: type: string default: '' - - name: fetchMaxId + - name: deleted in: query - description: Whether to fetch the maximum schema identifier that exists + description: Whether to include subjects where the schema was deleted schema: type: boolean - default: false + - name: offset + in: query + description: Pagination offset for results + schema: + type: integer + format: int32 + default: 0 + - name: limit + in: query + description: Pagination size for results. Ignored if negative + schema: + type: integer + format: int32 + default: -1 responses: '200': - description: The schema string. + description: List of subjects matching the specified parameters. content: application/vnd.schemaregistry.v1+json: schema: - $ref: '#/components/schemas/SchemaString' + type: array + items: + type: string + example: User application/vnd.schemaregistry+json; qs=0.9: schema: - $ref: '#/components/schemas/SchemaString' + type: array + items: + type: string + example: User application/json; qs=0.5: schema: - $ref: '#/components/schemas/SchemaString' + type: array + items: + type: string + example: User '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': @@ -6921,7 +2086,9 @@ paths: '429': $ref: '#/components/responses/RateLimitError' '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. content: application/vnd.schemaregistry.v1+json: schema: @@ -6935,92 +2102,16 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/schemas/ids/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/schemas/ids/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/schemas/ids/{id}/schema': + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /schemas/ids/{id}/versions: get: tags: - Schemas (v1) - summary: Get schema by ID - description: Retrieves the schema identified by the input ID. - operationId: getSchemaOnly + summary: List subject-versions associated to schema ID + description: Get all the subject-version pairs associated with the input ID. + operationId: getVersions parameters: - name: id in: path @@ -7031,31 +2122,47 @@ paths: format: int32 - name: subject in: query - description: Name of the subject + description: Filters results by the respective subject schema: type: string - - name: format + - name: deleted in: query - description: 'Desired output format, dependent on schema type' + description: Whether to include subject versions where the schema was deleted schema: - type: string - default: '' + type: boolean + - name: offset + in: query + description: Pagination offset for results + schema: + type: integer + format: int32 + default: 0 + - name: limit + in: query + description: Pagination size for results. Ignored if negative + schema: + type: integer + format: int32 + default: -1 responses: '200': - description: Raw schema string. + description: List of subject versions matching the specified parameters. content: application/vnd.schemaregistry.v1+json: schema: - type: string - example: '{"schema": "{"type": "string"}"}' + type: array + items: + $ref: '#/components/schemas/SubjectVersion' application/vnd.schemaregistry+json; qs=0.9: schema: - type: string - example: '{"schema": "{"type": "string"}"}' + type: array + items: + $ref: '#/components/schemas/SubjectVersion' application/json; qs=0.5: schema: - type: string - example: '{"schema": "{"type": "string"}"}' + type: array + items: + $ref: '#/components/schemas/SubjectVersion' '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': @@ -7077,7 +2184,9 @@ paths: '429': $ref: '#/components/responses/RateLimitError' '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. content: application/vnd.schemaregistry.v1+json: schema: @@ -7091,124 +2200,102 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/schema' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/schema") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/schema\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/schemas/ids/{id}/schema", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/schemas/ids/{id}/schema", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/schema"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/schema"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /schemas/types: + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /subjects/{subject}/versions/{version}: get: tags: - - Schemas (v1) - summary: List supported schema types - description: Retrieve the schema types supported by this registry. - operationId: getSchemaTypes + - Subjects (v1) + summary: Get schema by version + description: >- + Retrieves a specific version of the schema registered under this + subject. + operationId: getSchemaByVersion + parameters: + - name: subject + in: path + description: Name of the subject + required: true + schema: + type: string + - name: version + in: path + description: >- + Version of the schema to be returned. Valid values for versionId are + between [1,2^31-1] or the string "latest". "latest" returns the last + registered schema under the specified subject. Note that there may + be a new latest schema that gets registered right after this request + is served. + required: true + schema: + type: string + - name: format + in: query + description: >- + Desired output format, dependent on schema type. For AVRO schemas, + valid values are: " " (default) or "resolved". For PROTOBUF schemas, + valid values are: " " (default), "ignore_extensions", or + "serialized" (The parameter does not apply to JSON schemas.) + schema: + type: string + default: '' + - name: deleted + in: query + description: Whether to include deleted schema + schema: + type: boolean responses: '200': - description: List of supported schema types. + description: The schema. content: application/vnd.schemaregistry.v1+json: schema: - type: array - items: - type: string - example: AVRO + $ref: '#/components/schemas/Schema' application/vnd.schemaregistry+json; qs=0.9: schema: - type: array - items: - type: string - example: AVRO + $ref: '#/components/schemas/Schema' application/json; qs=0.5: schema: - type: array - items: - type: string - example: AVRO + $ref: '#/components/schemas/Schema' '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' '403': $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: >- + Not Found. Error code 40401 indicates subject not found. Error code + 40402 indicates version not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '422': + description: Unprocessable Entity. Error code 42202 indicates an invalid version. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' '429': $ref: '#/components/responses/RateLimitError' '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. content: application/vnd.schemaregistry.v1+json: schema: @@ -7222,154 +2309,99 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://psrc-00000.region.provider.confluent.cloud/schemas/types \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/schemas/types") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/schemas/types\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/schemas/types", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/schemas/types", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/schemas/types"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/schemas/types"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /schemas: - get: + delete: tags: - - Schemas (v1) - summary: List schemas - description: Get the schemas matching the specified parameters. - operationId: getSchemas + - Subjects (v1) + summary: Delete schema version + description: >- + Deletes a specific version of the schema registered under this subject. + This only deletes the version and the schema ID remains intact making it + still possible to decode data using the schema ID. This API is + recommended to be used only in development environments or under extreme + circumstances where-in, its required to delete a previously registered + schema for compatibility purposes or re-register previously registered + schema. + operationId: deleteSchemaVersion parameters: - - name: subjectPrefix - in: query - description: Filters results by the respective subject prefix + - name: subject + in: path + description: Name of the subject + required: true schema: type: string - default: '' - - name: deleted - in: query - description: Whether to return soft deleted schemas + - name: version + in: path + description: >- + Version of the schema to be returned. Valid values for versionId are + between [1,2^31-1] or the string "latest". "latest" returns the last + registered schema under the specified subject. Note that there may + be a new latest schema that gets registered right after this request + is served. + required: true schema: - type: boolean - default: false - - name: latestOnly + type: string + - name: permanent in: query - description: Whether to return latest schema versions only for each matching subject + description: Whether to perform a permanent delete schema: type: boolean - default: false - - name: offset - in: query - description: Pagination offset for results - schema: - type: integer - format: int32 - default: 0 - - name: limit - in: query - description: Pagination size for results. Ignored if negative - schema: - type: integer - format: int32 - default: -1 responses: '200': - description: List of schemas matching the specified parameters. + description: Operation succeeded. Returns the schema version. content: application/vnd.schemaregistry.v1+json: schema: - type: array - items: - $ref: '#/components/schemas/Schema' + type: integer + format: int32 + example: 1 application/vnd.schemaregistry+json; qs=0.9: schema: - type: array - items: - $ref: '#/components/schemas/Schema' + type: integer + format: int32 + example: 1 application/json; qs=0.5: schema: - type: array - items: - $ref: '#/components/schemas/Schema' + type: integer + format: int32 + example: 1 '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' '403': $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' + '404': + description: >- + Not Found. Error code 40401 indicates subject not found. Error code + 40402 indicates version not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '422': + description: Unprocessable Entity. Error code 42202 indicates an invalid version. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' '429': $ref: '#/components/responses/RateLimitError' '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. content: application/vnd.schemaregistry.v1+json: schema: @@ -7383,132 +2415,73 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://psrc-00000.region.provider.confluent.cloud/schemas \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/schemas") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/schemas\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/schemas", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/schemas", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/schemas"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/schemas"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/schemas/ids/{id}/subjects': + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /subjects/{subject}/versions/{version}/referencedby: get: tags: - - Schemas (v1) - summary: List subjects associated to schema ID - description: Retrieves all the subjects associated with a particular schema ID. - operationId: getSubjects + - Subjects (v1) + summary: List schemas referencing a schema + description: Retrieves the IDs of schemas that reference the specified schema. + operationId: getReferencedBy parameters: - - name: id + - name: subject in: path - description: Globally unique identifier of the schema + description: Name of the subject required: true schema: - type: integer - format: int32 - - name: subject - in: query - description: Filters results by the respective subject + type: string + - name: version + in: path + description: >- + Version of the schema to be returned. Valid values for versionId are + between [1,2^31-1] or the string "latest". "latest" returns the last + registered schema under the specified subject. Note that there may + be a new latest schema that gets registered right after this request + is served. + required: true schema: type: string - - name: deleted + - name: offset in: query - description: Whether to include subjects where the schema was deleted + description: Pagination offset for results schema: - type: boolean + type: integer + format: int32 + default: 0 + - name: limit + in: query + description: Pagination size for results. Ignored if negative + schema: + type: integer + format: int32 + default: -1 responses: '200': - description: List of subjects matching the specified parameters. + description: List of IDs for schemas that reference the specified schema. content: application/vnd.schemaregistry.v1+json: schema: type: array items: - type: string - example: User + type: integer + format: int32 + example: 100001 application/vnd.schemaregistry+json; qs=0.9: schema: type: array items: - type: string - example: User + type: integer + format: int32 + example: 100001 application/json; qs=0.5: schema: type: array items: - type: string - example: User + type: integer + format: int32 + example: 100001 '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': @@ -7516,7 +2489,21 @@ paths: '403': $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' '404': - description: Not Found. Error code 40403 indicates schema not found. + description: >- + Not Found. Error code 40401 indicates subject not found. Error code + 40402 indicates version not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '422': + description: Unprocessable Entity. Error code 42202 indicates an invalid version. content: application/vnd.schemaregistry.v1+json: schema: @@ -7530,7 +2517,9 @@ paths: '429': $ref: '#/components/responses/RateLimitError' '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. content: application/vnd.schemaregistry.v1+json: schema: @@ -7544,129 +2533,57 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/subjects' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/subjects") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/subjects\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/schemas/ids/{id}/subjects", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/schemas/ids/{id}/subjects", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/subjects"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/subjects"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/schemas/ids/{id}/versions': + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /subjects/{subject}/versions/{version}/schema: get: tags: - - Schemas (v1) - summary: List subject-versions associated to schema ID - description: Get all the subject-version pairs associated with the input ID. - operationId: getVersions + - Subjects (v1) + summary: Get schema string by version + description: >- + Retrieves the schema for the specified version of this subject. Only the + unescaped schema string is returned. + operationId: getSchemaOnly_1 parameters: - - name: id + - name: subject in: path - description: Globally unique identifier of the schema + description: Name of the subject required: true schema: - type: integer - format: int32 - - name: subject - in: query - description: Filters results by the respective subject + type: string + - name: version + in: path + description: >- + Version of the schema to be returned. Valid values for versionId are + between [1,2^31-1] or the string "latest". "latest" returns the last + registered schema under the specified subject. Note that there may + be a new latest schema that gets registered right after this request + is served. + required: true schema: type: string - name: deleted in: query - description: Whether to include subject versions where the schema was deleted + description: Whether to include deleted schema schema: type: boolean responses: '200': - description: List of subject versions matching the specified parameters. + description: The schema string. content: application/vnd.schemaregistry.v1+json: schema: - type: array - items: - $ref: '#/components/schemas/SubjectVersion' + type: string + example: '{"schema": "{"type": "string"}"}' application/vnd.schemaregistry+json; qs=0.9: schema: - type: array - items: - $ref: '#/components/schemas/SubjectVersion' + type: string + example: '{"schema": "{"type": "string"}"}' application/json; qs=0.5: schema: - type: array - items: - $ref: '#/components/schemas/SubjectVersion' + type: string + example: '{"schema": "{"type": "string"}"}' '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': @@ -7674,7 +2591,21 @@ paths: '403': $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' '404': - description: Not Found. Error code 40403 indicates schema not found. + description: >- + Not Found. Error code 40401 indicates subject not found. Error code + 40402 indicates version not found. + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/vnd.schemaregistry+json; qs=0.9: + schema: + $ref: '#/components/schemas/ErrorMessage' + application/json; qs=0.5: + schema: + $ref: '#/components/schemas/ErrorMessage' + '422': + description: Unprocessable Entity. Error code 42202 indicates an invalid version. content: application/vnd.schemaregistry.v1+json: schema: @@ -7688,7 +2619,9 @@ paths: '429': $ref: '#/components/responses/RateLimitError' '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. content: application/vnd.schemaregistry.v1+json: schema: @@ -7702,92 +2635,16 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/versions' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/versions") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/versions\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/schemas/ids/{id}/versions", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/schemas/ids/{id}/versions", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/versions"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/schemas/ids/{id}/versions"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/subjects/{subject}/versions/{version}': + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /subjects/{subject}/versions: get: tags: - Subjects (v1) - summary: Get schema by version - description: Retrieves a specific version of the schema registered under this subject. - operationId: getSchemaByVersion + summary: List versions under subject + description: Retrieves a list of versions registered under the specified subject. + operationId: listVersions parameters: - name: subject in: path @@ -7795,30 +2652,55 @@ paths: required: true schema: type: string - - name: version - in: path - description: 'Version of the schema to be returned. Valid values for versionId are between [1,2^31-1] or the string "latest". "latest" returns the last registered schema under the specified subject. Note that there may be a new latest schema that gets registered right after this request is served.' - required: true - schema: - type: string - name: deleted in: query - description: Whether to include deleted schema + description: Whether to include deleted schemas schema: type: boolean + - name: deletedOnly + in: query + description: Whether to return deleted schemas only + schema: + type: boolean + - name: offset + in: query + description: Pagination offset for results + schema: + type: integer + format: int32 + default: 0 + - name: limit + in: query + description: Pagination size for results. Ignored if negative + schema: + type: integer + format: int32 + default: -1 responses: '200': - description: The schema. + description: List of version numbers matching the specified parameters. content: application/vnd.schemaregistry.v1+json: schema: - $ref: '#/components/schemas/Schema' + type: array + items: + type: integer + format: int32 + example: 1 application/vnd.schemaregistry+json; qs=0.9: schema: - $ref: '#/components/schemas/Schema' + type: array + items: + type: integer + format: int32 + example: 1 application/json; qs=0.5: schema: - $ref: '#/components/schemas/Schema' + type: array + items: + type: integer + format: int32 + example: 1 '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': @@ -7826,19 +2708,7 @@ paths: '403': $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' '404': - description: Not Found. Error code 40401 indicates subject not found. Error code 40402 indicates version not found. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ErrorMessage' - '422': - description: Unprocessable Entity. Error code 42202 indicates an invalid version. + description: 'Not Found. Error code 40401 indicates subject not found. ' content: application/vnd.schemaregistry.v1+json: schema: @@ -7852,7 +2722,9 @@ paths: '429': $ref: '#/components/responses/RateLimitError' '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. content: application/vnd.schemaregistry.v1+json: schema: @@ -7866,91 +2738,32 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/subjects/{subject}/versions/{version}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/subjects/{subject}/versions/{version}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - delete: + post: tags: - Subjects (v1) - summary: Delete schema version - description: 'Deletes a specific version of the schema registered under this subject. This only deletes the version and the schema ID remains intact making it still possible to decode data using the schema ID. This API is recommended to be used only in development environments or under extreme circumstances where-in, its required to delete a previously registered schema for compatibility purposes or re-register previously registered schema.' - operationId: deleteSchemaVersion + summary: Register schema under a subject + description: >- + Register a new schema under the specified subject. If successfully + registered, this returns the unique identifier of this schema in the + registry. The returned identifier should be used to retrieve this schema + from the schemas resource and is different from the schema's version + which is associated with the subject. If the same schema is registered + under a different subject, the same identifier will be returned. + However, the version of the schema may be different under different + subjects. + + A schema should be compatible with the previously registered schema or + schemas (if there are any) as per the configured compatibility level. + The configured compatibility level can be obtained by issuing a GET + http:get:: /config/(string: subject). If that returns null, then GET + http:get:: /config + + When there are multiple instances of Schema Registry running in the same + cluster, the schema registration request will be forwarded to one of the + instances designated as the primary. If the primary is not available, + the client will get an error code indicating that the forwarding has + failed. + operationId: register parameters: - name: subject in: path @@ -7958,44 +2771,58 @@ paths: required: true schema: type: string - - name: version - in: path - description: 'Version of the schema to be returned. Valid values for versionId are between [1,2^31-1] or the string "latest". "latest" returns the last registered schema under the specified subject. Note that there may be a new latest schema that gets registered right after this request is served.' - required: true - schema: - type: string - - name: permanent + - name: normalize in: query - description: Whether to perform a permanent delete + description: Whether to register the normalized schema schema: type: boolean + - name: format + in: query + description: >- + Desired output format, dependent on schema type. For AVRO schemas, + valid values are: " " (default) or "resolved". For PROTOBUF schemas, + valid values are: " " (default), "ignore_extensions", or + "serialized" (The parameter does not apply to JSON schemas.) + schema: + type: string + default: '' + requestBody: + description: Schema + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/octet-stream: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + required: true responses: '200': - description: Operation succeeded. Returns the schema version. + description: Schema successfully registered. content: application/vnd.schemaregistry.v1+json: schema: - type: integer - format: int32 - example: 1 + $ref: '#/components/schemas/RegisterSchemaResponse' application/vnd.schemaregistry+json; qs=0.9: schema: - type: integer - format: int32 - example: 1 + $ref: '#/components/schemas/RegisterSchemaResponse' application/json; qs=0.5: schema: - type: integer - format: int32 - example: 1 + $ref: '#/components/schemas/RegisterSchemaResponse' '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' '403': $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' - '404': - description: Not Found. Error code 40401 indicates subject not found. Error code 40402 indicates version not found. + '409': + description: Conflict. Incompatible schema. content: application/vnd.schemaregistry.v1+json: schema: @@ -8007,7 +2834,9 @@ paths: schema: $ref: '#/components/schemas/ErrorMessage' '422': - description: Unprocessable Entity. Error code 42202 indicates an invalid version. + description: >- + Unprocessable entity. Error code 42201 indicates an invalid schema + or schema type. content: application/vnd.schemaregistry.v1+json: schema: @@ -8021,7 +2850,11 @@ paths: '429': $ref: '#/components/responses/RateLimitError' '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. Error code 50002 indicates operation timed out. + Error code 50003 indicates a failure forwarding the request to the + primary. content: application/vnd.schemaregistry.v1+json: schema: @@ -8035,130 +2868,75 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/subjects/{subject}/versions/{version}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/subjects/{subject}/versions/{version}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/subjects/{subject}/versions/{version}/referencedby': - get: + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /subjects/{subject}: + post: tags: - Subjects (v1) - summary: List schemas referencing a schema - description: Retrieves the IDs of schemas that reference the specified schema. - operationId: getReferencedBy + summary: Lookup schema under subject + description: >- + Check if a schema has already been registered under the specified + subject. If so, this returns the schema string along with its globally + unique identifier, its version under this subject and the subject name. + operationId: lookUpSchemaUnderSubject parameters: - name: subject in: path - description: Name of the subject + description: Subject under which the schema will be registered required: true schema: type: string - - name: version - in: path - description: 'Version of the schema to be returned. Valid values for versionId are between [1,2^31-1] or the string "latest". "latest" returns the last registered schema under the specified subject. Note that there may be a new latest schema that gets registered right after this request is served.' - required: true + - name: normalize + in: query + description: Whether to lookup the normalized schema + schema: + type: boolean + - name: format + in: query + description: >- + Desired output format, dependent on schema type. For AVRO schemas, + valid values are: " " (default) or "resolved". For PROTOBUF schemas, + valid values are: " " (default), "ignore_extensions", or + "serialized" (The parameter does not apply to JSON schemas.) schema: type: string + default: '' + - name: deleted + in: query + description: Whether to lookup deleted schemas + schema: + type: boolean + requestBody: + description: Schema + content: + application/vnd.schemaregistry.v1+json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/vnd.schemaregistry+json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/json: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + application/octet-stream: + schema: + $ref: '#/components/schemas/RegisterSchemaRequest' + required: true responses: '200': - description: List of IDs for schemas that reference the specified schema. + description: The schema. content: application/vnd.schemaregistry.v1+json: schema: - type: array - items: - type: integer - format: int32 - example: 100001 + $ref: '#/components/schemas/Schema' application/vnd.schemaregistry+json; qs=0.9: schema: - type: array - items: - type: integer - format: int32 - example: 100001 + $ref: '#/components/schemas/Schema' application/json; qs=0.5: schema: - type: array - items: - type: integer - format: int32 - example: 100001 + $ref: '#/components/schemas/Schema' '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': @@ -8166,19 +2944,9 @@ paths: '403': $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' '404': - description: Not Found. Error code 40401 indicates subject not found. Error code 40402 indicates version not found. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ErrorMessage' - '422': - description: Unprocessable Entity. Error code 42202 indicates an invalid version. + description: >- + Not Found. Error code 40401 indicates subject not found. Error code + 40403 indicates schema not found. content: application/vnd.schemaregistry.v1+json: schema: @@ -8192,7 +2960,7 @@ paths: '429': $ref: '#/components/responses/RateLimitError' '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + description: Internal Server Error. content: application/vnd.schemaregistry.v1+json: schema: @@ -8206,92 +2974,15 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}/referencedby' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}/referencedby") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}/referencedby\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/subjects/{subject}/versions/{version}/referencedby", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/subjects/{subject}/versions/{version}/referencedby", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}/referencedby"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}/referencedby"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/subjects/{subject}/versions/{version}/schema': - get: + delete: tags: - Subjects (v1) - summary: Get schema string by version - description: Retrieves the schema for the specified version of this subject. Only the unescaped schema string is returned. - operationId: getSchemaOnly_1 + summary: Delete subject + description: >- + Deletes the specified subject and its associated compatibility level if + registered. It is recommended to use this API only when a topic needs to + be recycled or in development environment. + operationId: deleteSubject parameters: - name: subject in: path @@ -8299,33 +2990,36 @@ paths: required: true schema: type: string - - name: version - in: path - description: 'Version of the schema to be returned. Valid values for versionId are between [1,2^31-1] or the string "latest". "latest" returns the last registered schema under the specified subject. Note that there may be a new latest schema that gets registered right after this request is served.' - required: true - schema: - type: string - - name: deleted + - name: permanent in: query - description: Whether to include deleted schema + description: Whether to perform a permanent delete schema: type: boolean responses: '200': - description: The schema string. + description: Operation succeeded. Returns list of schema versions deleted content: application/vnd.schemaregistry.v1+json: schema: - type: string - example: '{"schema": "{"type": "string"}"}' + type: array + items: + type: integer + format: int32 + example: 1 application/vnd.schemaregistry+json; qs=0.9: schema: - type: string - example: '{"schema": "{"type": "string"}"}' + type: array + items: + type: integer + format: int32 + example: 1 application/json; qs=0.5: schema: - type: string - example: '{"schema": "{"type": "string"}"}' + type: array + items: + type: integer + format: int32 + example: 1 '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': @@ -8333,19 +3027,7 @@ paths: '403': $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' '404': - description: Not Found. Error code 40401 indicates subject not found. Error code 40402 indicates version not found. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ErrorMessage' - '422': - description: Unprocessable Entity. Error code 42202 indicates an invalid version. + description: Not Found. Error code 40401 indicates subject not found. content: application/vnd.schemaregistry.v1+json: schema: @@ -8359,7 +3041,9 @@ paths: '429': $ref: '#/components/responses/RateLimitError' '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. content: application/vnd.schemaregistry.v1+json: schema: @@ -8373,137 +3057,81 @@ paths: security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}/schema' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}/schema") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}/schema\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/subjects/{subject}/versions/{version}/schema", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/subjects/{subject}/versions/{version}/schema", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}/schema"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions/{version}/schema"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/subjects/{subject}/versions': + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /subjects: get: tags: - Subjects (v1) - summary: List versions under subject - description: Retrieves a list of versions registered under the specified subject. - operationId: listVersions + summary: List subjects + description: Retrieves a list of registered subjects matching specified parameters. + operationId: list parameters: - - name: subject - in: path - description: Name of the subject - required: true + - name: subjectPrefix + in: query + description: Subject name prefix schema: type: string + default: ':*:' - name: deleted in: query - description: Whether to include deleted schemas + description: Whether to look up deleted subjects + schema: + type: boolean + - name: deletedOnly + in: query + description: Whether to return deleted subjects only schema: type: boolean + - name: offset + in: query + description: Pagination offset for results + schema: + type: integer + format: int32 + default: 0 + - name: limit + in: query + description: Pagination size for results. Ignored if negative + schema: + type: integer + format: int32 + default: -1 responses: '200': - description: List of version numbers matching the specified parameters. + description: List of subjects matching the specified parameters. content: application/vnd.schemaregistry.v1+json: schema: type: array items: - type: integer - format: int32 - example: 1 + type: string + example: User application/vnd.schemaregistry+json; qs=0.9: schema: type: array items: - type: integer - format: int32 - example: 1 + type: string + example: User application/json; qs=0.5: schema: type: array items: - type: integer - format: int32 - example: 1 + type: string + example: User '400': $ref: '#/components/responses/schemaregistry.v1.BadRequestError' '401': $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' '403': $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' - '404': - description: 'Not Found. Error code 40401 indicates subject not found. ' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + description: >- + Internal Server Error. Error code 50001 indicates a failure in the + backend data store. content: application/vnd.schemaregistry.v1+json: schema: @@ -8514,862 +3142,1288 @@ paths: application/json; qs=0.5: schema: $ref: '#/components/schemas/ErrorMessage' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. + security: + - resource-api-key: [] + - external-access-token: [] + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. + /subjects/{subject}/metadata: + get: + tags: + - Subjects (v1) + summary: Retrieve the latest version with the given metadata. + description: Retrieve the latest version with the given metadata. + operationId: getLatestWithMetadata + parameters: + - name: subject + in: path + description: Subject under which the schema will be registered + required: true + schema: + type: string + - name: key + in: query + description: >- + The metadata key. Add "?key=key" at the end of the request to match + a metadata key. This query parameter can appear multiple times. Each + instance is matched with a corresponding value query parameter, in + order. + schema: + type: string + - name: value + in: query + description: >- + The metadata value. Add "?value=value" at the end of the request to + match a metadata value. This query parameter can appear multiple + times. Each instance is matched with a corresponding key query + parameter, in order. + schema: + type: string + - name: format + in: query + description: >- + Desired output format, dependent on schema type. For AVRO schemas, + valid values are: " " (default) or "resolved". For PROTOBUF schemas, + valid values are: " " (default), "ignore_extensions", or + "serialized" (The parameter does not apply to JSON schemas.) + schema: + type: string + default: '' + - name: deleted + in: query + description: Whether to lookup deleted schemas + schema: + type: boolean + responses: + '200': + description: The schema. content: application/vnd.schemaregistry.v1+json: schema: - $ref: '#/components/schemas/ErrorMessage' + $ref: '#/components/schemas/Schema' application/vnd.schemaregistry+json; qs=0.9: schema: - $ref: '#/components/schemas/ErrorMessage' + $ref: '#/components/schemas/Schema' application/json; qs=0.5: schema: - $ref: '#/components/schemas/ErrorMessage' + $ref: '#/components/schemas/Schema' + '404': + description: |- + Error code 40401 -- Subject not found + Error code 40403 -- Schema not found + '500': + description: Internal Server Error. security: - resource-api-key: [] - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/subjects/{subject}/versions", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/subjects/{subject}/versions", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions"); + servers: + - url: https://psrc-00000.region.provider.confluent.cloud + description: Confluent Cloud Schema Registry Endpoint. +components: + schemas: + ClusterConfig: + type: object + properties: + maxSchemas: + type: integer + description: Maximum number of registered schemas allowed + format: int32 + example: 20000 + maxRequestsPerSec: + type: integer + description: Maximum number of allowed requests per second + format: int32 + example: 25 + description: Cluster Config + RegisterSchemaRequest: + type: object + properties: + version: + type: integer + description: Version number + format: int32 + id: + type: integer + description: Globally unique identifier of the schema + format: int32 + schemaType: + type: string + description: Schema type + references: + type: array + description: References to other schemas + items: + $ref: '#/components/schemas/SchemaReference' + schema: + type: string + description: Schema definition string + metadata: + $ref: '#/components/schemas/Metadata' + ruleSet: + $ref: '#/components/schemas/RuleSet' + schemaTagsToAdd: + type: array + items: + $ref: '#/components/schemas/SchemaTags' + schemaTagsToRemove: + type: array + items: + $ref: '#/components/schemas/SchemaTags' + propagateSchemaTags: + type: boolean + description: Schema register request + CompatibilityCheckResponse: + type: object + properties: + is_compatible: + type: boolean + description: Whether the compared schemas are compatible + messages: + type: array + description: Error messages + example: [] + items: + type: string + description: Error messages + example: '[]' + description: Compatibility check response + ErrorMessage: + type: object + properties: + error_code: + type: integer + description: The error code + format: int32 + message: + type: string + description: The error message + description: Error message of this operation + Config: + type: object + properties: + alias: + type: string + description: |- + If alias is specified, then this subject is an alias for the subject + named by the alias. That means that any reference to this subject + will be replaced by the alias. + normalize: + type: boolean + description: >- + If true, then schemas are automatically normalized when registered + or - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); + when passed during lookups. This means that clients do not have to - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - tags: - - Subjects (v1) - summary: Register schema under a subject - description: |- - Register a new schema under the specified subject. If successfully registered, this returns the unique identifier of this schema in the registry. The returned identifier should be used to retrieve this schema from the schemas resource and is different from the schema's version which is associated with the subject. If the same schema is registered under a different subject, the same identifier will be returned. However, the version of the schema may be different under different subjects. - A schema should be compatible with the previously registered schema or schemas (if there are any) as per the configured compatibility level. The configured compatibility level can be obtained by issuing a GET http:get:: /config/(string: subject). If that returns null, then GET http:get:: /config - When there are multiple instances of Schema Registry running in the same cluster, the schema registration request will be forwarded to one of the instances designated as the primary. If the primary is not available, the client will get an error code indicating that the forwarding has failed. - operationId: register - parameters: - - name: subject - in: path + pass the "normalize" query parameter to have normalization occur. + compatibilityLevel: + type: string + description: Compatibility Level + example: FULL_TRANSITIVE + x-extensible-enum: + - BACKWARD + - BACKWARD_TRANSITIVE + - FORWARD + - FORWARD_TRANSITIVE + - FULL + - FULL_TRANSITIVE + - NONE + compatibilityGroup: + type: string + description: |- + Only schemas that belong to the same compatibility group will be + checked for compatibility. + defaultMetadata: + type: object + description: >- + Default value for the metadata to be used during schema + registration. + properties: + properties: + type: string + description: >- + The metadata properties and their new values (opaque JSON + object) + overrideMetadata: + type: object + description: >- + Override value for the metadata to be used during schema + registration. + properties: + properties: + type: string + description: >- + The metadata properties and their new values (opaque JSON + object) + defaultRuleSet: + type: object + description: Default value for the ruleSet to be used during schema registration. + properties: + properties: + type: string + description: >- + The metadata properties and their new values (opaque JSON + object) + overrideRuleSet: + type: object + description: >- + Override value for the ruleSet to be used during schema + registration. + properties: + properties: + type: string + description: >- + The metadata properties and their new values (opaque JSON + object) + description: Config + ConfigUpdateRequest: + type: object + properties: + alias: + type: string + description: |- + If alias is specified, then this subject is an alias for the subject + named by the alias. That means that any reference to this subject + will be replaced by the alias. + normalize: + type: boolean + description: |- + If true, then schemas are automatically normalized when registered + or when passed during lookups. This means that clients do not have + to pass the "normalize" query parameter to have normalization occur. + compatibility: + type: string + description: Compatibility Level + example: FULL_TRANSITIVE + x-extensible-enum: + - BACKWARD + - BACKWARD_TRANSITIVE + - FORWARD + - FORWARD_TRANSITIVE + - FULL + - FULL_TRANSITIVE + - NONE + compatibilityGroup: + type: string + description: |- + Only schemas that belong to the same compatibility group will be + checked for compatibility. + defaultMetadata: + type: object + description: >- + Default value for the metadata to be used during schema + registration. + properties: + properties: + type: string + description: >- + The metadata properties and their new values (opaque JSON + object) + overrideMetadata: + type: object + description: >- + Override value for the metadata to be used during schema + registration. + properties: + properties: + type: string + description: >- + The metadata properties and their new values (opaque JSON + object) + defaultRuleSet: + type: object + description: Default value for the ruleSet to be used during schema registration. + properties: + properties: + type: string + description: >- + The metadata properties and their new values (opaque JSON + object) + overrideRuleSet: + type: object + description: >- + Override value for the ruleSet to be used during schema + registration. + properties: + properties: + type: string + description: >- + The metadata properties and their new values (opaque JSON + object) + description: Config update request + ExporterReference: + type: object + properties: + name: + type: string + description: Name of the exporter + example: test-exporter + contextType: + description: Context type of the exporter. One of CUSTOM, NONE or AUTO (default) + type: string + example: CUSTOM + x-extensible-enum: + - CUSTOM + - AUTO + - NONE + context: + type: string + description: Customized context of the exporter if contextType equals CUSTOM. + example: User + subjects: + type: array + description: Name of each exporter subject + items: + type: string + kekRenameFormat: + type: string + description: >- + Format string for the KEK name in the destination cluster, which may + contain ${kek} as a placeholder for the originating KEK name. For + example, dc_${kek} for the KEK aws_key will map to the destination + KEK name dc_aws_key. + subjectRenameFormat: + type: string + description: >- + Format string for the subject name in the destination cluster, which + may contain ${subject} as a placeholder for the originating subject + name. For example, dc_${subject} for the subject orders will map to + the destination subject name dc_orders. + config: + type: object + description: The map containing exporter's configurations + additionalProperties: + type: string + description: The format for a typical exporter object + ExporterResponse: + type: object + properties: + name: + type: string + description: Name of the exporter + example: test-exporter + description: Exporter register response + ExporterUpdateRequest: + type: object + properties: + contextType: + description: Context type of the exporter. One of CUSTOM, NONE or AUTO (default) + type: string + example: CUSTOM + x-extensible-enum: + - CUSTOM + - AUTO + - NONE + context: + type: string + description: Customized context of the exporter if contextType equals CUSTOM. + example: User + subjects: + type: array + description: Name of each exporter subject + items: + type: string + kekRenameFormat: + type: string + description: |- + Format string for the KEK name in the destination cluster, which may + contain ${kek} as a placeholder for the originating KEK name. For + example, dc_${kek} for the KEK aws_key will map to the destination + KEK name dc_aws_key. + subjectRenameFormat: + type: string + description: |- + Format string for the subject name in the destination cluster, which + may contain ${subject} as a placeholder for the originating subject + name. For example, dc_${subject} for the subject orders will map to + the destination subject name dc_orders. + config: + type: object + description: The map containing exporter's configurations + additionalProperties: + type: string + description: Exporter update request + ExporterStatusResponse: + type: object + properties: + name: + description: Name of exporter. + type: string + example: test-exporter + state: + type: string + description: State of the exporter. Could be STARTING, RUNNING or PAUSED + example: RUNNING + x-extensible-enum: + - STARTING + - RUNNING + - PAUSED + offset: + type: integer + description: Offset of the exporter + format: int64 + example: 100 + ts: + type: integer + description: Timestamp of the exporter + format: int64 + example: 1631206325 + trace: + description: Error trace of the exporter + type: string + example: '' + description: Exporter status get request + ExporterConfigResponse: + type: object + properties: + schema.registry.url: + description: Config SR URL + type: string + example: + basic.auth.credentials.source: + description: Config SR Auth + type: string + example: USER_INFO + basic.auth.user.info: + description: Config SR User Info + type: string + description: The map containing exporter's configurations + Mode: + type: object + properties: + mode: + type: string + description: Schema Registry operating mode + example: READWRITE + x-extensible-enum: + - READWRITE + - READONLY + - READONLY_OVERRIDE + - IMPORT + description: Schema Registry operating mode + ModeUpdateRequest: + type: object + properties: + mode: + type: string + description: Schema Registry operating mode + example: READWRITE + x-extensible-enum: + - READWRITE + - READONLY + - READONLY_OVERRIDE + - IMPORT + description: Mode update request + SchemaString: + type: object + properties: + schemaType: + type: string + description: Schema type + example: AVRO + schema: + type: string + description: Schema string identified by the ID + example: '{"schema": "{"type": "string"}"}' + references: + type: array + description: References to other schemas + items: + $ref: '#/components/schemas/SchemaReference' + metadata: + $ref: '#/components/schemas/Metadata' + ruleSet: + $ref: '#/components/schemas/RuleSet' + schemaTags: + type: array + description: Schema tags + items: + $ref: '#/components/schemas/SchemaTags' + maxId: + type: integer + description: Maximum ID + format: int32 + example: 1 + description: Schema definition + Schema: + type: object + properties: + subject: + type: string description: Name of the subject - required: true - schema: + example: User + version: + type: integer + description: Version number + format: int32 + example: 1 + id: + type: integer + description: Globally unique identifier of the schema + format: int32 + example: 100001 + schemaType: + type: string + description: Schema type + example: AVRO + references: + type: array + description: References to other schemas + items: + $ref: '#/components/schemas/SchemaReference' + schema: + type: string + description: Schema definition string + example: '{"schema": "{"type": "string"}"}' + metadata: + $ref: '#/components/schemas/Metadata' + ruleSet: + $ref: '#/components/schemas/RuleSet' + schemaTags: + type: array + description: Schema tags + items: + $ref: '#/components/schemas/SchemaTags' + description: Schema + SubjectVersion: + type: object + properties: + subject: + type: string + description: Name of the subject + example: User + version: + type: integer + description: Version number + format: int32 + example: 1 + description: Subject version pair + RegisterSchemaResponse: + type: object + properties: + id: + type: integer + description: Globally unique identifier of the schema + format: int32 + example: 100001 + description: Schema register response + SchemaReference: + type: object + properties: + name: + type: string + description: Reference name + example: io.confluent.kafka.example.User + subject: + type: string + description: Name of the referenced subject + example: User + version: + type: integer + description: Version number of the referenced subject + format: int32 + example: 1 + description: Schema reference + Metadata: + description: User-defined metadata + nullable: true + properties: + tags: + additionalProperties: + items: + type: string + type: array + uniqueItems: true + type: object + properties: + additionalProperties: type: string - - name: normalize - in: query - description: Whether to register the normalized schema - schema: - type: boolean - requestBody: - description: Schema - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/RegisterSchemaRequest' - application/vnd.schemaregistry+json: - schema: - $ref: '#/components/schemas/RegisterSchemaRequest' - application/json: - schema: - $ref: '#/components/schemas/RegisterSchemaRequest' - application/octet-stream: - schema: - $ref: '#/components/schemas/RegisterSchemaRequest' - required: true - responses: - '200': - description: Schema successfully registered. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/RegisterSchemaResponse' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/RegisterSchemaResponse' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/RegisterSchemaResponse' - '400': - $ref: '#/components/responses/schemaregistry.v1.BadRequestError' - '401': - $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' - '403': - $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' - '409': - description: Conflict. Incompatible schema. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ErrorMessage' - '422': - description: 'Unprocessable entity. Error code 42201 indicates an invalid schema or schema type. ' - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ErrorMessage' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store.Error code 50002 indicates operation timed out. Error code 50003 indicates a failure forwarding the request to the primary. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ErrorMessage' - security: - - resource-api-key: [] - - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url 'https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/octet-stream' \ - --data '{"version":0,"id":0,"schemaType":"string","references":[{"name":"io.confluent.kafka.example.User","subject":"User","version":1}],"schema":"string","metadata":{"tags":{"property1":["string"],"property2":["string"]},"properties":{"property1":"string","property2":"string"},"sensitive":["string"]},"ruleSet":{"migrationRules":[{"name":"string","doc":"string","kind":"TRANSFORM","mode":"UPGRADE","type":"string","tags":["string"],"params":{"property1":"string","property2":"string"},"expr":"string","onSuccess":"string","onFailure":"string","disabled":true}],"domainRules":[{"name":"string","doc":"string","kind":"TRANSFORM","mode":"UPGRADE","type":"string","tags":["string"],"params":{"property1":"string","property2":"string"},"expr":"string","onSuccess":"string","onFailure":"string","disabled":true}]}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions") - .post(body) - .addHeader("content-type", "application/octet-stream") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions\"\n\n\tpayload := strings.NewReader(\"{\\\"version\\\":0,\\\"id\\\":0,\\\"schemaType\\\":\\\"string\\\",\\\"references\\\":[{\\\"name\\\":\\\"io.confluent.kafka.example.User\\\",\\\"subject\\\":\\\"User\\\",\\\"version\\\":1}],\\\"schema\\\":\\\"string\\\",\\\"metadata\\\":{\\\"tags\\\":{\\\"property1\\\":[\\\"string\\\"],\\\"property2\\\":[\\\"string\\\"]},\\\"properties\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"sensitive\\\":[\\\"string\\\"]},\\\"ruleSet\\\":{\\\"migrationRules\\\":[{\\\"name\\\":\\\"string\\\",\\\"doc\\\":\\\"string\\\",\\\"kind\\\":\\\"TRANSFORM\\\",\\\"mode\\\":\\\"UPGRADE\\\",\\\"type\\\":\\\"string\\\",\\\"tags\\\":[\\\"string\\\"],\\\"params\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"expr\\\":\\\"string\\\",\\\"onSuccess\\\":\\\"string\\\",\\\"onFailure\\\":\\\"string\\\",\\\"disabled\\\":true}],\\\"domainRules\\\":[{\\\"name\\\":\\\"string\\\",\\\"doc\\\":\\\"string\\\",\\\"kind\\\":\\\"TRANSFORM\\\",\\\"mode\\\":\\\"UPGRADE\\\",\\\"type\\\":\\\"string\\\",\\\"tags\\\":[\\\"string\\\"],\\\"params\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"expr\\\":\\\"string\\\",\\\"onSuccess\\\":\\\"string\\\",\\\"onFailure\\\":\\\"string\\\",\\\"disabled\\\":true}]}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/octet-stream\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}" - - headers = { - 'content-type': "application/octet-stream", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/subjects/{subject}/versions", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/subjects/{subject}/versions", - "headers": { - "content-type": "application/octet-stream", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - version: 0, - id: 0, - schemaType: 'string', - references: [{name: 'io.confluent.kafka.example.User', subject: 'User', version: 1}], - schema: 'string', - metadata: { - tags: {property1: ['string'], property2: ['string']}, - properties: {property1: 'string', property2: 'string'}, - sensitive: ['string'] - }, - ruleSet: { - migrationRules: [ - { - name: 'string', - doc: 'string', - kind: 'TRANSFORM', - mode: 'UPGRADE', - type: 'string', - tags: ['string'], - params: {property1: 'string', property2: 'string'}, - expr: 'string', - onSuccess: 'string', - onFailure: 'string', - disabled: true - } - ], - domainRules: [ - { - name: 'string', - doc: 'string', - kind: 'TRANSFORM', - mode: 'UPGRADE', - type: 'string', - tags: ['string'], - params: {property1: 'string', property2: 'string'}, - expr: 'string', - onSuccess: 'string', - onFailure: 'string', - disabled: true - } - ] - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/octet-stream"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}/versions"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/octet-stream"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/octet-stream", "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/subjects/{subject}': - post: - tags: - - Subjects (v1) - summary: Lookup schema under subject - description: 'Check if a schema has already been registered under the specified subject. If so, this returns the schema string along with its globally unique identifier, its version under this subject and the subject name.' - operationId: lookUpSchemaUnderSubject - parameters: - - name: subject - in: path - description: Subject under which the schema will be registered - required: true - schema: + type: object + sensitive: + items: + type: string + type: array + uniqueItems: true + type: object + RuleSet: + description: Schema rule set + nullable: true + properties: + migrationRules: + items: + $ref: '#/components/schemas/Rule' + type: array + domainRules: + items: + $ref: '#/components/schemas/Rule' + type: array + type: object + SchemaTags: + type: object + properties: + schemaEntity: + $ref: '#/components/schemas/SchemaEntity' + tags: + type: array + items: + type: string + Rule: + description: Rule + properties: + name: + description: Rule name + type: string + doc: + description: Rule doc + type: string + kind: + description: Rule kind + enum: + - TRANSFORM + - CONDITION + type: string + mode: + description: Rule mode + enum: + - UPGRADE + - DOWNGRADE + - UPDOWN + - WRITE + - READ + - WRITEREAD + type: string + type: + description: Rule type + type: string + tags: + description: The tags to which this rule applies + items: + description: The tags to which this rule applies type: string - - name: normalize - in: query - description: Whether to lookup the normalized schema - schema: - type: boolean - - name: deleted - in: query - description: Whether to lookup deleted schemas + type: array + uniqueItems: true + params: + additionalProperties: + description: Optional params for the rule + type: string + description: Optional params for the rule + type: object + expr: + description: Rule expression + type: string + onSuccess: + description: Rule action on success + type: string + onFailure: + description: Rule action on failure + type: string + disabled: + description: Whether the rule is disabled + type: boolean + type: object + SchemaEntity: + type: object + properties: + entityPath: + type: string + entityType: + type: string + enum: + - sr_record + - sr_field + responses: + schemaregistry.v1.BadRequestError: + description: Bad Request + content: + application/json: schema: - type: boolean - requestBody: - description: Schema - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/RegisterSchemaRequest' - application/vnd.schemaregistry+json: - schema: - $ref: '#/components/schemas/RegisterSchemaRequest' - application/json: - schema: - $ref: '#/components/schemas/RegisterSchemaRequest' - application/octet-stream: - schema: - $ref: '#/components/schemas/RegisterSchemaRequest' - required: true - responses: - '200': - description: The schema. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/Schema' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/Schema' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/Schema' - '400': - $ref: '#/components/responses/schemaregistry.v1.BadRequestError' - '401': - $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' - '403': - $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' - '404': - description: Not Found. Error code 40401 indicates subject not found. Error code 40403 indicates schema not found. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ErrorMessage' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - description: Internal Server Error. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ErrorMessage' - security: - - resource-api-key: [] - - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url 'https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/octet-stream' \ - --data '{"version":0,"id":0,"schemaType":"string","references":[{"name":"io.confluent.kafka.example.User","subject":"User","version":1}],"schema":"string","metadata":{"tags":{"property1":["string"],"property2":["string"]},"properties":{"property1":"string","property2":"string"},"sensitive":["string"]},"ruleSet":{"migrationRules":[{"name":"string","doc":"string","kind":"TRANSFORM","mode":"UPGRADE","type":"string","tags":["string"],"params":{"property1":"string","property2":"string"},"expr":"string","onSuccess":"string","onFailure":"string","disabled":true}],"domainRules":[{"name":"string","doc":"string","kind":"TRANSFORM","mode":"UPGRADE","type":"string","tags":["string"],"params":{"property1":"string","property2":"string"},"expr":"string","onSuccess":"string","onFailure":"string","disabled":true}]}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}"); - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}") - .post(body) - .addHeader("content-type", "application/octet-stream") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}\"\n\n\tpayload := strings.NewReader(\"{\\\"version\\\":0,\\\"id\\\":0,\\\"schemaType\\\":\\\"string\\\",\\\"references\\\":[{\\\"name\\\":\\\"io.confluent.kafka.example.User\\\",\\\"subject\\\":\\\"User\\\",\\\"version\\\":1}],\\\"schema\\\":\\\"string\\\",\\\"metadata\\\":{\\\"tags\\\":{\\\"property1\\\":[\\\"string\\\"],\\\"property2\\\":[\\\"string\\\"]},\\\"properties\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"sensitive\\\":[\\\"string\\\"]},\\\"ruleSet\\\":{\\\"migrationRules\\\":[{\\\"name\\\":\\\"string\\\",\\\"doc\\\":\\\"string\\\",\\\"kind\\\":\\\"TRANSFORM\\\",\\\"mode\\\":\\\"UPGRADE\\\",\\\"type\\\":\\\"string\\\",\\\"tags\\\":[\\\"string\\\"],\\\"params\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"expr\\\":\\\"string\\\",\\\"onSuccess\\\":\\\"string\\\",\\\"onFailure\\\":\\\"string\\\",\\\"disabled\\\":true}],\\\"domainRules\\\":[{\\\"name\\\":\\\"string\\\",\\\"doc\\\":\\\"string\\\",\\\"kind\\\":\\\"TRANSFORM\\\",\\\"mode\\\":\\\"UPGRADE\\\",\\\"type\\\":\\\"string\\\",\\\"tags\\\":[\\\"string\\\"],\\\"params\\\":{\\\"property1\\\":\\\"string\\\",\\\"property2\\\":\\\"string\\\"},\\\"expr\\\":\\\"string\\\",\\\"onSuccess\\\":\\\"string\\\",\\\"onFailure\\\":\\\"string\\\",\\\"disabled\\\":true}]}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/octet-stream\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - payload = "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}" - - headers = { - 'content-type': "application/octet-stream", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/subjects/{subject}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/subjects/{subject}", - "headers": { - "content-type": "application/octet-stream", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - version: 0, - id: 0, - schemaType: 'string', - references: [{name: 'io.confluent.kafka.example.User', subject: 'User', version: 1}], - schema: 'string', - metadata: { - tags: {property1: ['string'], property2: ['string']}, - properties: {property1: 'string', property2: 'string'}, - sensitive: ['string'] - }, - ruleSet: { - migrationRules: [ - { - name: 'string', - doc: 'string', - kind: 'TRANSFORM', - mode: 'UPGRADE', - type: 'string', - tags: ['string'], - params: {property1: 'string', property2: 'string'}, - expr: 'string', - onSuccess: 'string', - onFailure: 'string', - disabled: true - } - ], - domainRules: [ - { - name: 'string', - doc: 'string', - kind: 'TRANSFORM', - mode: 'UPGRADE', - type: 'string', - tags: ['string'], - params: {property1: 'string', property2: 'string'}, - expr: 'string', - onSuccess: 'string', - onFailure: 'string', - disabled: true - } - ] - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/octet-stream"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/octet-stream"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/octet-stream", "{\"version\":0,\"id\":0,\"schemaType\":\"string\",\"references\":[{\"name\":\"io.confluent.kafka.example.User\",\"subject\":\"User\",\"version\":1}],\"schema\":\"string\",\"metadata\":{\"tags\":{\"property1\":[\"string\"],\"property2\":[\"string\"]},\"properties\":{\"property1\":\"string\",\"property2\":\"string\"},\"sensitive\":[\"string\"]},\"ruleSet\":{\"migrationRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}],\"domainRules\":[{\"name\":\"string\",\"doc\":\"string\",\"kind\":\"TRANSFORM\",\"mode\":\"UPGRADE\",\"type\":\"string\",\"tags\":[\"string\"],\"params\":{\"property1\":\"string\",\"property2\":\"string\"},\"expr\":\"string\",\"onSuccess\":\"string\",\"onFailure\":\"string\",\"disabled\":true}]}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - tags: - - Subjects (v1) - summary: Delete subject - description: Deletes the specified subject and its associated compatibility level if registered. It is recommended to use this API only when a topic needs to be recycled or in development environment. - operationId: deleteSubject - parameters: - - name: subject - in: path - description: Name of the subject - required: true + $ref: '#/components/schemas/ErrorMessage' + example: + error_code: 400 + message: Bad Request + schemaregistry.v1.UnauthorizedError: + description: Unauthorized + content: + application/json: schema: - type: string - - name: permanent - in: query - description: Whether to perform a permanent delete + $ref: '#/components/schemas/ErrorMessage' + example: + error_code: 401 + message: Unauthorized + schemaregistry.v1.ForbiddenError: + description: Forbidden + content: + application/json: schema: - type: boolean - responses: - '200': - description: Operation succeeded. Returns list of schema versions deleted - content: - application/vnd.schemaregistry.v1+json: - schema: - type: array - items: - type: integer - format: int32 - example: 1 - application/vnd.schemaregistry+json; qs=0.9: - schema: - type: array - items: - type: integer - format: int32 - example: 1 - application/json; qs=0.5: - schema: - type: array - items: - type: integer - format: int32 - example: 1 - '400': - $ref: '#/components/responses/schemaregistry.v1.BadRequestError' - '401': - $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' - '403': - $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' - '404': - description: Not Found. Error code 40401 indicates subject not found. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ErrorMessage' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ErrorMessage' - security: - - resource-api-key: [] - - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/subjects/{subject}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/subjects/{subject}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/subjects/{subject}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /subjects: - get: - tags: - - Subjects (v1) - summary: List subjects - description: Retrieves a list of registered subjects matching specified parameters. - operationId: list - parameters: - - name: subjectPrefix - in: query - description: Subject name prefix + $ref: '#/components/schemas/ErrorMessage' + example: + error_code: 403 + message: Forbidden + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: schema: type: string - default: ':*:' - - name: deleted - in: query - description: Whether to look up deleted subjects + description: The unique identifier for the API request. + X-RateLimit-Limit: schema: - type: boolean - responses: - '200': - description: List of subjects matching the specified parameters. - content: - application/vnd.schemaregistry.v1+json: - schema: - type: array - items: - type: string - example: User - application/vnd.schemaregistry+json; qs=0.9: - schema: - type: array - items: - type: string - example: User - application/json; qs=0.5: - schema: - type: array - items: - type: string - example: User - '400': - $ref: '#/components/responses/schemaregistry.v1.BadRequestError' - '401': - $ref: '#/components/responses/schemaregistry.v1.UnauthorizedError' - '403': - $ref: '#/components/responses/schemaregistry.v1.ForbiddenError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - description: Internal Server Error. Error code 50001 indicates a failure in the backend data store. - content: - application/vnd.schemaregistry.v1+json: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/vnd.schemaregistry+json; qs=0.9: - schema: - $ref: '#/components/schemas/ErrorMessage' - application/json; qs=0.5: - schema: - $ref: '#/components/schemas/ErrorMessage' - security: - - resource-api-key: [] - - external-access-token: [] - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://psrc-00000.region.provider.confluent.cloud/subjects \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://psrc-00000.region.provider.confluent.cloud/subjects") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://psrc-00000.region.provider.confluent.cloud/subjects\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("psrc-00000.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/subjects", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "psrc-00000.region.provider.confluent.cloud", - "port": null, - "path": "/subjects", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://psrc-00000.region.provider.confluent.cloud/subjects"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://psrc-00000.region.provider.confluent.cloud/subjects"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. + Retry-After: + schema: + type: integer + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. + schemaregistry.v1.DefaultSystemError: + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + error_code: 500 + message: Oops, something went wrong + schemaregistry.v1.AccountNotFoundError: + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorMessage' + example: + error_code: 404 + message: account not found + x-stackQL-resources: + cluster_config: + id: confluent.schema_registry.cluster_config + name: cluster_config + title: Cluster Config + methods: + get_cluster_config: + operation: + $ref: '#/paths/~1clusterconfig/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/cluster_config/methods/get_cluster_config + insert: [] + update: [] + delete: [] + replace: [] + compatibilities: + id: confluent.schema_registry.compatibilities + name: compatibilities + title: Compatibilities + methods: + test_compatibility_by_subject_name: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1compatibility~1subjects~1{subject}~1versions~1{version}/post + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + test_compatibility_for_subject: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1compatibility~1subjects~1{subject}~1versions/post' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + sqlVerbs: + select: [] + insert: [] + update: [] + delete: [] + replace: [] + subject_level_config: + id: confluent.schema_registry.subject_level_config + name: subject_level_config + title: Subject Level Config + methods: + get_subject_level_config: + operation: + $ref: '#/paths/~1config~1{subject}/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + update_subject_level_config: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1config~1{subject}/put' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + delete_subject_config: + operation: + $ref: '#/paths/~1config~1{subject}/delete' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/subject_level_config/methods/get_subject_level_config + insert: [] + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/subject_level_config/methods/delete_subject_config + replace: + - $ref: >- + #/components/x-stackQL-resources/subject_level_config/methods/update_subject_level_config + top_level_config: + id: confluent.schema_registry.top_level_config + name: top_level_config + title: Top Level Config + methods: + get_top_level_config: + operation: + $ref: '#/paths/~1config/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + update_top_level_config: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1config/put' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + delete_top_level_config: + operation: + $ref: '#/paths/~1config/delete' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/top_level_config/methods/get_top_level_config + insert: [] + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/top_level_config/methods/delete_top_level_config + replace: + - $ref: >- + #/components/x-stackQL-resources/top_level_config/methods/update_top_level_config + exporters: + id: confluent.schema_registry.exporters + name: exporters + title: Exporters + methods: + list_exporters: + operation: + $ref: '#/paths/~1exporters/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + objectKey: $ + register_exporter: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1exporters/post' + response: + mediaType: application/json; qs=0.5 + openAPIDocKey: '200' + get_exporter_info_by_name: + operation: + $ref: '#/paths/~1exporters~1{name}/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + update_exporter_info: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1exporters~1{name}/put' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + delete_exporter: + operation: + $ref: '#/paths/~1exporters~1{name}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + pause_exporter_by_name: + operation: + $ref: '#/paths/~1exporters~1{name}~1pause/put' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + reset_exporter_by_name: + operation: + $ref: '#/paths/~1exporters~1{name}~1reset/put' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + resume_exporter_by_name: + operation: + $ref: '#/paths/~1exporters~1{name}~1resume/put' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/exporters/methods/get_exporter_info_by_name + - $ref: '#/components/x-stackQL-resources/exporters/methods/list_exporters' + insert: + - $ref: >- + #/components/x-stackQL-resources/exporters/methods/register_exporter + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/exporters/methods/delete_exporter' + replace: + - $ref: >- + #/components/x-stackQL-resources/exporters/methods/update_exporter_info + exporter_status: + id: confluent.schema_registry.exporter_status + name: exporter_status + title: Exporter Status + methods: + get_exporter_status_by_name: + operation: + $ref: '#/paths/~1exporters~1{name}~1status/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/exporter_status/methods/get_exporter_status_by_name + insert: [] + update: [] + delete: [] + replace: [] + exporter_configs: + id: confluent.schema_registry.exporter_configs + name: exporter_configs + title: Exporter Configs + methods: + get_exporter_config_by_name: + operation: + $ref: '#/paths/~1exporters~1{name}~1config/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + update_exporter_config_by_name: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1exporters~1{name}~1config/put' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/exporter_configs/methods/get_exporter_config_by_name + insert: [] + update: [] + delete: [] + replace: + - $ref: >- + #/components/x-stackQL-resources/exporter_configs/methods/update_exporter_config_by_name + contexts: + id: confluent.schema_registry.contexts + name: contexts + title: Contexts + methods: + list_contexts: + operation: + $ref: '#/paths/~1contexts/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + objectKey: $ + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/contexts/methods/list_contexts' + insert: [] + update: [] + delete: [] + replace: [] + modes: + id: confluent.schema_registry.modes + name: modes + title: Modes + methods: + get_mode: + operation: + $ref: '#/paths/~1mode~1{subject}/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + update_mode: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1mode~1{subject}/put' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + delete_subject_mode: + operation: + $ref: '#/paths/~1mode~1{subject}/delete' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + get_top_level_mode: + operation: + $ref: '#/paths/~1mode/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + update_top_level_mode: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1mode/put' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/modes/methods/get_mode' + - $ref: '#/components/x-stackQL-resources/modes/methods/get_top_level_mode' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/modes/methods/delete_subject_mode' + replace: + - $ref: '#/components/x-stackQL-resources/modes/methods/update_mode' + - $ref: >- + #/components/x-stackQL-resources/modes/methods/update_top_level_mode + schemas: + id: confluent.schema_registry.schemas + name: schemas + title: Schemas + methods: + get_schema: + operation: + $ref: '#/paths/~1schemas~1ids~1{id}/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + get_schema_only: + operation: + $ref: '#/paths/~1schemas~1ids~1{id}~1schema/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + get_schemas: + operation: + $ref: '#/paths/~1schemas/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + objectKey: $ + get_schema_only_1: + operation: + $ref: '#/paths/~1subjects~1{subject}~1versions~1{version}~1schema/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/schemas/methods/get_schema' + - $ref: '#/components/x-stackQL-resources/schemas/methods/get_schemas' + insert: [] + update: [] + delete: [] + replace: [] + types: + id: confluent.schema_registry.types + name: types + title: Types + methods: + get_schema_types: + operation: + $ref: '#/paths/~1schemas~1types/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + objectKey: $ + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/types/methods/get_schema_types' + insert: [] + update: [] + delete: [] + replace: [] + subjects: + id: confluent.schema_registry.subjects + name: subjects + title: Subjects + methods: + get_subjects: + operation: + $ref: '#/paths/~1schemas~1ids~1{id}~1subjects/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + objectKey: $ + look_up_schema_under_subject: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1subjects~1{subject}/post' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + delete_subject: + operation: + $ref: '#/paths/~1subjects~1{subject}/delete' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + list: + operation: + $ref: '#/paths/~1subjects/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + objectKey: $ + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/subjects/methods/get_subjects' + - $ref: '#/components/x-stackQL-resources/subjects/methods/list' + insert: [] + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/subjects/methods/delete_subject' + replace: [] + versions: + id: confluent.schema_registry.versions + name: versions + title: Versions + methods: + get_versions: + operation: + $ref: '#/paths/~1schemas~1ids~1{id}~1versions/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + objectKey: $ + get_schema_by_version: + operation: + $ref: '#/paths/~1subjects~1{subject}~1versions~1{version}/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + delete_schema_version: + operation: + $ref: '#/paths/~1subjects~1{subject}~1versions~1{version}/delete' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + list_versions: + operation: + $ref: '#/paths/~1subjects~1{subject}~1versions/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + objectKey: $ + register: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1subjects~1{subject}~1versions/post' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/versions/methods/get_schema_by_version + - $ref: '#/components/x-stackQL-resources/versions/methods/get_versions' + - $ref: '#/components/x-stackQL-resources/versions/methods/list_versions' + insert: + - $ref: '#/components/x-stackQL-resources/versions/methods/register' + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/versions/methods/delete_schema_version + replace: [] + subjects_referenced_by: + id: confluent.schema_registry.subjects_referenced_by + name: subjects_referenced_by + title: Subjects Referenced By + methods: + get_referenced_by: + operation: + $ref: >- + #/paths/~1subjects~1{subject}~1versions~1{version}~1referencedby/get + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + objectKey: $ + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/subjects_referenced_by/methods/get_referenced_by + insert: [] + update: [] + delete: [] + replace: [] + latest_version: + id: confluent.schema_registry.latest_version + name: latest_version + title: Latest Version + methods: + get_latest_with_metadata: + operation: + $ref: '#/paths/~1subjects~1{subject}~1metadata/get' + response: + mediaType: application/vnd.schemaregistry.v1+json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/latest_version/methods/get_latest_with_metadata + insert: [] + update: [] + delete: [] + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/schema_registry_clusters.yaml b/providers/src/confluent/v00.00.00000/services/schema_registry_clusters.yaml index df61b406..2989e818 100644 --- a/providers/src/confluent/v00.00.00000/services/schema_registry_clusters.yaml +++ b/providers/src/confluent/v00.00.00000/services/schema_registry_clusters.yaml @@ -1,1312 +1,3240 @@ openapi: 3.0.0 -servers: - - url: 'https://api.confluent.cloud' - description: Confluent Cloud API info: - version: '' - contact: - name: Confluent Cloud - url: 'https://www.confluent.io/cloud-contact-us/' - email: support@confluent.io - x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b - x-audience: external-public - x-logo: - url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' - title: Confluent Cloud APIs - schema_registry_clusters - description: schema_registry_clusters -tags: - - name: API Keys (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. - - The API allows you to list, create, update and delete your API Keys. - - - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - - ## The API Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - - name: Environments (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. - - - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - - ## The Environments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - - name: Organizations (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). - - The API allows you to list, view, and update your organizations. - - - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - - ## The Organizations Model - + title: schema_registry_clusters API + description: confluent schema_registry_clusters API + version: 1.0.0 +paths: + /srcm/v2/regions: + get: + x-lifecycle-stage: Deprecated + deprecated: true + x-deprecated-at: 20240801T00:00:00Z + x-sunset-at: 20250228T00:00:00Z + x-self-access: true + operationId: listSrcmV2Regions + summary: List of Regions + description: >- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - - name: Users (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Retrieve a sorted, filtered, paginated list of all regions. + parameters: + - name: spec.cloud + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Filter the results by exact match for spec.cloud. + - name: spec.region_name + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: us-east-2 + description: Filter the results by exact match for spec.region_name. + - name: spec.packages + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - ESSENTIALS + - ADVANCED + description: >- + Filter the results by exact match for spec.packages. Pass multiple + times to see results matching any of the values. + style: form + explode: true + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Regions (srcm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Region. + content: + application/json: + schema: + type: object + description: >- + `Region` objects represent cloud provider regions available + when placing Schema Registry clusters. - `User` objects represent individuals who may access your Confluent resources. + The API allows you to list Schema Registry regions. - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). + Related guides: - ## The Users Model - + * [Confluent Cloud providers and region + support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + * [srcm/v3 Migration + Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - - name: Service Accounts (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. + ## The Regions Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - srcm/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - RegionList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `Region` objects represent cloud provider regions + available when placing Schema Registry clusters. - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). + The API allows you to list Schema Registry regions. - ## The Service Accounts Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - - name: Invitations (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guides: - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + * [Confluent Cloud providers and region + support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + * [srcm/v3 Migration + Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). - ## The Invitations Model - + ## The Regions Model - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + properties: + api_version: + type: string + enum: + - srcm/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - Region + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/srcm.v2.RegionSpec' + required: + - id + - metadata + - spec + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: Deprecated + x-deprecated-at: 20240801T00:00:00Z + x-sunset-at: 20250228T00:00:00Z + x-self-access: true + /srcm/v2/regions/{id}: + get: + x-lifecycle-stage: Deprecated + deprecated: true + x-deprecated-at: 20240801T00:00:00Z + x-sunset-at: 20250228T00:00:00Z + x-self-access: true + operationId: getSrcmV2Region + summary: Read a Region + description: >- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - - name: IP Groups (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + Make a request to read a region. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the region. + tags: + - Regions (srcm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Region. + content: + application/json: + schema: + type: object + description: >- + `Region` objects represent cloud provider regions available + when placing Schema Registry clusters. + The API allows you to list Schema Registry regions. - ## The IP Groups Model - - - name: IP Filters (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. + Related guides: - ## The IP Filters Model - - - name: Role Bindings (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + * [Confluent Cloud providers and region + support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - A role binding grants a Principal a role on resources that match a pattern. + * [srcm/v3 Migration + Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - The API allows you to perform create, delete, and list operations on role bindings. - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + ## The Regions Model - ## The Role Bindings Model - - - name: Subscriptions (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + properties: + api_version: + type: string + enum: + - srcm/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Region + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/srcm.v2.RegionSpec' + required: + - api_version + - kind + - id + - spec + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: Deprecated + x-deprecated-at: 20240801T00:00:00Z + x-sunset-at: 20250228T00:00:00Z + x-self-access: true + /srcm/v2/clusters: + get: + x-lifecycle-stage: Deprecated + deprecated: true + x-deprecated-at: 20240801T00:00:00Z + x-sunset-at: 20250228T00:00:00Z + x-self-access: true + operationId: listSrcmV2Clusters + summary: List of Clusters + description: >- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. + Retrieve a sorted, filtered, paginated list of all clusters. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Clusters (srcm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Cluster. + content: + application/json: + schema: + type: object + description: >- + `Clusters` objects represent Schema Registry Clusters on + Confluent Cloud. - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + The API allows you to list, create, read, and delete your + Schema Registry clusters. - ## The Subscriptions Model - - - name: Integrations (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. + Related guides: - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + * [Confluent Cloud Schema Registry Cluster + APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - ## The Integrations Model - + * [srcm/v3 Migration + Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - - name: Notification Types (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The type of notifications (and their corresponding metadata) supported by Confluent. + ## The Clusters Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - srcm/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ClusterList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `Clusters` objects represent Schema Registry Clusters on + Confluent Cloud. - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - ## The Notification Types Model - - - name: Clusters (cmk/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to list, create, read, and delete + your Schema Registry clusters. - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Kafka clusters. + Related guides: - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + * [Confluent Cloud Schema Registry Cluster + APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - ## The Clusters Model - + * [srcm/v3 Migration + Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - - name: Clusters (ksqldbcm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + ## The Clusters Model + + properties: + api_version: + type: string + enum: + - srcm/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/srcm.v2.ClusterSpec' + status: + $ref: '#/components/schemas/srcm.v2.ClusterStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: Deprecated + deprecated: true + x-deprecated-at: 20240801T00:00:00Z + x-sunset-at: 20250228T00:00:00Z + x-self-access: true + operationId: createSrcmV2Cluster + summary: Create a Cluster + description: >- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - ## The Clusters Model - + Make a request to create a cluster. + tags: + - Clusters (srcm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `Clusters` objects represent Schema Registry Clusters on + Confluent Cloud. + + + The API allows you to list, create, read, and delete your Schema + Registry clusters. + + + + Related guides: + + * [Confluent Cloud Schema Registry Cluster + APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + * [srcm/v3 Migration + Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + + ## The Clusters Model + + + properties: + api_version: + type: string + enum: + - srcm/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/srcm.v2.ClusterSpec' + status: + $ref: '#/components/schemas/srcm.v2.ClusterStatus' + required: + - spec + responses: + '202': + description: A Cluster is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/srcm/v2/clusters/{id} + description: Cluster resource uri + content: + application/json: + schema: + type: object + description: >- + `Clusters` objects represent Schema Registry Clusters on + Confluent Cloud. - ## Quotas and Limits - This resource is subject to the following quotas: - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - - name: Connectors (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to list, create, read, and delete your + Schema Registry clusters. - API for Managed Connectors or Custom Connectors in Confluent Cloud. - The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. - Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + Related guides: - Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - name: Lifecycle (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + * [Confluent Cloud Schema Registry Cluster + APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. - - name: Status (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + * [srcm/v3 Migration + Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. - - name: Managed Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for Managed connectors in Confluent Cloud. - - name: Offsets (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for managing the offsets for a Managed Connector. + ## The Clusters Model - Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) - - name: Custom Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + properties: + api_version: + type: string + enum: + - srcm/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/srcm.v2.ClusterSpec' + status: + $ref: '#/components/schemas/srcm.v2.ClusterStatus' + required: + - spec + - status + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: Deprecated + x-deprecated-at: 20240801T00:00:00Z + x-sunset-at: 20250228T00:00:00Z + x-self-access: true + /srcm/v2/clusters/{id}: + get: + x-lifecycle-stage: Deprecated + deprecated: true + x-deprecated-at: 20240801T00:00:00Z + x-sunset-at: 20250228T00:00:00Z + x-self-access: true + operationId: getSrcmV2Cluster + summary: Read a Cluster + description: >- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + Make a request to read a cluster. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the cluster. + tags: + - Clusters (srcm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Cluster. + content: + application/json: + schema: + type: object + description: >- + `Clusters` objects represent Schema Registry Clusters on + Confluent Cloud. - ## The Custom Connector Plugins Model - - - name: Presigned Urls (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. + The API allows you to list, create, read, and delete your + Schema Registry clusters. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - ## The Presigned Urls Model - - - name: Cluster (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Configs (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: ACL (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Consumer Group (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Partition (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Topic (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Records (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Cluster Linking (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Applied Quotas (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guides: - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. + * [Confluent Cloud Schema Registry Cluster + APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration + Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - ## The Applied Quotas Model - - - name: Scopes (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Gets a list of all available scopes for applied quotas. + ## The Clusters Model + + properties: + api_version: + type: string + enum: + - srcm/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/srcm.v2.ClusterSpec' + status: + $ref: '#/components/schemas/srcm.v2.ClusterStatus' + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: Deprecated + deprecated: true + x-deprecated-at: 20240801T00:00:00Z + x-sunset-at: 20250228T00:00:00Z + x-self-access: true + operationId: updateSrcmV2Cluster + summary: Update a Cluster + description: >+ + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). - ## The Scopes Model - - - name: Entitlements (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + Make a request to update a cluster. - `Entitlement` objects represent metadata about a marketplace entitlement. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the cluster. + tags: + - Clusters (srcm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `Clusters` objects represent Schema Registry Clusters on + Confluent Cloud. + + + The API allows you to list, create, read, and delete your Schema + Registry clusters. + + + + Related guides: + + * [Confluent Cloud Schema Registry Cluster + APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + + * [srcm/v3 Migration + Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + + + ## The Clusters Model + + + properties: + api_version: + type: string + enum: + - srcm/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/srcm.v2.ClusterSpec' + status: + $ref: '#/components/schemas/srcm.v2.ClusterStatus' + required: + - spec + responses: + '200': + description: Cluster. + content: + application/json: + schema: + type: object + description: >- + `Clusters` objects represent Schema Registry Clusters on + Confluent Cloud. - An entitlement includes metadata about a marketplace purchase - (start date, end date, billing information, partner IDs, etc). - The API allows partners to create, read, and list entitlements. (Unless you - need entitlement creation and customer registration to be separate, - we recommend using the Signup API to create an organization and entitlement - at the same time) - The API only allows authorized partners to interact with the Entitlements API. - - name: Regions (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to list, create, read, and delete your + Schema Registry clusters. - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + Related guides: + * [Confluent Cloud Schema Registry Cluster + APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - ## The Regions Model - - - name: Clusters (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + * [srcm/v3 Migration + Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - The API allows you to list, create, read, and delete your Schema Registry clusters. + ## The Clusters Model - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + properties: + api_version: + type: string + enum: + - srcm/v2 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/srcm.v2.ClusterSpec' + status: + $ref: '#/components/schemas/srcm.v2.ClusterStatus' + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: Deprecated + deprecated: true + x-deprecated-at: 20240801T00:00:00Z + x-sunset-at: 20250228T00:00:00Z + x-self-access: true + operationId: deleteSrcmV2Cluster + summary: Delete a Cluster + description: >- + [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - ## The Clusters Model - - - name: Clusters (srcm/v3) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to delete a cluster. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the cluster. + tags: + - Clusters (srcm/v2) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Cluster is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: Deprecated + x-deprecated-at: 20240801T00:00:00Z + x-sunset-at: 20250228T00:00:00Z + x-self-access: true + /srcm/v3/clusters: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listSrcmV3Clusters + summary: List of Clusters + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - The API allows you to list and read your Schema Registry clusters. + Retrieve a sorted, filtered, paginated list of all clusters. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Clusters (srcm/v3) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Cluster. + content: + application/json: + schema: + type: object + description: >- + `Clusters` objects represent Schema Registry Clusters on + Confluent Cloud. - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + The API allows you to list and read your Schema Registry + clusters. - ## The Clusters Model - - - name: Compatibility (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to test schema compatibility. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Config (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [Confluent Cloud Schema Registry Cluster + APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - The API allows you to manage and query schema compatibility settings and cluster configurations. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Contexts (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Clusters Model - The API allows you to retrieve information about schema contexts. + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - srcm/v3 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ClusterList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `Clusters` objects represent Schema Registry Clusters on + Confluent Cloud. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Exporters (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete exporters. + The API allows you to list and read your Schema Registry + clusters. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Modes (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete schema subjects modes of operation. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Schemas (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [Confluent Cloud Schema Registry Cluster + APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - The API allows you to create, retrieve, update, and delete schemas. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Subjects (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Clusters Model - The API allows you to create, retrieve, update, and delete schema subjects and versions. + + properties: + api_version: + type: string + enum: + - srcm/v3 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/srcm.v3.ClusterSpec' + status: + $ref: '#/components/schemas/srcm.v3.ClusterStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /srcm/v3/clusters/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getSrcmV3Cluster + summary: Read a Cluster + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Key Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete key encryption keys. + Make a request to read a cluster. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the cluster. + tags: + - Clusters (srcm/v3) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Cluster. + content: + application/json: + schema: + type: object + description: >- + `Clusters` objects represent Schema Registry Clusters on + Confluent Cloud. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Data Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete data encryption keys. + The API allows you to list and read your Schema Registry + clusters. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Entity (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete catalog entities. - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Search (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [Confluent Cloud Schema Registry Cluster + APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - The API allows you to search for entities. - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Types (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Clusters Model - The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. + + properties: + api_version: + type: string + enum: + - srcm/v3 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/srcm.v3.ClusterSpec' + status: + $ref: '#/components/schemas/srcm.v3.ClusterStatus' + required: + - api_version + - kind + - id + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + MultipleSearchFilter: + description: Filter a collection by a string search for one or more values + type: array + items: + type: string + srcm.v2.RegionList: + type: object + description: >- + `Region` objects represent cloud provider regions available when placing + Schema Registry clusters. - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Provider Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to list Schema Registry regions. - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. - ## The Provider Shared Resources Model - - - name: Provider Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guides: - `ProviderShare` object respresents the share that you have created through Stream Sharing. + * [Confluent Cloud providers and region + support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). + * [srcm/v3 Migration + Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). - ## The Provider Shares Model - - - name: Consumer Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + ## The Regions Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - srcm/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - RegionList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `Region` objects represent cloud provider regions available when + placing Schema Registry clusters. - ## The Consumer Shared Resources Model - - - name: Consumer Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + The API allows you to list Schema Registry regions. - `ConsumerShare` object respresents the share that you received through Stream Sharing. - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + Related guides: - ## The Consumer Shares Model - - - name: Shared Tokens (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + * [Confluent Cloud providers and region + support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - Encrypted Token shared with consumer + * [srcm/v3 Migration + Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - ## The Shared Tokens Model - - - name: Opt Ins (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Stream sharing opt in options + ## The Regions Model - ## The Opt Ins Model - - - name: Organizations (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + + properties: + api_version: + type: string + enum: + - srcm/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Region + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/srcm.v2.RegionSpec' + required: + - id + - metadata + - spec + uniqueItems: true + srcm.v2.Region: + type: object + description: >- + `Region` objects represent cloud provider regions available when placing + Schema Registry clusters. - `Organizations` objects represent an entire Confluent Cloud organization. - Partners are allowed to get an organization they have signed up or - list all organizations they have signed up. - - name: Signup (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + The API allows you to list Schema Registry regions. - `Signup` APIs can only be performed by partners. - - name: Networks (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. - The API allows you to list, create, read, update, and delete your networks. + Related guides: + * [Confluent Cloud providers and region + support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). + * [srcm/v3 Migration + Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - ## The Networks Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - - name: Peerings (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Regions Model - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. + + properties: + api_version: + type: string + enum: + - srcm/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Region + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/srcm.v2.RegionSpec' + srcm.v2.ClusterList: + type: object + description: >- + `Clusters` objects represent Schema Registry Clusters on Confluent + Cloud. - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + The API allows you to list, create, read, and delete your Schema + Registry clusters. - ## The Peerings Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - - name: Transit Gateway Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guides: - AWS Transit Gateway Attachments + * [Confluent Cloud Schema Registry Cluster + APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). + * [srcm/v3 Migration + Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - ## The Transit Gateway Attachments Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - - name: Private Link Accesses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Clusters Model - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - srcm/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ClusterList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `Clusters` objects represent Schema Registry Clusters on Confluent + Cloud. - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). + The API allows you to list, create, read, and delete your Schema + Registry clusters. - ## The Private Link Accesses Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - - name: Network Link Services (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guides: - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. + * [Confluent Cloud Schema Registry Cluster + APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). + * [srcm/v3 Migration + Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - ## The Network Link Services Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - - name: Network Link Endpoints (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Endpoints Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - - name: Network Link Service Associations (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - List of incoming Network Link Enpoints associated with the Network Link Service. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Service Associations Model - - - name: Gateways (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A gateway is a resource that defines network access to Confluent cloud resources. - - - ## The Gateways Model - - - name: IP Addresses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - IP Addresses - - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) - - ## The IP Addresses Model - - - name: Private Link Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. - - - ## The Private Link Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - - name: Private Link Attachment Connections (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. - - - ## The Private Link Attachment Connections Model - - - name: Identity Providers (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Identity Provider. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Identity Providers Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - - name: Jwks (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. - - The API allows you to refresh JWKS public key data. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Jwks Model - - - name: Identity Pools (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. - - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. - - - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). - - ## The Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - - name: OAuth Tokens (sts/v1) - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of - external identities to access Confluent Cloud APIs - - name: Client Quotas (kafka-quotas/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ClientQuota` objects represent Client Quotas you can set at the service account level. - - The API allows you to list, create, read, update, and delete your client quotas. - - - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - - ## The Client Quotas Model - - - name: Pipelines (sd/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. - - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. - - - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). - - ## The Pipelines Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - - name: Keys (byok/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. - - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. - - - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). - - ## The Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - - name: Costs (billing/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cost` objects represent the aggregated billing costs for an organization - - - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). - - ## The Costs Model - - - name: Group Mappings (iam/v2/sso) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. - - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. - - - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). - - ## The Group Mappings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - - name: Compute Pools (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. - - - ## The Compute Pools Model - - - name: Regions (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. - - - ## The Regions Model - - - name: Statements (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - - name: Statement Results (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementResult` represents a result of a `Statement` resource. - The API allows you to read your statement's results. - ## The Statement Results Model - - - name: Statement Exceptions (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementException` represents an exception of a `Statement` resource. - The API allows you to read your statement's exceptions. - ## The Statement Exceptions Model - - - name: Connections (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Connection` represents a core resource used to model SQL connections for execution. - A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - - name: DNS Forwarders (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add, remove, and update DNS forwarder for your gateway. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - - - ## The DNS Forwarders Model - - - name: Access Points (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. + ## The Clusters Model + + properties: + api_version: + type: string + enum: + - srcm/v2 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/srcm.v2.ClusterSpec' + status: + $ref: '#/components/schemas/srcm.v2.ClusterStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + srcm.v2.Cluster: + type: object + description: >- + `Clusters` objects represent Schema Registry Clusters on Confluent + Cloud. - ## The Access Points Model - - - name: DNS Records (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. + The API allows you to list, create, read, and delete your Schema + Registry clusters. - ## The DNS Records Model - - - name: Certificate Authorities (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. - The API allows you to list, create, read, update, and delete your Certificate Authority. + Related guides: + * [Confluent Cloud Schema Registry Cluster + APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). + * [srcm/v3 Migration + Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - ## The Certificate Authorities Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `certificate_authorities_per_org` | Number of certificate authorities per organization | - - name: Certificate Identity Pools (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Clusters Model - `Identitypool` objects represent workload identities in Confluent Cloud. + + properties: + api_version: + type: string + enum: + - srcm/v2 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/srcm.v2.ClusterSpec' + status: + $ref: '#/components/schemas/srcm.v2.ClusterStatus' + srcm.v3.ClusterList: + type: object + description: >- + `Clusters` objects represent Schema Registry Clusters on Confluent + Cloud. - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities + The API allows you to list and read your Schema Registry clusters. - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). - ## The Certificate Identity Pools Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + Related guide: [Confluent Cloud Schema Registry Cluster + APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - - name: Integrations (pim/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). + ## The Clusters Model - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - srcm/v3 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ClusterList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `Clusters` objects represent Schema Registry Clusters on Confluent + Cloud. - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). + The API allows you to list and read your Schema Registry clusters. - ## The Integrations Model - - - name: Flink Artifacts (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. + Related guide: [Confluent Cloud Schema Registry Cluster + APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - ## The Flink Artifacts Model - - - name: Presigned Urls (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. + ## The Clusters Model + + properties: + api_version: + type: string + enum: + - srcm/v3 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/srcm.v3.ClusterSpec' + status: + $ref: '#/components/schemas/srcm.v3.ClusterStatus' + required: + - id + - metadata + - spec + - status + uniqueItems: true + srcm.v3.Cluster: + type: object + description: >- + `Clusters` objects represent Schema Registry Clusters on Confluent + Cloud. - ## The Presigned Urls Model - - - name: Flink Artifact Versions (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + The API allows you to list and read your Schema Registry clusters. - ## The Flink Artifact Versions Model - -components: - schemas: - SearchFilter: - description: Filter a collection by a string search - type: string - MultipleSearchFilter: - description: Filter a collection by a string search for one or more values - type: array - items: - type: string - srcm.v2.RegionList: - type: object - description: |- - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. + Related guide: [Confluent Cloud Schema Registry Cluster + APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + ## The Clusters Model - ## The Regions Model - - required: - - api_version - - kind - - metadata - - data + properties: api_version: type: string enum: - - srcm/v2 - description: APIVersion defines the schema version of this representation of a resource. + - srcm/v3 + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string description: Kind defines the object this REST resource represents. readOnly: true enum: - - RegionList + - Cluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/srcm/v2/regions' - last: - example: 'https://api.confluent.cloud/srcm/v2/regions?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/srcm/v2/regions?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/srcm/v2/regions?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/srcm.v2.Region' - - type: object - required: - - id - - metadata - - spec - properties: - spec: - type: object - required: - - display_name - - cloud - - region_name - - packages - uniqueItems: true + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/srcm.v3.ClusterSpec' + status: + $ref: '#/components/schemas/srcm.v3.ClusterStatus' ListMeta: type: object description: ListMeta describes metadata that resource collections may have properties: first: - description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' + description: >- + A link to the first page of results. If a response does not contain + a first link, then direct navigation to the first page is not + supported. type: string format: uri nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds' + example: https://api.confluent.cloud/v2/resourcekinds last: - description: 'A link to the last page of results. If a response does not contain a last link, then direct navigation to the last page is not supported.' + description: >- + A link to the last page of results. If a response does not contain a + last link, then direct navigation to the last page is not supported. type: string format: uri nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT' + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT prev: - description: 'A link to the previous page of results. If a response does not contain a prev link, then either there is no previous data or backwards traversal through the result set is not supported.' + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. type: string format: uri nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld' + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld next: - description: 'A link to the next page of results. If a response does not contain a next link, then there is no more data available.' + description: >- + A link to the next page of results. If a response does not contain a + next link, then there is no more data available. type: string format: uri nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb' + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb total_size: - description: Number of records in the full result set. This response may be paginated and have a smaller number of records. + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. type: integer format: int32 minimum: 0 example: 123 - srcm.v2.Region: + Failure: type: object - description: |- - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. - - - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Regions Model - - properties: - api_version: - type: string - enum: - - srcm/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Region - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/srcm/v2/regions/sgreg-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/region=sgreg-12345' - spec: - $ref: '#/components/schemas/srcm.v2.RegionSpec' - AclOperation: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - AclPatternType: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - MATCH - - LITERAL - - PREFIXED - AclPermission: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - DENY - - ALLOW - AclResourceType: - type: string - enum: - - UNKNOWN - - ANY - - TOPIC - - GROUP - - CLUSTER - - TRANSACTIONAL_ID - - DELEGATION_TOKEN - BrokerTaskType: - type: string - enum: - - add-broker - - remove-broker - MirrorTopicStatus: - enum: - - ACTIVE - - FAILED - - LINK_FAILED - - LINK_PAUSED - - PAUSED - - PENDING_STOPPED - - SOURCE_UNAVAILABLE - - STOPPED - - PENDING_MIRROR - - PENDING_SYNCHRONIZE - - PENDING_SETUP_FOR_RESTORE - - PENDING_RESTORE - type: string - Failure: - type: object - description: Provides information about problems encountered while performing an operation. - required: - - errors + description: >- + Provides information about problems encountered while performing an + operation. + required: + - errors properties: errors: description: List of errors which caused this operation to fail @@ -1314,220 +3242,58 @@ components: items: $ref: '#/components/schemas/Error' uniqueItems: true - AlterConfigBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - operation: - type: string - x-extensible-enum: - - SET - - DELETE - nullable: true - validate_only: - type: boolean - CreateAclRequestData: - type: object - required: - - resource_type - - resource_name - - pattern_type - - principal - - host - - operation - - permission - properties: - resource_type: - $ref: '#/components/schemas/AclResourceType' - resource_name: - type: string - pattern_type: - $ref: '#/components/schemas/AclPatternType' - principal: - type: string - host: - type: string - operation: - $ref: '#/components/schemas/AclOperation' - permission: - $ref: '#/components/schemas/AclPermission' - CreateAclRequestDataList: - allOf: - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/CreateAclRequestData' - CreateTopicRequestData: - type: object - required: - - topic_name - properties: - topic_name: - type: string - partitions_count: - type: integer - replication_factor: - type: integer - configs: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - validate_only: - type: boolean - ProduceRequest: - type: object - properties: - partition_id: - type: integer - nullable: true - format: int32 - headers: - type: array - items: - $ref: '#/components/schemas/ProduceRequestHeader' - key: - $ref: '#/components/schemas/ProduceRequestData' - value: - $ref: '#/components/schemas/ProduceRequestData' - timestamp: - type: string - format: date-time - nullable: true - UpdateConfigRequestData: - type: object - properties: - value: - type: string - nullable: true - CreateLinkRequestData: - properties: - source_cluster_id: - type: string - destination_cluster_id: - type: string - remote_cluster_id: - description: The expected remote cluster ID. - type: string - cluster_link_id: - description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' - type: string - configs: - items: - $ref: '#/components/schemas/ConfigData' - type: array - type: object - UpdateLinkConfigRequestData: - properties: - value: - type: string - required: - - value - type: object - CreateMirrorTopicRequestData: - properties: - source_topic_name: - type: string - mirror_topic_name: - type: string - replication_factor: - type: integer - configs: - type: array - items: - $ref: '#/components/schemas/ConfigData' - required: - - source_topic_name - type: object - AlterMirrorsRequestData: - properties: - mirror_topic_names: - description: The mirror topics specified as a list of topic names. - type: array - items: - type: string - mirror_topic_name_pattern: - description: The mirror topics specified as a pattern. - type: string - type: object - RemoveBrokersRequestData: - properties: - broker_ids: - type: array - items: - type: integer - required: - - broker_ids - type: object - BrokerReplicaExclusionBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' ObjectMeta: - description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. required: - self properties: self: - description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time type: string format: uri readOnly: true - example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de resource_name: - description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name type: string format: uri readOnly: true - example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + example: crn://confluent.cloud/kafka=lkc-f3a90de created_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. updated_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. deleted_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was (or will be) deleted. It + is represented in RFC3339 format and is in UTC. readOnly: true + type: object srcm.v2.RegionSpec: type: object description: The desired state of the Region @@ -1561,7 +3327,9 @@ components: x-extensible-enum: - ESSENTIALS - ADVANCED - description: List of Stream Governance packages allowing placement in this region. + description: >- + List of Stream Governance packages allowing placement in this + region. example: - ESSENTIALS - ADVANCED @@ -1570,202 +3338,6 @@ components: x-enable-id: true x-enable-listmeta: true x-enable-objectmeta: true - Error: - type: object - description: Describes a particular error encountered while performing an operation. - properties: - id: - description: A unique identifier for this particular occurrence of the problem. - type: string - maxLength: 255 - status: - description: 'The HTTP status code applicable to this problem, expressed as a string value.' - type: string - code: - description: 'An application-specific error code, expressed as a string value.' - type: string - title: - description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' - type: string - detail: - description: A human-readable explanation specific to this occurrence of the problem. - type: string - source: - type: object - description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' - properties: - pointer: - description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' - type: string - parameter: - description: A string indicating which query parameter caused the error. - type: string - error_code: - type: integer - format: int32 - message: - type: string - nullable: true - additionalProperties: false - ProduceRequestHeader: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - format: byte - nullable: true - ProduceRequestData: - type: object - properties: - type: - type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - data: - $ref: '#/components/schemas/AnyValue' - nullable: true - ConfigData: - example: - name: name - value: value - properties: - name: - type: string - value: - nullable: true - type: string - required: - - name - - value - BrokerReplicaExclusionRequestData: - type: object - required: - - broker_id - - reason - properties: - broker_id: - type: integer - reason: - type: string - AnyValue: - nullable: true - srcm.v2.ClusterList: - type: object - description: |- - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list, create, read, and delete your Schema Registry clusters. - - - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Clusters Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - srcm/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - ClusterList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/srcm/v2/clusters' - last: - example: 'https://api.confluent.cloud/srcm/v2/clusters?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/srcm/v2/clusters?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/srcm/v2/clusters?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/srcm.v2.Cluster' - - type: object - required: - - id - - metadata - - spec - - status - properties: - spec: - type: object - required: - - package - - environment - - region - uniqueItems: true - srcm.v2.Cluster: - type: object - description: |- - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list, create, read, and delete your Schema Registry clusters. - - - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Clusters Model - - properties: - api_version: - type: string - enum: - - srcm/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Cluster - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/srcm/v2/clusters/lsrc-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lsrc-12345' - spec: - $ref: '#/components/schemas/srcm.v2.ClusterSpec' - status: - $ref: '#/components/schemas/srcm.v2.ClusterStatus' srcm.v2.ClusterSpec: type: object description: The desired state of the Cluster @@ -1778,10 +3350,13 @@ components: readOnly: true package: type: string - description: | + description: > The billing package. - Note: Clusters can be upgraded from ESSENTIALS to ADVANCED, but cannot be + + Note: Clusters can be upgraded from ESSENTIALS to ADVANCED, but + cannot be + downgraded from ADVANCED to ESSENTIALS. x-extensible-enum: - ESSENTIALS @@ -1791,18 +3366,60 @@ components: type: string description: The cluster HTTP request URL. format: uri - example: 'https://psrc-00000.us-central1.gcp.confluent.cloud' + example: https://psrc-00000.us-central1.gcp.confluent.cloud x-immutable: true readOnly: true environment: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' description: The environment to which this belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true region: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' description: The region to which this belongs. x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true x-enable-id: true x-enable-listmeta: true x-enable-objectmeta: true @@ -1818,7 +3435,7 @@ components: - PROVISIONING - PROVISIONED - FAILED - description: | + description: > The lifecyle phase of the cluster: PROVISIONED: cluster is provisioned; @@ -1827,210 +3444,12 @@ components: FAILED: provisioning failed - Note: Schema Registry Cluster Management is handled through the org/v2 Environments API as of srcm/v3. + Note: Schema Registry Cluster Management is handled through the + org/v2 Environments API as of srcm/v3. readOnly: true example: PROVISIONED readOnly: true - GlobalObjectReference: - type: object - description: ObjectReference provides information for you to locate the referred object - required: - - id - - related - - resource_name - properties: - id: - type: string - description: ID of the referred resource - minLength: 1 - maxLength: 255 - related: - type: string - format: uri - description: API URL for accessing or modifying the referred object - minLength: 1 - readOnly: true - resource_name: - type: string - format: uri - description: CRN reference to the referred resource - minLength: 1 - readOnly: true - srcm.v2.ClusterUpdate: - type: object - description: |- - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list, create, read, and delete your Schema Registry clusters. - - - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Clusters Model - - properties: - api_version: - type: string - enum: - - srcm/v2 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Cluster - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/srcm/v2/clusters/lsrc-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lsrc-12345' - spec: - $ref: '#/components/schemas/srcm.v2.ClusterSpecUpdate' - status: - $ref: '#/components/schemas/srcm.v2.ClusterStatus' - srcm.v2.ClusterSpecUpdate: - type: object - description: The desired state of the Cluster - properties: - package: - type: string - description: | - The billing package. - - Note: Clusters can be upgraded from ESSENTIALS to ADVANCED, but cannot be - downgraded from ADVANCED to ESSENTIALS. - x-extensible-enum: - - ESSENTIALS - - ADVANCED - example: ESSENTIALS - environment: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' - description: The environment to which this belongs. - x-enable-id: true - x-enable-listmeta: true - x-enable-objectmeta: true - srcm.v3.ClusterList: - type: object - description: |- - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list and read your Schema Registry clusters. - - - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - - ## The Clusters Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - srcm/v3 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - ClusterList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/srcm/v3/clusters' - last: - example: 'https://api.confluent.cloud/srcm/v3/clusters?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/srcm/v3/clusters?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/srcm/v3/clusters?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/srcm.v3.Cluster' - - type: object - required: - - id - - metadata - - spec - - status - properties: - spec: - type: object - required: - - package - - cloud - - region - - environment - uniqueItems: true - srcm.v3.Cluster: - type: object - description: |- - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list and read your Schema Registry clusters. - - - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - - ## The Clusters Model - - properties: - api_version: - type: string - enum: - - srcm/v3 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - Cluster - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/srcm/v3/clusters/lsrc-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lsrc-12345' - spec: - $ref: '#/components/schemas/srcm.v3.ClusterSpec' - status: - $ref: '#/components/schemas/srcm.v3.ClusterStatus' - srcm.v3.ClusterSpec: + srcm.v3.ClusterSpec: type: object description: The desired state of the Cluster properties: @@ -2042,10 +3461,13 @@ components: readOnly: true package: type: string - description: | + description: > The billing package. - Note: Clusters can be upgraded from ESSENTIALS to ADVANCED, but cannot be + + Note: Clusters can be upgraded from ESSENTIALS to ADVANCED, but + cannot be + downgraded from ADVANCED to ESSENTIALS. x-extensible-enum: - ESSENTIALS @@ -2055,7 +3477,46 @@ components: type: string description: The cluster HTTP request URL. format: uri - example: 'https://psrc-00000.us-central1.gcp.confluent.cloud' + example: https://psrc-00000.us-central1.gcp.confluent.cloud + x-immutable: true + readOnly: true + catalog_http_endpoint: + type: string + description: The cluster's catalog HTTP request URL. + format: uri + example: https://psrc-00000.us-central1.gcp.confluent.cloud + x-immutable: true + readOnly: true + private_http_endpoint: + type: string + description: > + The cluster's private HTTP request URL. + + + DEPRECATED - Please use the + `private_networking_config.regional_endpoints` attribute instead, + + which supersedes the `private_http_endpoint` attribute. + format: uri + example: https://lsrc-abc.us-central-1.aws.private.confluent.cloud + x-immutable: true + readOnly: true + private_networking_config: + type: object + description: Available HTTP request URLs for private connectivity. + properties: + regional_endpoints: + type: object + description: >- + A map of region identifiers to their corresponding private HTTP + request URL. + additionalProperties: + type: string + format: uri + example: + regional_endpoints: + us-central-1: https://lsrc-abc.us-central-1.aws.private.confluent.cloud + us-west-2: https://lsrc-abc.us-west-2.aws.private.confluent.cloud x-immutable: true readOnly: true cloud: @@ -2073,10 +3534,31 @@ components: example: us-east4 x-immutable: true environment: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' description: The environment to which this belongs. x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true x-enable-id: true x-enable-listmeta: true x-enable-objectmeta: true @@ -2103,251 +3585,83 @@ components: readOnly: true example: PROVISIONED readOnly: true - parameters: - AclHost: - name: host - description: The ACL host. - in: query - required: false - schema: - type: string - AclOperation: - name: operation - description: The ACL operation. - in: query - required: false - schema: - $ref: '#/components/schemas/AclOperation' - AclOperationRequired: - name: operation - description: The ACL operation. - in: query - required: true - schema: - $ref: '#/components/schemas/AclOperation' - AclPatternType: - name: pattern_type - description: The ACL pattern type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPatternType' - AclPatternTypeRequired: - name: pattern_type - description: The ACL pattern type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPatternType' - AclPermission: - name: permission - description: The ACL permission. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPermission' - AclPermissionRequired: - name: permission - description: The ACL permission. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPermission' - AclPrincipal: - name: principal - description: The ACL principal. This is the Service Account name or user name. - in: query - required: false - schema: - type: string - AclResourceName: - name: resource_name - description: The ACL resource name. - in: query - required: false - schema: - type: string - AclResourceType: - name: resource_type - description: The ACL resource type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclResourceType' - AclResourceTypeRequired: - name: resource_type - description: The ACL resource type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclResourceType' - BrokerId: - name: broker_id - description: The Kafka broker ID. - in: path - required: true - schema: - type: integer - example: 1 - ClusterId: - name: cluster_id - description: The Kafka cluster ID. - in: path - required: true - schema: - type: string - example: cluster-1 - ConfigName: - name: name - description: The configuration parameter name. - in: path - required: true - schema: - type: string - example: compression.type - ConsumerGroupId: - name: consumer_group_id - description: The consumer group ID. - in: path - required: true - schema: - type: string - example: consumer-group-1 - ConsumerId: - name: consumer_id - description: The consumer ID. - in: path - required: true - schema: - type: string - example: consumer-1 - IncludeAuthorizedOperations: - name: include_authorized_operations - description: Specify if authorized operations should be included in the response. - in: query - required: false - schema: - type: boolean - PartitionId: - name: partition_id - description: The partition ID. - in: path - required: true - schema: - type: integer - example: 0 - TopicName: - name: topic_name - description: The topic name. - in: path - required: true - schema: - type: string - example: topic-1 - BrokerTaskType: - name: task_type - description: The Kafka broker task type. - in: path - required: true - schema: - $ref: '#/components/schemas/BrokerTaskType' - example: remove-broker - ShouldShutdown: - name: should_shutdown - description: 'To shutdown the broker or not, Default: true' - in: query - required: false - schema: - type: boolean - example: true - ValidateOnly: - name: validate_only - description: 'To validate the action can be performed successfully or not. Default: false' - in: query - required: false - schema: - type: boolean - example: false - ValidateLink: - name: validate_link - description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' - in: query - required: false - schema: - type: boolean - example: false - IncludeTasks: - name: include_tasks - description: 'Whether to include cluster linking tasks in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludeStateTransitionErrors: - name: include_state_transition_errors - description: 'Whether to include mirror state transition errors in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - Force: - name: force - description: 'Force the action. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludePartitionLevelTruncationData: - name: include_partition_level_truncation_data - description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - LinkName: - name: link_name - description: The link name - in: path - required: true - schema: - type: string - example: link-sb1 - LinkConfigName: - name: config_name - description: The link config name - in: path - required: true - schema: - type: string - example: consumer.offset.sync.enable - MirrorTopicStatus: - name: mirror_status - description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' - in: query - required: false - schema: - $ref: '#/components/schemas/MirrorTopicStatus' - example: ACTIVE - MirrorTopicName: - name: mirror_topic_name - description: Cluster Linking mirror topic name - in: path - required: true - schema: - type: string - example: topic-1 - QueryParamLinkName: - name: link_name - description: The link name - in: query - required: true - schema: - type: string - example: link-sb1 + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. + type: string + code: + description: An application-specific error code, expressed as a string value. + type: string + title: + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. + type: string + detail: + description: >- + A human-readable explanation specific to this occurrence of the + problem. + type: string + source: + type: object + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. + properties: + pointer: + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + GlobalObjectReference: + type: object + description: >- + ObjectReference provides information for you to locate the referred + object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true responses: BadRequestError: description: Bad Request @@ -2381,7 +3695,9 @@ components: schema: type: string description: The unique identifier for the API request. - example: 'Basic error="invalid_key", error_description="The API Key is invalid"' + example: >- + Basic error="invalid_key", error_description="The API Key is + invalid" content: application/json: schema: @@ -2411,7 +3727,9 @@ components: status: '403' code: user_unauthorized title: User Access Unauthorized - detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. + detail: >- + The user 'mcfly' is not allowed to access the 'delorean' + resource without the 'plutonium' role. RateLimitError: description: Rate Limit Exceeded headers: @@ -2422,7 +3740,9 @@ components: X-RateLimit-Limit: schema: type: integer - description: The maximum number of requests you're permitted to make per time period. + description: >- + The maximum number of requests you're permitted to make per time + period. X-RateLimit-Remaining: schema: type: integer @@ -2430,16 +3750,21 @@ components: X-RateLimit-Reset: schema: type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. + description: >- + The relative time in seconds until the current rate-limit window + resets. - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. Retry-After: schema: type: integer - description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. DefaultSystemError: - description: 'Oops, something went wrong!' + description: Oops, something went wrong! headers: X-Request-Id: schema: @@ -2455,7 +3780,9 @@ components: status: '500' code: out_of_gas title: DeLorean Out Of Gas - detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap NotFoundError: description: Not Found headers: @@ -2484,7 +3811,7 @@ components: schema: type: string format: uri - example: 'https://api.confluent.cloud/{object}/{id}' + example: https://api.confluent.cloud/{object}/{id} description: Resource URI of conflicting resource content: application/json: @@ -2496,7 +3823,9 @@ components: status: '409' code: resource_already_exists title: Resource Already exists - detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. + detail: >- + The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already + exists. ValidationError: description: Validation Failed headers: @@ -2514,607 +3843,340 @@ components: code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - securitySchemes: - cloud-api-key: - type: http - scheme: basic - description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. - confluent-sts-access-token: - type: oauth2 - description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' - scopes: {} - api-key: - type: http - scheme: basic - description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. - resource-api-key: - type: http - scheme: basic - description: | - Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID - as the username and resource-specific API Key Secret as the password. - external-access-token: - type: oauth2 - description: Authenticate with OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https:///token' - scopes: {} - oauth: - type: oauth2 - description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. - flows: - clientCredentials: - tokenUrl: /oauth2/token - scopes: - 'partner:alter': enables partners to alter entitlements - 'partner:create': enables partners to create entitlements and signup on behalf of customers - 'partner:delete': enables partners to delete entitlements and organizations - 'partner:describe': enables partners to read and list entitlements and organizations - requestBodies: - AlterBrokerConfigBatchRequest: - description: The alter broker configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterClusterConfigBatchRequest: - description: The alter cluster configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterTopicConfigBatchRequest: - description: The alter topic configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - examples: - batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only_batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only: true - CreateAclRequest: - description: The ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestData' - example: - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - BatchCreateAclRequest: - description: The batch ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestDataList' - example: - data: - - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - - resource_type: TOPIC - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: READ - permission: ALLOW - CreateTopicRequest: - description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTopicRequestData' - examples: - uniform_replication: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - configs: - - name: cleanup.policy - value: compact - - name: compression.type - value: gzip - dry_run_create_topic: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - validate_only: true - ProduceRequest: - description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' - content: - application/json: - schema: - $ref: '#/components/schemas/ProduceRequest' - examples: - binary_and_json: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - partition_id: 1 - headers: - - name: Header-1 - value: SGVhZGVyLTE= - - name: Header-2 - value: SGVhZGVyLTI= - key: - type: BINARY - data: Zm9vYmFy - value: - type: JSON - data: - foo: bar - timestamp: '2021-02-05T19:14:42Z' - string: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - value: - type: STRING - data: My message - empty_value: - description: key or value can be omitted entirely. - value: - key: - data: 1000 - UpdateBrokerConfigRequest: - description: The broker configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateClusterConfigRequest: - description: The cluster configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateTopicConfigRequest: - description: The topic configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - CreateLinkRequest: - description: Create a cluster link - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLinkRequestData' - examples: - destination_initiated_link: - description: Create a destination initiated cluster link - value: - source_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: acl.sync.enable - value: 'false' - - name: consumer.offset.sync.ms - value: '30000' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_source_cluster: - description: Create a source initiated cluster link at source cluster - value: - destination_cluster_id: cluster-2 - configs: - - name: bootstrap.servers - value: cluster-2-bootstrap-server - - name: link.mode - value: SOURCE - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_destination_cluster: - description: Create a source initiated cluster link at destination cluster - value: - destination_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: link.mode - value: DESTINATION - - name: connection.mode - value: INBOUND - - name: acl.sync.enable - value: 'false' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_east: - description: Create a bidirectional cluster link in east - value: - remote_cluster_id: cluster-west - configs: - - name: bootstrap.servers - value: cluster-west-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: west. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_west: - description: Create a bidirectional cluster link in west - value: - remote_cluster_id: cluster-east - cluster_link_id: eEBkTffYSESld6EO898x3w - configs: - - name: bootstrap.servers - value: cluster-east-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: east. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - UpdateLinkConfigRequest: - content: - application/json: - example: - value: '300000' - schema: - $ref: '#/components/schemas/UpdateLinkConfigRequestData' - description: Link config value to update - AlterLinkConfigBatchRequest: - content: - application/json: - example: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - CreateMirrorTopicRequest: - description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateMirrorTopicRequestData' - examples: - generic_example: - description: Generic example of creating a mirror topic - value: - source_topic_name: topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 1 - example_with_mirror_topic_name: - description: Example using optional mirror_topic_name flag - value: - source_topic_name: topic-1 - mirror_topic_name: link1_topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 3 - AlterMirrorsRequest: - description: Mirror topics to be altered. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterMirrorsRequestData' - examples: - mirror_topic_names: - description: Example using mirror topic names - value: - mirror_topic_names: - - topic-1 - - topic-2 - mirror_topic_name_pattern: - description: Example using mirror topic name pattern - value: - mirror_topic_name_pattern: .* - RemoveBrokersRequest: - content: - application/json: - example: - broker_ids: - - 1 - - 2 - - 3 - schema: - $ref: '#/components/schemas/RemoveBrokersRequestData' - description: Broker ids to remove - BrokerReplicaExclusionBatchRequest: - description: Alter Broker Replica Exclusions. - content: - application/json: - schema: - $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' - example: - data: - - broker_id: 1 - reason: The broker is to be removed. - - broker_id: 2 - reason: The broker is to be removed. x-stackQL-resources: regions: id: confluent.schema_registry_clusters.regions name: regions title: Regions methods: - list_srcm_v2regions: + list_srcm_v2_regions: operation: $ref: '#/paths/~1srcm~1v2~1regions/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - get_srcm_v2region: + get_srcm_v2_region: operation: $ref: '#/paths/~1srcm~1v2~1regions~1{id}/get' response: @@ -3122,43 +4184,51 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/regions/methods/get_srcm_v2region' - - $ref: '#/components/x-stackQL-resources/regions/methods/list_srcm_v2regions' + - $ref: >- + #/components/x-stackQL-resources/regions/methods/get_srcm_v2_region + - $ref: >- + #/components/x-stackQL-resources/regions/methods/list_srcm_v2_regions insert: [] update: [] - replace: [] delete: [] + replace: [] v2_clusters: id: confluent.schema_registry_clusters.v2_clusters name: v2_clusters title: V2 Clusters methods: - list_srcm_v2clusters: + list_srcm_v2_clusters: operation: $ref: '#/paths/~1srcm~1v2~1clusters/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_srcm_v2cluster: + create_srcm_v2_cluster: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1srcm~1v2~1clusters/post' response: mediaType: application/json openAPIDocKey: '202' - get_srcm_v2cluster: + get_srcm_v2_cluster: operation: $ref: '#/paths/~1srcm~1v2~1clusters~1{id}/get' response: mediaType: application/json openAPIDocKey: '200' - update_srcm_v2cluster: + update_srcm_v2_cluster: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1srcm~1v2~1clusters~1{id}/patch' response: mediaType: application/json openAPIDocKey: '200' - delete_srcm_v2cluster: + delete_srcm_v2_cluster: operation: $ref: '#/paths/~1srcm~1v2~1clusters~1{id}/delete' response: @@ -3166,28 +4236,33 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/v2_clusters/methods/get_srcm_v2cluster' - - $ref: '#/components/x-stackQL-resources/v2_clusters/methods/list_srcm_v2clusters' + - $ref: >- + #/components/x-stackQL-resources/v2_clusters/methods/get_srcm_v2_cluster + - $ref: >- + #/components/x-stackQL-resources/v2_clusters/methods/list_srcm_v2_clusters insert: - - $ref: '#/components/x-stackQL-resources/v2_clusters/methods/create_srcm_v2cluster' + - $ref: >- + #/components/x-stackQL-resources/v2_clusters/methods/create_srcm_v2_cluster update: - - $ref: '#/components/x-stackQL-resources/v2_clusters/methods/update_srcm_v2cluster' - replace: [] + - $ref: >- + #/components/x-stackQL-resources/v2_clusters/methods/update_srcm_v2_cluster delete: - - $ref: '#/components/x-stackQL-resources/v2_clusters/methods/delete_srcm_v2cluster' + - $ref: >- + #/components/x-stackQL-resources/v2_clusters/methods/delete_srcm_v2_cluster + replace: [] v3_clusters: id: confluent.schema_registry_clusters.v3_clusters name: v3_clusters title: V3 Clusters methods: - list_srcm_v3clusters: + list_srcm_v3_clusters: operation: $ref: '#/paths/~1srcm~1v3~1clusters/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - get_srcm_v3cluster: + get_srcm_v3_cluster: operation: $ref: '#/paths/~1srcm~1v3~1clusters~1{id}/get' response: @@ -3195,1605 +4270,13 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/v3_clusters/methods/get_srcm_v3cluster' - - $ref: '#/components/x-stackQL-resources/v3_clusters/methods/list_srcm_v3clusters' + - $ref: >- + #/components/x-stackQL-resources/v3_clusters/methods/get_srcm_v3_cluster + - $ref: >- + #/components/x-stackQL-resources/v3_clusters/methods/list_srcm_v3_clusters insert: [] update: [] - replace: [] delete: [] -paths: - /srcm/v2/regions: - get: - deprecated: true - x-deprecated-at: '20240801T00:00:00Z' - x-sunset-at: '20250228T00:00:00Z' - operationId: listSrcmV2Regions - summary: List of Regions - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all regions. - parameters: - - name: spec.cloud - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: AWS - description: Filter the results by exact match for spec.cloud. - - name: spec.region_name - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: us-east-2 - description: Filter the results by exact match for spec.region_name. - - name: spec.packages - in: query - required: false - schema: - $ref: '#/components/schemas/MultipleSearchFilter' - example: - - ESSENTIALS - - ADVANCED - description: Filter the results by exact match for spec.packages. Pass multiple times to see results matching any of the values. - style: form - explode: true - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Regions (srcm/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Region. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/srcm.v2.RegionList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/srcm/v2/regions?spec.cloud=AWS&spec.region_name=us-east-2&spec.packages=ESSENTIALS,ADVANCED' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/srcm/v2/regions?spec.cloud=AWS&spec.region_name=us-east-2&spec.packages=ESSENTIALS,ADVANCED") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/srcm/v2/regions?spec.cloud=AWS&spec.region_name=us-east-2&spec.packages=ESSENTIALS,ADVANCED\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/srcm/v2/regions?spec.cloud=AWS&spec.region_name=us-east-2&spec.packages=ESSENTIALS,ADVANCED", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/srcm/v2/regions?spec.cloud=AWS&spec.region_name=us-east-2&spec.packages=ESSENTIALS,ADVANCED", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/srcm/v2/regions?spec.cloud=AWS&spec.region_name=us-east-2&spec.packages=ESSENTIALS,ADVANCED"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/srcm/v2/regions?spec.cloud=AWS&spec.region_name=us-east-2&spec.packages=ESSENTIALS,ADVANCED"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/srcm/v2/regions/{id}': - get: - deprecated: true - x-deprecated-at: '20240801T00:00:00Z' - x-sunset-at: '20250228T00:00:00Z' - operationId: getSrcmV2Region - summary: Read a Region - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read a region. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the region. - tags: - - Regions (srcm/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Region. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/srcm.v2.Region' - - type: object - required: - - api_version - - kind - - id - - spec - properties: - spec: - type: object - required: - - display_name - - cloud - - region_name - - packages - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/srcm/v2/regions/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/srcm/v2/regions/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/srcm/v2/regions/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/srcm/v2/regions/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/srcm/v2/regions/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/srcm/v2/regions/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/srcm/v2/regions/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /srcm/v2/clusters: - get: - deprecated: true - x-deprecated-at: '20240801T00:00:00Z' - x-sunset-at: '20250228T00:00:00Z' - operationId: listSrcmV2Clusters - summary: List of Clusters - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all clusters. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Filter the results by exact match for environment. - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Clusters (srcm/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Cluster. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/srcm.v2.ClusterList' - - type: object - properties: - data: - type: array - items: - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - region: - example: - id: sgreg-00000 - related: 'https://api.confluent.cloud/srcm/v2/regions/sgreg-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/region=sgreg-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/srcm/v2/clusters?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/srcm/v2/clusters?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/srcm/v2/clusters?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/srcm/v2/clusters?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/srcm/v2/clusters?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/srcm/v2/clusters?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/srcm/v2/clusters?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - deprecated: true - x-deprecated-at: '20240801T00:00:00Z' - x-sunset-at: '20250228T00:00:00Z' - operationId: createSrcmV2Cluster - summary: Create a Cluster - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to create a cluster. - tags: - - Clusters (srcm/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/srcm.v2.Cluster' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - package - - environment - - region - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - region: - example: - id: sgreg-00000 - responses: - '202': - description: A Cluster is being created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/srcm/v2/clusters/{id}' - description: Cluster resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/srcm.v2.Cluster' - - type: object - required: - - spec - - status - properties: - spec: - type: object - required: - - package - - environment - - region - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - region: - example: - id: sgreg-00000 - related: 'https://api.confluent.cloud/srcm/v2/regions/sgreg-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/region=sgreg-00000' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/srcm/v2/clusters \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"package":"ESSENTIALS","environment":{"id":"env-00000"},"region":{"id":"sgreg-00000"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"package\":\"ESSENTIALS\",\"environment\":{\"id\":\"env-00000\"},\"region\":{\"id\":\"sgreg-00000\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/srcm/v2/clusters") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/srcm/v2/clusters\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"package\\\":\\\"ESSENTIALS\\\",\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\"},\\\"region\\\":{\\\"id\\\":\\\"sgreg-00000\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"package\":\"ESSENTIALS\",\"environment\":{\"id\":\"env-00000\"},\"region\":{\"id\":\"sgreg-00000\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/srcm/v2/clusters", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/srcm/v2/clusters", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: { - package: 'ESSENTIALS', - environment: {id: 'env-00000'}, - region: {id: 'sgreg-00000'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/srcm/v2/clusters"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"package\":\"ESSENTIALS\",\"environment\":{\"id\":\"env-00000\"},\"region\":{\"id\":\"sgreg-00000\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/srcm/v2/clusters"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"package\":\"ESSENTIALS\",\"environment\":{\"id\":\"env-00000\"},\"region\":{\"id\":\"sgreg-00000\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/srcm/v2/clusters/{id}': - get: - deprecated: true - x-deprecated-at: '20240801T00:00:00Z' - x-sunset-at: '20250228T00:00:00Z' - operationId: getSrcmV2Cluster - summary: Read a Cluster - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read a cluster. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the cluster. - tags: - - Clusters (srcm/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Cluster. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/srcm.v2.Cluster' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - package - - environment - - region - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - region: - example: - id: sgreg-00000 - related: 'https://api.confluent.cloud/srcm/v2/regions/sgreg-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/region=sgreg-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/srcm/v2/clusters/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/srcm/v2/clusters/{id}?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/srcm/v2/clusters/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/srcm/v2/clusters/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/srcm/v2/clusters/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/srcm/v2/clusters/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/srcm/v2/clusters/{id}?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - deprecated: true - x-deprecated-at: '20240801T00:00:00Z' - x-sunset-at: '20250228T00:00:00Z' - operationId: updateSrcmV2Cluster - summary: Update a Cluster - description: |+ - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to update a cluster. - - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the cluster. - tags: - - Clusters (srcm/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/srcm.v2.ClusterUpdate' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - environment - properties: - environment: - example: - id: env-00000 - responses: - '200': - description: Cluster. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/srcm.v2.Cluster' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - package - - environment - - region - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - region: - example: - id: sgreg-00000 - related: 'https://api.confluent.cloud/srcm/v2/regions/sgreg-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/region=sgreg-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/srcm/v2/clusters/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"spec":{"package":"ESSENTIALS","environment":{"id":"env-00000"},"region":{"id":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"spec\":{\"package\":\"ESSENTIALS\",\"environment\":{\"id\":\"env-00000\"},\"region\":{\"id\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/srcm/v2/clusters/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/srcm/v2/clusters/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"spec\\\":{\\\"package\\\":\\\"ESSENTIALS\\\",\\\"environment\\\":{\\\"id\\\":\\\"env-00000\\\"},\\\"region\\\":{\\\"id\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"spec\":{\"package\":\"ESSENTIALS\",\"environment\":{\"id\":\"env-00000\"},\"region\":{\"id\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/srcm/v2/clusters/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/srcm/v2/clusters/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - spec: {package: 'ESSENTIALS', environment: {id: 'env-00000'}, region: {id: 'string'}} - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/srcm/v2/clusters/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"spec\":{\"package\":\"ESSENTIALS\",\"environment\":{\"id\":\"env-00000\"},\"region\":{\"id\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/srcm/v2/clusters/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"spec\":{\"package\":\"ESSENTIALS\",\"environment\":{\"id\":\"env-00000\"},\"region\":{\"id\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - delete: - deprecated: true - x-deprecated-at: '20240801T00:00:00Z' - x-sunset-at: '20250228T00:00:00Z' - operationId: deleteSrcmV2Cluster - summary: Delete a Cluster - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to delete a cluster. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the cluster. - tags: - - Clusters (srcm/v2) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A Cluster is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/srcm/v2/clusters/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/srcm/v2/clusters/{id}?environment=env-00000") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/srcm/v2/clusters/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/srcm/v2/clusters/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/srcm/v2/clusters/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/srcm/v2/clusters/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/srcm/v2/clusters/{id}?environment=env-00000"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /srcm/v3/clusters: - get: - operationId: listSrcmV3Clusters - summary: List of Clusters - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all clusters. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Filter the results by exact match for environment. - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Clusters (srcm/v3) - security: - - cloud-api-key: [] - responses: - '200': - description: Cluster. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/srcm.v3.ClusterList' - - type: object - properties: - data: - type: array - items: - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/srcm/v3/clusters?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/srcm/v3/clusters?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/srcm/v3/clusters?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/srcm/v3/clusters?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/srcm/v3/clusters?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/srcm/v3/clusters?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/srcm/v3/clusters?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/srcm/v3/clusters/{id}': - get: - operationId: getSrcmV3Cluster - summary: Read a Cluster - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read a cluster. - parameters: - - name: environment - in: query - required: true - schema: - $ref: '#/components/schemas/SearchFilter' - example: env-00000 - description: Scope the operation to the given environment. - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the cluster. - tags: - - Clusters (srcm/v3) - security: - - cloud-api-key: [] - responses: - '200': - description: Cluster. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/srcm.v3.Cluster' - - type: object - required: - - api_version - - kind - - id - - spec - - status - properties: - spec: - type: object - required: - - package - - cloud - - region - - environment - - type: object - properties: - spec: - type: object - properties: - environment: - example: - id: env-00000 - related: 'https://api.confluent.cloud/v2/environments/env-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/srcm/v3/clusters/{id}?environment=env-00000' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/srcm/v3/clusters/{id}?environment=env-00000") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/srcm/v3/clusters/{id}?environment=env-00000\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/srcm/v3/clusters/{id}?environment=env-00000", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/srcm/v3/clusters/{id}?environment=env-00000", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/srcm/v3/clusters/{id}?environment=env-00000"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/srcm/v3/clusters/{id}?environment=env-00000"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/share_group.yaml b/providers/src/confluent/v00.00.00000/services/share_group.yaml new file mode 100644 index 00000000..cbc4bec3 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/share_group.yaml @@ -0,0 +1,973 @@ +openapi: 3.0.0 +info: + title: share_group API + description: confluent share_group API + version: 1.0.0 +paths: + /kafka/v3/clusters/{cluster_id}/share-groups: + get: + summary: List Share Groups + operationId: listKafkaShareGroups + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the list of share groups that belong to the specified + + Kafka cluster. + tags: + - Share Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListShareGroupsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + /kafka/v3/clusters/{cluster_id}/share-groups/{group_id}: + get: + summary: Get Share Group + operationId: getKafkaShareGroup + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the share group specified by the ``group_id``. + tags: + - Share Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetShareGroupResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + delete: + summary: Delete Share Group + operationId: deleteKafkaShareGroup + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Delete the share group specified by the ``group_id``. + tags: + - Share Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '204': + $ref: '#/components/responses/NoContentResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '404': + $ref: '#/components/responses/NotFoundErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/GroupId' + /kafka/v3/clusters/{cluster_id}/share-groups/{group_id}/consumers: + get: + summary: List Share Group Consumers + operationId: listKafkaShareGroupConsumers + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return a list of consumers that belong to the specified share + + group. + tags: + - Share Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListShareGroupConsumersResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/GroupId' + /kafka/v3/clusters/{cluster_id}/share-groups/{group_id}/consumers/{consumer_id}: + get: + summary: Get Share Group Consumer + operationId: getKafkaShareGroupConsumer + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the consumer specified by the ``consumer_id``. + tags: + - Share Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetShareGroupConsumerResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/GroupId' + - $ref: '#/components/parameters/ConsumerId' + /kafka/v3/clusters/{cluster_id}/share-groups/{group_id}/consumers/{consumer_id}/assignments: + get: + summary: List Share Group Consumer Assignments + operationId: listKafkaShareGroupConsumerAssignments + description: >- + [![Generally + Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the consumer assignments specified by the ``consumer_id``. + tags: + - Share Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListShareGroupConsumerAssignmentsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/GroupId' + - $ref: '#/components/parameters/ConsumerId' +components: + schemas: + ShareGroupDataList: + type: object + required: + - kind + - metadata + - data + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + data: + type: array + items: + $ref: '#/components/schemas/ShareGroupData' + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. + type: string + code: + description: An application-specific error code, expressed as a string value. + type: string + title: + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. + type: string + detail: + description: >- + A human-readable explanation specific to this occurrence of the + problem. + type: string + source: + type: object + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. + properties: + pointer: + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + ShareGroupData: + type: object + required: + - kind + - metadata + - cluster_id + - share_group_id + - state + - coordinator + - consumers + - consumer_count + - partition_count + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceMetadata' + cluster_id: + type: string + share_group_id: + type: string + state: + $ref: '#/components/schemas/ShareGroupState' + coordinator: + $ref: '#/components/schemas/Relationship' + consumers: + $ref: '#/components/schemas/Relationship' + consumer_count: + type: integer + format: int32 + description: Number of consumers in this share group + partition_count: + type: integer + format: int32 + description: >- + Total number of partitions assigned to this share group across all + consumers + assigned_topic_partitions: + type: array + items: + $ref: '#/components/schemas/ShareGroupTopicPartitionData' + description: >- + List of topic-partitions assigned to this share group, including + those from empty groups + ShareGroupConsumerDataList: + type: object + required: + - kind + - metadata + - data + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + data: + type: array + items: + $ref: '#/components/schemas/ShareGroupConsumerData' + ShareGroupConsumerData: + type: object + required: + - kind + - metadata + - cluster_id + - group_id + - consumer_id + - client_id + - assignments + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceMetadata' + cluster_id: + type: string + group_id: + type: string + consumer_id: + type: string + client_id: + type: string + assignments: + $ref: '#/components/schemas/Relationship' + ShareGroupConsumerAssignmentDataList: + type: object + required: + - kind + - metadata + - data + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + data: + type: array + items: + $ref: '#/components/schemas/ShareGroupConsumerAssignmentData' + ResourceCollection: + type: object + required: + - kind + - metadata + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + Resource: + type: object + required: + - kind + - metadata + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceMetadata' + ShareGroupState: + type: string + x-extensible-enum: + - UNKNOWN + - PREPARING_REBALANCE + - COMPLETING_REBALANCE + - STABLE + - DEAD + - EMPTY + Relationship: + type: object + required: + - related + properties: + related: + type: string + ShareGroupTopicPartitionData: + type: object + required: + - kind + - metadata + - topic_name + - partition_id + - partition + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceMetadata' + topic_name: + type: string + description: The name of the topic + partition_id: + type: integer + format: int32 + description: The partition ID + partition: + $ref: '#/components/schemas/Relationship' + description: Link to the topic partition + ShareGroupConsumerAssignmentData: + type: object + required: + - kind + - metadata + - cluster_id + - group_id + - consumer_id + - topic_name + - partition_id + - partition + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceMetadata' + cluster_id: + type: string + group_id: + type: string + consumer_id: + type: string + topic_name: + type: string + partition_id: + type: integer + partition: + $ref: '#/components/schemas/Relationship' + ResourceCollectionMetadata: + type: object + required: + - self + properties: + self: + type: string + next: + type: string + nullable: true + ResourceMetadata: + type: object + required: + - self + properties: + self: + type: string + resource_name: + type: string + nullable: true + responses: + ListShareGroupsResponse: + description: The list of share groups. + content: + application/json: + schema: + $ref: '#/components/schemas/ShareGroupDataList' + example: + kind: KafkaShareGroupList + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups + next: null + data: + - kind: KafkaShareGroup + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1 + resource_name: crn:///kafka=cluster-1/share-group=share-group-1 + cluster_id: cluster-1 + share_group_id: share-group-1 + state: STABLE + coordinator: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1 + consumers: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers + consumer_count: 2 + partition_count: 3 + assigned_topic_partitions: + - kind: KafkaShareGroupTopicPartition + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/assigned-topic-partitions/topic-1/0 + resource_name: >- + crn:///kafka=cluster-1/share-group=share-group-1/topic-partition=topic-1:0 + topic_name: topic-1 + partition_id: 0 + partition: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/0 + - kind: KafkaShareGroup + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-2 + resource_name: crn:///kafka=cluster-1/share-group=share-group-2 + cluster_id: cluster-1 + share_group_id: share-group-2 + state: EMPTY + coordinator: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/2 + consumers: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-2/consumers + consumer_count: 2 + partition_count: 3 + assigned_topic_partitions: + - kind: KafkaShareGroupTopicPartition + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-2/assigned-topic-partitions/topic-1/0 + resource_name: >- + crn:///kafka=cluster-1/share-group=share-group-2/topic-partition=topic-1:0 + topic_name: topic-1 + partition_id: 0 + partition: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/0 + BadRequestErrorResponse: + description: >- + Indicates a bad request error. It could be caused by an unexpected + request body format or other forms of request validation failure. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + bad_request_cannot_deserialize: + description: >- + Thrown when trying to deserialize an integer from non-integer + data. + value: + error_code: 400 + message: >- + Cannot deserialize value of type `java.lang.Integer` from + String "A": not a valid `java.lang.Integer` value + unsupported_version_exception: + description: >- + Thrown when the version of this API is not supported in the + underlying Kafka cluster. + value: + error_code: 40035 + message: >- + The version of this API is not supported in the underlying + Kafka cluster. + UnauthorizedErrorResponse: + description: >- + Indicates a client authentication error. Kafka authentication failures + will contain error code 40101 in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + kafka_authentication_failed: + description: >- + Thrown when using Basic authentication with wrong Kafka + credentials. + value: + error_code: 40101 + message: Authentication failed + ForbiddenErrorResponse: + description: >- + Indicates a client authorization error. Kafka authorization failures + will contain error code 40301 in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + kafka_authorization_failed: + description: >- + Thrown when the caller is not authorized to perform the + underlying operation. + value: + error_code: 40301 + message: Request is not authorized + TooManyRequestsErrorResponse: + description: >- + Indicates that a rate limit threshold has been reached, and the client + should retry again later. + content: + text/html: + schema: + type: string + example: + description: A sample response from Jetty's DoSFilter. + value: >- + Error 429 Too Many + Requests

HTTP ERROR 429 Too Many + Requests

+ + +
URI:/v3/clusters/my-cluster
STATUS:429
MESSAGE: Too Many + Requests
SERVLET: default
+ ServerErrorResponse: + description: >- + A server-side problem that might not be addressable from the client + side. Retriable Kafka errors will contain error code 50003 in the + response body. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + generic_internal_server_error: + description: Thrown for generic HTTP 500 errors. + value: + error_code: 500 + message: Internal Server Error + GetShareGroupResponse: + description: The share group. + content: + application/json: + schema: + $ref: '#/components/schemas/ShareGroupData' + example: + kind: KafkaShareGroup + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1 + resource_name: crn:///kafka=cluster-1/share-group=share-group-1 + cluster_id: cluster-1 + share_group_id: share-group-1 + state: STABLE + coordinator: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/brokers/1 + consumers: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers + consumer_count: 2 + partition_count: 3 + assigned_topic_partitions: + - kind: KafkaShareGroupTopicPartition + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/assigned-topic-partitions/topic-1/0 + resource_name: >- + crn:///kafka=cluster-1/share-group=share-group-1/topic-partition=topic-1:0 + topic_name: topic-1 + partition_id: 0 + partition: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/0 + - kind: KafkaShareGroupTopicPartition + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/assigned-topic-partitions/topic-1/1 + resource_name: >- + crn:///kafka=cluster-1/share-group=share-group-1/topic-partition=topic-1:1 + topic_name: topic-1 + partition_id: 1 + partition: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1 + NoContentResponse: + description: Operation succeeded, no content in the response + NotFoundErrorResponse: + description: >- + Indicates attempted access to an unreachable or non-existing resource + like e.g. an unknown topic or partition. GET requests to endpoints not + allowed in the accesslists will also result in this response. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + endpoint_not_found: + description: Thrown for generic HTTP 404 errors. + value: + error_code: 404 + message: HTTP 404 Not Found + cluster_not_found: + description: Thrown when using a non-existing cluster ID. + value: + error_code: 404 + message: Cluster my-cluster cannot be found. + unknown_topic_or_partition: + description: Thrown when using a non-existing topic name or partition ID. + value: + error_code: 40403 + message: This server does not host this topic-partition. + ListShareGroupConsumersResponse: + description: The list of consumers. + content: + application/json: + schema: + $ref: '#/components/schemas/ShareGroupConsumerDataList' + example: + kind: KafkaShareConsumerList + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers + next: null + data: + - kind: KafkaShareGroupConsumer + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-1 + resource_name: >- + crn:///kafka=cluster-1/share-group=share-group-1/consumer=consumer-1 + cluster_id: cluster-1 + group_id: share-group-1 + consumer_id: consumer-1 + client_id: client-1 + assignments: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-1/assignments + - kind: KafkaShareGroupConsumer + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-2 + resource_name: >- + crn:///kafka=cluster-1/share-group=share-group-1/consumer=consumer-2 + cluster_id: cluster-1 + group_id: share-group-1 + consumer_id: consumer-2 + client_id: client-2 + assignments: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-2/assignments + - kind: KafkaShareGroupConsumer + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-3 + resource_name: >- + crn:///kafka=cluster-1/share-group=share-group-1/consumer=consumer-3 + cluster_id: cluster-1 + group_id: share-group-1 + consumer_id: consumer-3 + client_id: client-3 + assignments: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-3/assignments + GetShareGroupConsumerResponse: + description: The consumer. + content: + application/json: + schema: + $ref: '#/components/schemas/ShareGroupConsumerData' + example: + kind: KafkaShareGroupConsumer + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-1 + resource_name: >- + crn:///kafka=cluster-1/share-group=share-group-1/consumer=consumer-1 + cluster_id: cluster-1 + group_id: share-group-1 + consumer_id: consumer-1 + client_id: client-1 + assignments: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-1/assignments + ListShareGroupConsumerAssignmentsResponse: + description: The list of share group assignments. + content: + application/json: + schema: + $ref: '#/components/schemas/ShareGroupConsumerAssignmentDataList' + example: + kind: KafkaConsumerAssignmentList + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-1/assignments + next: null + data: + - kind: KafkaShareGroupConsumerAssignment + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-1/assignments/topic-1/partitions/1 + resource_name: >- + crn:///kafka=cluster-1/share-group=share-group-1/consumer=consumer-1/assignment=topic=1/partition=1 + cluster_id: cluster-1 + group_id: share-group-1 + consumer_id: consumer-1 + topic_name: topic-1 + partition_id: 1 + partition: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-1/partitions/1 + - kind: KafkaShareGroupConsumerAssignment + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-1/assignments/topic-2/partitions/2 + resource_name: >- + crn:///kafka=cluster-1/share-group=share-group-1/consumer=consumer-1/assignment=topic=2/partition=2 + cluster_id: cluster-1 + group_id: share-group-1 + consumer_id: consumer-1 + topic_name: topic-2 + partition_id: 2 + partition: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-2/partitions/2 + - kind: KafkaShareGroupConsumerAssignment + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/share-groups/share-group-1/consumers/consumer-1/assignments/topic-3/partitions/3 + resource_name: >- + crn:///kafka=cluster-1/share-group=share-group-1/consumer=consumer-1/assignment=topic=3/partition=3 + cluster_id: cluster-1 + group_id: share-group-1 + consumer_id: consumer-1 + topic_name: topic-3 + partition_id: 3 + partition: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/topics/topic-3/partitions/3 + parameters: + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + GroupId: + name: group_id + description: The group ID. + in: path + required: true + schema: + type: string + example: group-1 + ConsumerId: + name: consumer_id + description: The consumer ID. + in: path + required: true + schema: + type: string + example: consumer-1 + x-stackQL-resources: + share_groups: + id: confluent.share_group.share_groups + name: share_groups + title: Share Groups + methods: + list_kafka_share_groups: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1share-groups/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + get_kafka_share_group: + operation: + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1share-groups~1{group_id}/get + response: + mediaType: application/json + openAPIDocKey: '200' + delete_kafka_share_group: + operation: + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1share-groups~1{group_id}/delete + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/share_groups/methods/get_kafka_share_group + - $ref: >- + #/components/x-stackQL-resources/share_groups/methods/list_kafka_share_groups + insert: [] + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/share_groups/methods/delete_kafka_share_group + replace: [] + consumers: + id: confluent.share_group.consumers + name: consumers + title: Consumers + methods: + list_kafka_share_group_consumers: + operation: + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1share-groups~1{group_id}~1consumers/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + get_kafka_share_group_consumer: + operation: + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1share-groups~1{group_id}~1consumers~1{consumer_id}/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/consumers/methods/get_kafka_share_group_consumer + - $ref: >- + #/components/x-stackQL-resources/consumers/methods/list_kafka_share_group_consumers + insert: [] + update: [] + delete: [] + replace: [] + consumer_assignments: + id: confluent.share_group.consumer_assignments + name: consumer_assignments + title: Consumer Assignments + methods: + list_kafka_share_group_consumer_assignments: + operation: + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1share-groups~1{group_id}~1consumers~1{consumer_id}~1assignments/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/consumer_assignments/methods/list_kafka_share_group_consumer_assignments + insert: [] + update: [] + delete: [] + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/sql.yaml b/providers/src/confluent/v00.00.00000/services/sql.yaml index ff0879af..78dba70f 100644 --- a/providers/src/confluent/v00.00.00000/services/sql.yaml +++ b/providers/src/confluent/v00.00.00000/services/sql.yaml @@ -1,2279 +1,4909 @@ openapi: 3.0.0 -servers: - - url: 'https://api.confluent.cloud' - description: Confluent Cloud API info: - version: '' - contact: - name: Confluent Cloud - url: 'https://www.confluent.io/cloud-contact-us/' - email: support@confluent.io - x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b - x-audience: external-public - x-logo: - url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' - title: Confluent Cloud APIs - sql - description: sql -tags: - - name: API Keys (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. - - The API allows you to list, create, update and delete your API Keys. - - - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - - ## The API Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - - name: Environments (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. - - - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - - ## The Environments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - - name: Organizations (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). - - The API allows you to list, view, and update your organizations. - - - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - - ## The Organizations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - - name: Users (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `User` objects represent individuals who may access your Confluent resources. - - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. - - - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). - - ## The Users Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - - name: Service Accounts (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. - - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. - - - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). + title: sql API + description: confluent sql API + version: 1.0.0 +paths: + /sql/v1/organizations/{organization_id}/environments/{environment_id}/connections: + get: + x-lifecycle-stage: Preview + x-self-access: true + x-request-access-name: SQL API v1 + operationId: listSqlv1Connections + summary: List of Connections + description: >- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) - ## The Service Accounts Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + Retrieve a sorted, filtered and paginated list of all Connections. + parameters: + - in: path + name: organization_id + required: true + schema: + type: string + format: uuid + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: spec.connection_type + in: query + required: false + schema: + type: string + x-extensible-enum: + - AZUREML + - AZUREOPENAI + - A2A + - ANTHROPIC + - BEDROCK + - CONFLUENT_JDBC + - COSMOSDB + - COUCHBASE + - ELASTIC + - FIREWORKSAI + - GOOGLEAI + - MCP_SERVER + - MONGODB + - OPENAI + - PINECONE + - REST + - S3VECTORS + - SAGEMAKER + - VERTEXAI + description: Filter the results by exact match for spec.connection_type + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Connections (sql/v1) + security: + - resource-api-key: [] + responses: + '200': + description: Connections. + content: + application/json: + schema: + $ref: '#/components/schemas/sql.v1.ConnectionList' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: Preview + x-self-access: false + x-request-access-name: SQL API v1 + operationId: createSqlv1Connection + summary: Create a Connection + description: >- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - - name: Invitations (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + Make a request to create a Connection. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + tags: + - Connections (sql/v1) + security: + - resource-api-key: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `Connection` models a reusable endpoint and auth token to + authenticate the caller to + + use that endpoint. + + Only `OrganizationAdmins` and `EnvironmentAdmins` will have the + permissions to create, update and delete `Connections`. + + `FlinkDevelopers` and `ModelResourceOwners` can later reference + a `Connection` resource within their Model + + creation statements. + + The API allows you to list, create, read, and delete your + connections. + + ## The Connections Model + + + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - Connection + readOnly: true + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + uid: + example: 12345678-1234-1234-1234-123456789012 + resource_version: + example: a23av + readOnly: true + type: object + name: + type: string + example: my-openai-connection + description: >- + The user provided name of the resource, unique within this + environment. + pattern: >- + [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* + x-immutable: true + maxLength: 100 + spec: + $ref: '#/components/schemas/sql.v1.ConnectionSpec' + status: + $ref: '#/components/schemas/sql.v1.ConnectionStatus' + required: + - spec + - name + responses: + '201': + description: A Connection has been successfully created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: >- + https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{name} + description: Connection resource uri + content: + application/json: + schema: + type: object + description: >- + `Connection` models a reusable endpoint and auth token to + authenticate the caller to - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + use that endpoint. + Only `OrganizationAdmins` and `EnvironmentAdmins` will have + the permissions to create, update and delete `Connections`. - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). + `FlinkDevelopers` and `ModelResourceOwners` can later + reference a `Connection` resource within their Model - ## The Invitations Model - + creation statements. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + The API allows you to list, create, read, and delete your + connections. - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - - name: IP Groups (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + ## The Connections Model - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - Connection + readOnly: true + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + uid: + example: 12345678-1234-1234-1234-123456789012 + resource_version: + example: a23av + readOnly: true + type: object + name: + type: string + example: my-openai-connection + description: >- + The user provided name of the resource, unique within this + environment. + pattern: >- + [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* + x-immutable: true + maxLength: 100 + spec: + $ref: '#/components/schemas/sql.v1.ConnectionSpec' + status: + $ref: '#/components/schemas/sql.v1.ConnectionStatus' + required: + - spec + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + servers: + - url: https://flink.region.provider.confluent.cloud + description: Flink Compute Pool Endpoint + x-lifecycle-stage: Preview + x-self-access: true + x-request-access-name: SQL API v1 + /sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}: + get: + x-lifecycle-stage: Preview + x-self-access: true + x-request-access-name: SQL API v1 + operationId: getSqlv1Connection + summary: Read a Connection + description: >- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) - ## The IP Groups Model - - - name: IP Filters (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + Make a request to read a Connection. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: connection_name + in: path + required: true + schema: + type: string + description: >- + The user provided name of the Connection. Unique within a region + within an org and env. + tags: + - Connections (sql/v1) + security: + - resource-api-key: [] + responses: + '200': + description: Connection. + content: + application/json: + schema: + type: object + description: >- + `Connection` models a reusable endpoint and auth token to + authenticate the caller to - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. + use that endpoint. + Only `OrganizationAdmins` and `EnvironmentAdmins` will have + the permissions to create, update and delete `Connections`. - ## The IP Filters Model - - - name: Role Bindings (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + `FlinkDevelopers` and `ModelResourceOwners` can later + reference a `Connection` resource within their Model - A role binding grants a Principal a role on resources that match a pattern. + creation statements. - The API allows you to perform create, delete, and list operations on role bindings. + The API allows you to list, create, read, and delete your + connections. + ## The Connections Model - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). + + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - Connection + readOnly: true + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + uid: + example: 12345678-1234-1234-1234-123456789012 + resource_version: + example: a23av + readOnly: true + type: object + name: + type: string + example: my-openai-connection + description: >- + The user provided name of the resource, unique within this + environment. + pattern: >- + [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* + x-immutable: true + maxLength: 100 + spec: + $ref: '#/components/schemas/sql.v1.ConnectionSpec' + status: + $ref: '#/components/schemas/sql.v1.ConnectionStatus' + required: + - api_version + - kind + - metadata + - spec + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: Preview + x-self-access: false + x-request-access-name: SQL API v1 + operationId: deleteSqlv1Connection + summary: Delete a Connection + description: >- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) - ## The Role Bindings Model - - - name: Subscriptions (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. - - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Subscriptions Model - - - name: Integrations (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to delete a statement. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: connection_name + in: path + required: true + schema: + type: string + description: The unique identifier for the connection. + tags: + - Connections (sql/v1) + security: + - resource-api-key: [] + responses: + '200': + description: A Connection has been deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + put: + x-lifecycle-stage: Preview + x-self-access: false + x-request-access-name: SQL API v1 + operationId: updateSqlv1Connection + summary: Update a Connection + description: >- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. + Make a request to update a connection. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: connection_name + in: path + required: true + schema: + type: string + description: The unique identifier for the connection. + tags: + - Connections (sql/v1) + security: + - resource-api-key: [] + responses: + '200': + description: A Connection has been updated. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + requestBody: + content: + application/json: + schema: + type: object + description: >- + `Connection` models a reusable endpoint and auth token to + authenticate the caller to + + use that endpoint. + + Only `OrganizationAdmins` and `EnvironmentAdmins` will have the + permissions to create, update and delete `Connections`. + + `FlinkDevelopers` and `ModelResourceOwners` can later reference + a `Connection` resource within their Model + + creation statements. + + The API allows you to list, create, read, and delete your + connections. + + ## The Connections Model + + + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - Connection + readOnly: true + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + uid: + example: 12345678-1234-1234-1234-123456789012 + resource_version: + example: a23av + readOnly: true + type: object + name: + type: string + example: my-openai-connection + description: >- + The user provided name of the resource, unique within this + environment. + pattern: >- + [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* + x-immutable: true + maxLength: 100 + spec: + $ref: '#/components/schemas/sql.v1.ConnectionSpec' + status: + $ref: '#/components/schemas/sql.v1.ConnectionStatus' + required: + - spec + - name + - metadata + servers: + - url: https://flink.region.provider.confluent.cloud + description: Flink Compute Pool Endpoint + x-lifecycle-stage: Preview + x-self-access: true + x-request-access-name: SQL API v1 + /sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{name}/results: + get: + x-lifecycle-stage: General Availability + x-self-access: true + x-request-access-name: SQL API v1 + operationId: getSqlv1StatementResult + summary: Read Statement Result + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - ## The Integrations Model - + Read Statement Result. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: name + in: path + required: true + schema: + type: string + description: The unique identifier for the statement. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: >- + It contains the field offset in the CollectSinkFunction protocol. On + the first request, it should be unset. The offset is assumed to + start at 0. + tags: + - Statement Results (sql/v1) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + description: Statement Result. + content: + application/json: + schema: + type: object + description: >- + `Statement Result` represents a resource used to model results + of SQL statements. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + The API allows you to read your SQL statement result. + required: + - api_version + - kind + - metadata + - data + - results + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + example: sql/v1 + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - StatementResult + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + example: >- + https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements + next: + description: >- + A URL that can be followed to get the next batch of + results. + type: string + example: >- + https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + results: + type: object + description: >- + A results property that contains a data property that + contains an array of results. + properties: + data: + type: array + description: > + A data property that contains an array of results. + Each entry in the array is a separate result. - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - - name: Notification Types (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The type of notifications (and their corresponding metadata) supported by Confluent. + The value of `op` attribute (if present) represents + the kind of change that a row can describe in a + changelog: - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). + `0`: represents `INSERT` (`+I`), i.e. insertion + operation; - ## The Notification Types Model - - - name: Clusters (cmk/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. + `1`: represents `UPDATE_BEFORE` (`-U`), i.e. update + operation with the previous content of the updated + row. - The API allows you to list, create, read, update, and delete your Kafka clusters. + This kind should occur together with `UPDATE_AFTER` + for modelling an update that needs to retract + the previous row first. It is useful in cases of a + non-idempotent update, i.e., an update of a row that + is not - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). + uniquely identifiable by a key; - ## The Clusters Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + `2`: represents `UPDATE_AFTER` (`+U`), i.e. update + operation with new content of the updated row; - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - - name: Clusters (ksqldbcm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + This kind CAN occur together with `UPDATE_BEFORE` for + modelling an update that - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + needs to retract the previous row first or it + describes an idempotent update, i.e., an + update of a row that is uniquely identifiable by a + key; - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - ## The Clusters Model - + `3`: represents `DELETE` (`-D`), i.e. deletion + operation; - ## Quotas and Limits - This resource is subject to the following quotas: - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - - name: Connectors (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Defaults to `0`. + items: {} + example: + - op: 0 + row: + - '101' + - Jay + - - null + - abc + - - null + - '456' + - 1990-01-12 12:00.12 + - - - null + - Alice + - - '42' + - Bob + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + servers: + - url: https://flink.region.provider.confluent.cloud + description: Flink Compute Pool Endpoint + x-lifecycle-stage: General Availability + x-self-access: true + x-request-access-name: SQL API v1 + /sql/v1/organizations/{organization_id}/environments/{environment_id}/statements: + get: + x-lifecycle-stage: General Availability + x-self-access: true + x-request-access-name: SQL API v1 + operationId: listSqlv1Statements + summary: List of Statements + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for Managed Connectors or Custom Connectors in Confluent Cloud. - The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. + Retrieve a sorted, filtered, paginated list of all statements. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: spec.compute_pool_id + in: query + required: false + schema: + type: string + example: lfcp-00000 + description: >- + Filter the results by exact match for spec.compute_pool_id. - Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + When creating statements, if compute_pool_id is not specified, the + statement will use the default compute pool. The default pool is + automatically determined by the system. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + - name: label_selector + in: query + required: false + schema: + type: string + style: form + explode: false + description: A comma-separated label selector to filter the statements. + tags: + - Statements (sql/v1) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + description: Statements. + content: + application/json: + schema: + $ref: '#/components/schemas/sql.v1.StatementList' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + x-request-access-name: SQL API v1 + operationId: createSqlv1Statement + summary: Create a Statement + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - name: Lifecycle (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. - - name: Status (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. - - name: Managed Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for Managed connectors in Confluent Cloud. - - name: Offsets (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the offsets for a Managed Connector. - - Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) - - name: Custom Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + Make a request to create a statement. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + tags: + - Statements (sql/v1) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `Statement` represents a core resource used to model SQL + statements for execution. + + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt + to handle session + + management or any higher-level functionality. + + The API allows you to list, create, read, and delete your + statements. + + ## The Statements Model + + + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - Statement + readOnly: true + metadata: + description: The metadata of the statement. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + example: >- + https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements/my-statement + created_at: + type: string + format: date-time + example: '1996-03-19T01:02:03-04:05' + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2025-11-10T16:20:00Z' + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + uid: + type: string + example: 12345678-1234-1234-1234-123456789012 + description: >- + A system generated globally unique identifier for this + resource. + resource_version: + type: string + example: a23av + description: >- + A system generated string that uniquely identifies the + version of this resource. + labels: + type: object + description: A map of key-value pairs that describe the resource. + additionalProperties: + type: string + example: + user.confluent.io/hidden: 'true' + resource_name: + example: '' + readOnly: true + type: object + name: + type: string + example: sql123 + description: >- + The user provided name of the resource, unique within this + environment. + pattern: >- + [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* + x-immutable: true + maxLength: 100 + organization_id: + type: string + format: uuid + description: The unique identifier for the organization. + x-immutable: true + environment_id: + type: string + description: The unique identifier for the environment. + x-immutable: true + spec: + $ref: '#/components/schemas/sql.v1.StatementSpec' + status: + $ref: '#/components/schemas/sql.v1.StatementStatus' + result: + $ref: '#/components/schemas/sql.v1.StatementResult' + required: + - spec + - name + responses: + '201': + description: A Statement is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: >- + https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{name} + description: Statement resource uri + content: + application/json: + schema: + type: object + description: >- + `Statement` represents a core resource used to model SQL + statements for execution. - ## The Custom Connector Plugins Model - - - name: Presigned Urls (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + A statement generalizes DDL, DML, DQL, etc., but doesn’t + attempt to handle session - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. + management or any higher-level functionality. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). + The API allows you to list, create, read, and delete your + statements. + ## The Statements Model - ## The Presigned Urls Model - - - name: Cluster (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Configs (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: ACL (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Consumer Group (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Partition (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Topic (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Records (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Cluster Linking (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Applied Quotas (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - Statement + readOnly: true + metadata: + description: The metadata of the statement. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + example: >- + https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements/my-statement + created_at: + type: string + format: date-time + example: '1996-03-19T01:02:03-04:05' + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2025-11-10T16:20:00Z' + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + uid: + type: string + example: 12345678-1234-1234-1234-123456789012 + description: >- + A system generated globally unique identifier for this + resource. + resource_version: + type: string + example: a23av + description: >- + A system generated string that uniquely identifies the + version of this resource. + labels: + type: object + description: A map of key-value pairs that describe the resource. + additionalProperties: + type: string + example: + user.confluent.io/hidden: 'true' + resource_name: + example: '' + readOnly: true + type: object + name: + type: string + example: sql123 + description: >- + The user provided name of the resource, unique within this + environment. + pattern: >- + [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* + x-immutable: true + maxLength: 100 + organization_id: + type: string + format: uuid + description: The unique identifier for the organization. + x-immutable: true + environment_id: + type: string + description: The unique identifier for the environment. + x-immutable: true + spec: + $ref: '#/components/schemas/sql.v1.StatementSpec' + status: + $ref: '#/components/schemas/sql.v1.StatementStatus' + result: + $ref: '#/components/schemas/sql.v1.StatementResult' + required: + - spec + - status + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + servers: + - url: https://flink.region.provider.confluent.cloud + description: Flink Compute Pool Endpoint + x-lifecycle-stage: General Availability + x-self-access: true + x-request-access-name: SQL API v1 + /sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + x-request-access-name: SQL API v1 + operationId: getSqlv1Statement + summary: Read a Statement + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. + Make a request to read a statement. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: statement_name + in: path + required: true + schema: + type: string + description: The unique identifier for the statement. + tags: + - Statements (sql/v1) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + description: Statement. + content: + application/json: + schema: + type: object + description: >- + `Statement` represents a core resource used to model SQL + statements for execution. - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). + A statement generalizes DDL, DML, DQL, etc., but doesn’t + attempt to handle session - ## The Applied Quotas Model - - - name: Scopes (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + management or any higher-level functionality. - Gets a list of all available scopes for applied quotas. + The API allows you to list, create, read, and delete your + statements. + ## The Statements Model - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). + + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - Statement + readOnly: true + metadata: + description: The metadata of the statement. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + example: >- + https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements/my-statement + created_at: + type: string + format: date-time + example: '1996-03-19T01:02:03-04:05' + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2025-11-10T16:20:00Z' + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + uid: + type: string + example: 12345678-1234-1234-1234-123456789012 + description: >- + A system generated globally unique identifier for this + resource. + resource_version: + type: string + example: a23av + description: >- + A system generated string that uniquely identifies the + version of this resource. + labels: + type: object + description: A map of key-value pairs that describe the resource. + additionalProperties: + type: string + example: + user.confluent.io/hidden: 'true' + resource_name: + example: '' + readOnly: true + type: object + name: + type: string + example: sql123 + description: >- + The user provided name of the resource, unique within this + environment. + pattern: >- + [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* + x-immutable: true + maxLength: 100 + organization_id: + type: string + format: uuid + description: The unique identifier for the organization. + x-immutable: true + environment_id: + type: string + description: The unique identifier for the environment. + x-immutable: true + spec: + $ref: '#/components/schemas/sql.v1.StatementSpec' + status: + $ref: '#/components/schemas/sql.v1.StatementStatus' + result: + $ref: '#/components/schemas/sql.v1.StatementResult' + required: + - api_version + - kind + - metadata + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + x-request-access-name: SQL API v1 + operationId: deleteSqlv1Statement + summary: Delete a Statement + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Scopes Model - - - name: Entitlements (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - `Entitlement` objects represent metadata about a marketplace entitlement. + Make a request to delete a statement. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: statement_name + in: path + required: true + schema: + type: string + description: The unique identifier for the statement. + tags: + - Statements (sql/v1) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '202': + description: A Statement is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + put: + x-lifecycle-stage: General Availability + x-self-access: true + x-request-access-name: SQL API v1 + operationId: updateSqlv1Statement + summary: Update a Statement + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - An entitlement includes metadata about a marketplace purchase - (start date, end date, billing information, partner IDs, etc). - The API allows partners to create, read, and list entitlements. (Unless you - need entitlement creation and customer registration to be separate, - we recommend using the Signup API to create an organization and entitlement - at the same time) - The API only allows authorized partners to interact with the Entitlements API. - - name: Regions (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + Make a request to update a statement. - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. + The request will fail with a 409 Conflict error if the Statement has + changed since it was fetched. + In this case, do a GET, reapply the modifications, and try the update + again. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: statement_name + in: path + required: true + schema: + type: string + description: The unique identifier for the statement. + tags: + - Statements (sql/v1) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '202': + description: A Statement is being updated. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + requestBody: + content: + application/json: + schema: + type: object + description: >- + `Statement` represents a core resource used to model SQL + statements for execution. + + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt + to handle session + + management or any higher-level functionality. + + The API allows you to list, create, read, and delete your + statements. + + ## The Statements Model + + + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - Statement + readOnly: true + metadata: + description: The metadata of the statement. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + example: >- + https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements/my-statement + created_at: + type: string + format: date-time + example: '1996-03-19T01:02:03-04:05' + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2025-11-10T16:20:00Z' + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + uid: + type: string + example: 12345678-1234-1234-1234-123456789012 + description: >- + A system generated globally unique identifier for this + resource. + resource_version: + type: string + example: a23av + description: >- + A system generated string that uniquely identifies the + version of this resource. + labels: + type: object + description: A map of key-value pairs that describe the resource. + additionalProperties: + type: string + example: + user.confluent.io/hidden: 'true' + resource_name: + example: '' + readOnly: true + type: object + name: + type: string + example: sql123 + description: >- + The user provided name of the resource, unique within this + environment. + pattern: >- + [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* + x-immutable: true + maxLength: 100 + organization_id: + type: string + format: uuid + description: The unique identifier for the organization. + x-immutable: true + environment_id: + type: string + description: The unique identifier for the environment. + x-immutable: true + spec: + $ref: '#/components/schemas/sql.v1.StatementSpec' + status: + $ref: '#/components/schemas/sql.v1.StatementStatus' + result: + $ref: '#/components/schemas/sql.v1.StatementResult' + required: + - spec + - name + - metadata + patch: + x-lifecycle-stage: General Availability + x-self-access: true + x-request-access-name: SQL API v1 + operationId: patchSqlv1Statement + summary: Patch a Statement + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + Make a request to patch a statement. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: statement_name + in: path + required: true + schema: + type: string + description: The unique identifier for the statement. + tags: + - Statements (sql/v1) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + content: + application/json-patch+json: + schema: + $ref: '#/components/schemas/PatchRequest' + responses: + '200': + description: Patched Statement. + content: + application/json: + schema: + type: object + description: >- + `Statement` represents a core resource used to model SQL + statements for execution. - ## The Regions Model - - - name: Clusters (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list, create, read, and delete your Schema Registry clusters. - - - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Clusters Model - - - name: Clusters (srcm/v3) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list and read your Schema Registry clusters. - - - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - - ## The Clusters Model - - - name: Compatibility (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to test schema compatibility. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Config (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to manage and query schema compatibility settings and cluster configurations. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Contexts (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to retrieve information about schema contexts. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Exporters (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete exporters. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Modes (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects modes of operation. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Schemas (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schemas. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Subjects (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects and versions. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Key Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete key encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Data Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete data encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Entity (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Search (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to search for entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Types (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Provider Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. - - - ## The Provider Shared Resources Model - - - name: Provider Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderShare` object respresents the share that you have created through Stream Sharing. - - - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). - - ## The Provider Shares Model - - - name: Consumer Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. - - - ## The Consumer Shared Resources Model - - - name: Consumer Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerShare` object respresents the share that you received through Stream Sharing. - - - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). - - ## The Consumer Shares Model - - - name: Shared Tokens (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Encrypted Token shared with consumer - - - ## The Shared Tokens Model - - - name: Opt Ins (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Stream sharing opt in options - - ## The Opt Ins Model - - - name: Organizations (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Organizations` objects represent an entire Confluent Cloud organization. - Partners are allowed to get an organization they have signed up or - list all organizations they have signed up. - - name: Signup (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Signup` APIs can only be performed by partners. - - name: Networks (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. - - The API allows you to list, create, read, update, and delete your networks. - - - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - - ## The Networks Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - - name: Peerings (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - - - ## The Peerings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - - name: Transit Gateway Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AWS Transit Gateway Attachments - - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - - ## The Transit Gateway Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - - name: Private Link Accesses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. - - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). - - - ## The Private Link Accesses Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - - name: Network Link Services (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + A statement generalizes DDL, DML, DQL, etc., but doesn’t + attempt to handle session - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. + management or any higher-level functionality. + The API allows you to list, create, read, and delete your + statements. - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). + ## The Statements Model - ## The Network Link Services Model - + + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - Statement + readOnly: true + metadata: + description: The metadata of the statement. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + example: >- + https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements/my-statement + created_at: + type: string + format: date-time + example: '1996-03-19T01:02:03-04:05' + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2025-11-10T16:20:00Z' + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + uid: + type: string + example: 12345678-1234-1234-1234-123456789012 + description: >- + A system generated globally unique identifier for this + resource. + resource_version: + type: string + example: a23av + description: >- + A system generated string that uniquely identifies the + version of this resource. + labels: + type: object + description: A map of key-value pairs that describe the resource. + additionalProperties: + type: string + example: + user.confluent.io/hidden: 'true' + resource_name: + example: '' + readOnly: true + type: object + name: + type: string + example: sql123 + description: >- + The user provided name of the resource, unique within this + environment. + pattern: >- + [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* + x-immutable: true + maxLength: 100 + organization_id: + type: string + format: uuid + description: The unique identifier for the organization. + x-immutable: true + environment_id: + type: string + description: The unique identifier for the environment. + x-immutable: true + spec: + $ref: '#/components/schemas/sql.v1.StatementSpec' + status: + $ref: '#/components/schemas/sql.v1.StatementStatus' + result: + $ref: '#/components/schemas/sql.v1.StatementResult' + required: + - spec + - status + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + servers: + - url: https://flink.region.provider.confluent.cloud + description: Flink Compute Pool Endpoint + x-lifecycle-stage: General Availability + x-self-access: true + x-request-access-name: SQL API v1 + /sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}/exceptions: + get: + x-lifecycle-stage: General Availability + x-self-access: true + x-request-access-name: SQL API v1 + operationId: getSqlv1StatementExceptions + summary: List of Statement Exceptions + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - - name: Network Link Endpoints (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Retrieve a list of the 10 most recent statement exceptions. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: statement_name + in: path + required: true + schema: + type: string + description: The unique identifier for the statement. + tags: + - Statement Exceptions (sql/v1) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + description: Statement Exceptions. + content: + application/json: + schema: + $ref: '#/components/schemas/sql.v1.StatementExceptionList' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + servers: + - url: https://flink.region.provider.confluent.cloud + description: Flink Compute Pool Endpoint + x-lifecycle-stage: General Availability + x-self-access: true + x-request-access-name: SQL API v1 + /sql/v1/organizations/{organization_id}/environments/{environment_id}/materialized-tables: + get: + x-lifecycle-stage: General Availability + x-self-access: true + x-request-access-name: SQL API v1 + operationId: listSqlv1MaterializedTables + summary: List all materialized tables + description: > + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. + Retrieve a sorted and paginated list of all materialized tables. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: page_size + in: query + required: false + schema: + type: integer + format: int32 + default: 10 + maximum: 100 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Materialized Tables (sql/v1) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + description: A list of Materialized Tables. + content: + application/json: + schema: + $ref: '#/components/schemas/sql.v1.MaterializedTableList' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + servers: + - url: https://flink.region.provider.confluent.cloud + description: Flink Compute Pool Endpoint + /sql/v1/organizations/{organization_id}/environments/{environment_id}/databases/{kafka_cluster_id}/materialized-tables: + post: + x-lifecycle-stage: General Availability + operationId: createSqlv1MaterializedTable + summary: Create a materialized table + description: > + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - ## The Network Link Endpoints Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - - name: Network Link Service Associations (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - List of incoming Network Link Enpoints associated with the Network Link Service. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Service Associations Model - - - name: Gateways (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A gateway is a resource that defines network access to Confluent cloud resources. - - - ## The Gateways Model - - - name: IP Addresses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - IP Addresses - - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) - - ## The IP Addresses Model - - - name: Private Link Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. - - - ## The Private Link Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - - name: Private Link Attachment Connections (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. - - - ## The Private Link Attachment Connections Model - - - name: Identity Providers (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Identity Provider. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Identity Providers Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - - name: Jwks (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. - - The API allows you to refresh JWKS public key data. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Jwks Model - - - name: Identity Pools (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. - - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. - - - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). - - ## The Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - - name: OAuth Tokens (sts/v1) - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of - external identities to access Confluent Cloud APIs - - name: Client Quotas (kafka-quotas/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ClientQuota` objects represent Client Quotas you can set at the service account level. - - The API allows you to list, create, read, update, and delete your client quotas. - - - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - - ## The Client Quotas Model - - - name: Pipelines (sd/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. - - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. - - - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). - - ## The Pipelines Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - - name: Keys (byok/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. - - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. - - - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). - - ## The Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - - name: Costs (billing/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cost` objects represent the aggregated billing costs for an organization - - - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). - - ## The Costs Model - - - name: Group Mappings (iam/v2/sso) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. - - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. - - - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). - - ## The Group Mappings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - - name: Compute Pools (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. - - - ## The Compute Pools Model - - - name: Regions (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. - - - ## The Regions Model - - - name: Statements (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - - name: Statement Results (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementResult` represents a result of a `Statement` resource. - The API allows you to read your statement's results. - ## The Statement Results Model - - - name: Statement Exceptions (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementException` represents an exception of a `Statement` resource. - The API allows you to read your statement's exceptions. - ## The Statement Exceptions Model - - - name: Connections (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Connection` represents a core resource used to model SQL connections for execution. - A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - - name: DNS Forwarders (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add, remove, and update DNS forwarder for your gateway. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - - - ## The DNS Forwarders Model - - - name: Access Points (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. - - - ## The Access Points Model - - - name: DNS Records (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - - ## The DNS Records Model - - - name: Certificate Authorities (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Certificate Authority. - - - Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). - - ## The Certificate Authorities Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `certificate_authorities_per_org` | Number of certificate authorities per organization | - - name: Certificate Identity Pools (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Identitypool` objects represent workload identities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities - - - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). - - ## The Certificate Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - - name: Integrations (pim/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). - - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. - - - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). - - ## The Integrations Model - - - name: Flink Artifacts (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. - - - ## The Flink Artifacts Model - - - name: Presigned Urls (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - - ## The Presigned Urls Model - - - name: Flink Artifact Versions (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. - - - ## The Flink Artifact Versions Model - -components: - schemas: - sql.v1.ConnectionList: - type: object - description: |- - `Connection` models a reusable endpoint and auth token to authenticate the caller to - use that endpoint. - Only `OrgAdmins` and `EnvAdmins` will have the permissions to create, update and delete `Connections`. - `FlinkDevelopers` and `ModelResourceOwners` can later reference a `Connection` resource within their Model - creation statements. - The API allows you to list, create, read, and delete your connections. - ## The Connection Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - sql/v1 - description: APIVersion defines the schema version of this representation of a resource. - example: sql/v1 - kind: - type: string - description: Kind defines the object this REST resource represents. - enum: - - ConnectionList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - self: - example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/connections' - first: - example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/connections' - last: - example: '' - prev: - example: '' - next: - example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/connections?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/sql.v1.Connection' - - type: object + Create a new Materialized Table. + parameters: + - in: path + name: organization_id + required: true + schema: + type: string + format: uuid + description: The unique identifier for the organization + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - in: path + name: kafka_cluster_id + required: true + schema: + type: string + description: The unique identifier for the database. + tags: + - Materialized Tables (sql/v1) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + required: true + content: + application/json: + schema: + type: object + description: Represents a Materialized Table resource. + required: + - api_version + - kind + - metadata + - name + - organization_id + - environment_id + - spec + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - MaterializedTable + readOnly: true + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + uid: + example: 12345678-1234-1234-1234-123456789012 + resource_version: + example: a23av + labels: + type: object + additionalProperties: + type: string + readOnly: true + type: object + name: + type: string + description: >- + The user-provided name of the resource, unique within this + environment. + pattern: ^[a-zA-Z0-9]([a-zA-Z0-9_-]*[a-zA-Z0-9])?$ + maxLength: 100 + example: high-value-orders + x-immutable: true + organization_id: + type: string + format: uuid + description: The unique identifier for the organization. + x-immutable: true + readOnly: true + environment_id: + type: string + description: The unique identifier for the environment. + x-immutable: true + readOnly: true + spec: + $ref: '#/components/schemas/sql.v1.MaterializedTableSpec' + status: + readOnly: true + type: object + description: The status of the Materialized Table. + properties: + phase: + type: string + x-extensible-enum: + - PENDING + - RUNNING + - COMPLETED + - DELETING + - FAILING + - FAILED + - CREATING + - ALTERING + - DEGRADED + - STOPPING + - STOPPED + description: The lifecycle phase of the materialized table. + example: RUNNING + detail: + type: string + description: Optional. Human-readable description of phase. + example: Materialized table is running. + warnings: + type: array + description: >- + List of warnings encountered during materialized table + execution. + items: + $ref: '#/components/schemas/sql.v1.MaterializedTableWarning' + creation_statement: + type: string + description: >- + Entire Materialized Table statement as submitted by user + e.g CREATE OR ALTER MATERIALIZED TABLE ... + example: >- + CREATE OR ALTER MATERIALIZED TABLE high-value-orders AS + SELECT user_id, product_id, price, quantity FROM orders + WHERE price > 1000; + scaling_status: + $ref: '#/components/schemas/sql.v1.ScalingStatus' + version: + type: integer + format: int32 + minimum: 1 + description: >- + Represents the evolution history of the Materialized + Table. The current value indicates the latest version. + example: 3 + latest_version: + type: integer + format: int32 + minimum: 1 + description: >- + Represents the latest submitted version of the + Materialized Table. When a query evolution is accepted, + `latest_version` is incremented immediately and will be + greater than `version` until the new query is fully + activated. + example: 4 + responses: + '201': + description: Materialized Table is being created + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: >- + https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/databases/{kafka_cluster_id}/materialized-tables/{table_name} + description: Materialized Table uri + content: + application/json: + schema: + type: object + description: Represents a Materialized Table resource. required: - api_version - kind - metadata - - spec - - status - name - organization_id - environment_id + - spec + - status properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - MaterializedTable + readOnly: true + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + uid: + example: 12345678-1234-1234-1234-123456789012 + resource_version: + example: a23av + labels: + type: object + additionalProperties: + type: string + readOnly: true + type: object + name: + type: string + description: >- + The user-provided name of the resource, unique within this + environment. + pattern: ^[a-zA-Z0-9]([a-zA-Z0-9_-]*[a-zA-Z0-9])?$ + maxLength: 100 + example: high-value-orders + x-immutable: true + organization_id: + type: string + format: uuid + description: The unique identifier for the organization. + x-immutable: true + readOnly: true + environment_id: + type: string + description: The unique identifier for the environment. + x-immutable: true + readOnly: true spec: + $ref: '#/components/schemas/sql.v1.MaterializedTableSpec' + status: + readOnly: true type: object - required: - - connection_type - - endpoint - uniqueItems: true - ListMeta: - type: object - description: ListMeta describes metadata that resource collections may have - properties: - first: - description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds' - last: - description: 'A link to the last page of results. If a response does not contain a last link, then direct navigation to the last page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT' - prev: - description: 'A link to the previous page of results. If a response does not contain a prev link, then either there is no previous data or backwards traversal through the result set is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld' - next: - description: 'A link to the next page of results. If a response does not contain a next link, then there is no more data available.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb' - total_size: - description: Number of records in the full result set. This response may be paginated and have a smaller number of records. - type: integer - format: int32 - minimum: 0 - example: 123 - sql.v1.Connection: - type: object - description: |- - `Connection` models a reusable endpoint and auth token to authenticate the caller to - use that endpoint. - Only `OrgAdmins` and `EnvAdmins` will have the permissions to create, update and delete `Connections`. - `FlinkDevelopers` and `ModelResourceOwners` can later reference a `Connection` resource within their Model - creation statements. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - properties: - api_version: - type: string - enum: - - sql/v1 - description: APIVersion defines the schema version of this representation of a resource. - example: sql/v1 - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - enum: - - Connection - readOnly: true - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/organizations/org-abc/environments/env-123/connections/my-openai-connection' - uid: - example: 12345678-1234-1234-1234-123456789012 - resource_version: - example: a23av - resource_name: - example: '' - name: - type: string - example: my-openai-connection - description: 'The user provided name of the resource, unique within this environment.' - pattern: '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*' - x-immutable: true - maxLength: 100 - spec: - $ref: '#/components/schemas/sql.v1.ConnectionSpec' - status: - $ref: '#/components/schemas/sql.v1.ConnectionStatus' - AclOperation: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - AclPatternType: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - MATCH - - LITERAL - - PREFIXED - AclPermission: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - DENY - - ALLOW - AclResourceType: - type: string - enum: - - UNKNOWN - - ANY - - TOPIC - - GROUP - - CLUSTER - - TRANSACTIONAL_ID - - DELEGATION_TOKEN - BrokerTaskType: - type: string - enum: - - add-broker - - remove-broker - MirrorTopicStatus: - enum: - - ACTIVE - - FAILED - - LINK_FAILED - - LINK_PAUSED - - PAUSED - - PENDING_STOPPED - - SOURCE_UNAVAILABLE - - STOPPED - - PENDING_MIRROR - - PENDING_SYNCHRONIZE - - PENDING_SETUP_FOR_RESTORE - - PENDING_RESTORE - type: string - Failure: - type: object - description: Provides information about problems encountered while performing an operation. - required: - - errors - properties: - errors: - description: List of errors which caused this operation to fail - type: array - items: - $ref: '#/components/schemas/Error' - uniqueItems: true - AlterConfigBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - operation: - type: string - x-extensible-enum: - - SET - - DELETE - nullable: true - validate_only: - type: boolean - CreateAclRequestData: - type: object - required: - - resource_type - - resource_name - - pattern_type - - principal - - host - - operation - - permission - properties: - resource_type: - $ref: '#/components/schemas/AclResourceType' - resource_name: - type: string - pattern_type: - $ref: '#/components/schemas/AclPatternType' - principal: - type: string - host: - type: string - operation: - $ref: '#/components/schemas/AclOperation' - permission: - $ref: '#/components/schemas/AclPermission' - CreateAclRequestDataList: - allOf: - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/CreateAclRequestData' - CreateTopicRequestData: - type: object - required: - - topic_name - properties: - topic_name: - type: string - partitions_count: - type: integer - replication_factor: - type: integer - configs: - type: array - items: - type: object - required: - - name - properties: - name: + description: The status of the Materialized Table. + properties: + phase: + type: string + x-extensible-enum: + - PENDING + - RUNNING + - COMPLETED + - DELETING + - FAILING + - FAILED + - CREATING + - ALTERING + - DEGRADED + - STOPPING + - STOPPED + description: The lifecycle phase of the materialized table. + example: RUNNING + detail: + type: string + description: Optional. Human-readable description of phase. + example: Materialized table is running. + warnings: + type: array + description: >- + List of warnings encountered during materialized table + execution. + items: + $ref: '#/components/schemas/sql.v1.MaterializedTableWarning' + creation_statement: + type: string + description: >- + Entire Materialized Table statement as submitted by + user e.g CREATE OR ALTER MATERIALIZED TABLE ... + example: >- + CREATE OR ALTER MATERIALIZED TABLE high-value-orders + AS SELECT user_id, product_id, price, quantity FROM + orders WHERE price > 1000; + scaling_status: + $ref: '#/components/schemas/sql.v1.ScalingStatus' + version: + type: integer + format: int32 + minimum: 1 + description: >- + Represents the evolution history of the Materialized + Table. The current value indicates the latest version. + example: 3 + latest_version: + type: integer + format: int32 + minimum: 1 + description: >- + Represents the latest submitted version of the + Materialized Table. When a query evolution is + accepted, `latest_version` is incremented immediately + and will be greater than `version` until the new query + is fully activated. + example: 4 + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + servers: + - url: https://flink.region.provider.confluent.cloud + description: Flink Compute Pool Endpoint + /sql/v1/organizations/{organization_id}/environments/{environment_id}/databases/{kafka_cluster_id}/materialized-tables/{table_name}: + get: + x-lifecycle-stage: General Availability + operationId: getSqlv1MaterializedTable + summary: Read a materialized table + description: > + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a specific Materialized Table by name. + parameters: + - in: path + name: organization_id + required: true + schema: + type: string + format: uuid + description: The unique identifier for the organization + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - in: path + name: kafka_cluster_id + required: true + schema: + type: string + description: The unique identifier for the database. + - name: table_name + in: path + required: true + schema: + type: string + description: The unique identifier for the Materialized Table + tags: + - Materialized Tables (sql/v1) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + description: The requested Materialized Table. + content: + application/json: + schema: + $ref: '#/components/schemas/sql.v1.MaterializedTable' + headers: + X-Request-Id: + schema: type: string - value: + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + put: + x-lifecycle-stage: General Availability + operationId: updateSqlv1MaterializedTable + summary: Update/Evolve a materialized table + description: > + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update a Materialized Table's mutable fields. + + Mutable fields include: `query`, `stopped`, `compute_pool_id`, + `principal`, `columns`, `watermark`, `constraints` and `table_options`. + parameters: + - in: path + name: organization_id + required: true + schema: + type: string + format: uuid + description: The unique identifier for the organization + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - in: path + name: kafka_cluster_id + required: true + schema: + type: string + description: The unique identifier for the database. + - name: table_name + in: path + required: true + schema: + type: string + description: The unique identifier for the Materialized Table + tags: + - Materialized Tables (sql/v1) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + description: The Materialized Table resource with updated spec fields. + required: true + content: + application/json: + schema: + type: object + description: Represents a Materialized Table resource. + required: + - api_version + - kind + - metadata + - name + - organization_id + - environment_id + - spec + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - MaterializedTable + readOnly: true + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + uid: + example: 12345678-1234-1234-1234-123456789012 + resource_version: + example: a23av + labels: + type: object + additionalProperties: + type: string + readOnly: true + type: object + name: + type: string + description: >- + The user-provided name of the resource, unique within this + environment. + pattern: ^[a-zA-Z0-9]([a-zA-Z0-9_-]*[a-zA-Z0-9])?$ + maxLength: 100 + example: high-value-orders + x-immutable: true + organization_id: + type: string + format: uuid + description: The unique identifier for the organization. + x-immutable: true + readOnly: true + environment_id: + type: string + description: The unique identifier for the environment. + x-immutable: true + readOnly: true + spec: + $ref: '#/components/schemas/sql.v1.MaterializedTableSpec' + status: + readOnly: true + type: object + description: The status of the Materialized Table. + properties: + phase: + type: string + x-extensible-enum: + - PENDING + - RUNNING + - COMPLETED + - DELETING + - FAILING + - FAILED + - CREATING + - ALTERING + - DEGRADED + - STOPPING + - STOPPED + description: The lifecycle phase of the materialized table. + example: RUNNING + detail: + type: string + description: Optional. Human-readable description of phase. + example: Materialized table is running. + warnings: + type: array + description: >- + List of warnings encountered during materialized table + execution. + items: + $ref: '#/components/schemas/sql.v1.MaterializedTableWarning' + creation_statement: + type: string + description: >- + Entire Materialized Table statement as submitted by user + e.g CREATE OR ALTER MATERIALIZED TABLE ... + example: >- + CREATE OR ALTER MATERIALIZED TABLE high-value-orders AS + SELECT user_id, product_id, price, quantity FROM orders + WHERE price > 1000; + scaling_status: + $ref: '#/components/schemas/sql.v1.ScalingStatus' + version: + type: integer + format: int32 + minimum: 1 + description: >- + Represents the evolution history of the Materialized + Table. The current value indicates the latest version. + example: 3 + latest_version: + type: integer + format: int32 + minimum: 1 + description: >- + Represents the latest submitted version of the + Materialized Table. When a query evolution is accepted, + `latest_version` is incremented immediately and will be + greater than `version` until the new query is fully + activated. + example: 4 + responses: + '200': + description: Materialized Table update accepted. + headers: + X-Request-Id: + schema: type: string - nullable: true - validate_only: - type: boolean - ProduceRequest: - type: object - properties: - partition_id: - type: integer - nullable: true - format: int32 - headers: - type: array - items: - $ref: '#/components/schemas/ProduceRequestHeader' - key: - $ref: '#/components/schemas/ProduceRequestData' - value: - $ref: '#/components/schemas/ProduceRequestData' - timestamp: - type: string - format: date-time - nullable: true - UpdateConfigRequestData: - type: object - properties: - value: - type: string - nullable: true - CreateLinkRequestData: - properties: - source_cluster_id: - type: string - destination_cluster_id: - type: string - remote_cluster_id: - description: The expected remote cluster ID. - type: string - cluster_link_id: - description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' - type: string - configs: - items: - $ref: '#/components/schemas/ConfigData' - type: array - type: object - UpdateLinkConfigRequestData: - properties: - value: - type: string - required: - - value - type: object - CreateMirrorTopicRequestData: - properties: - source_topic_name: - type: string - mirror_topic_name: - type: string - replication_factor: - type: integer - configs: - type: array - items: - $ref: '#/components/schemas/ConfigData' - required: - - source_topic_name - type: object - AlterMirrorsRequestData: - properties: - mirror_topic_names: - description: The mirror topics specified as a list of topic names. - type: array - items: + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/sql.v1.MaterializedTable' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + operationId: deleteSqlv1MaterializedTable + summary: Delete a materialized table + description: > + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Delete a specific Materialized Table by name. + parameters: + - in: path + name: organization_id + required: true + schema: type: string - mirror_topic_name_pattern: - description: The mirror topics specified as a pattern. - type: string - type: object - RemoveBrokersRequestData: - properties: - broker_ids: - type: array - items: - type: integer - required: - - broker_ids - type: object - BrokerReplicaExclusionBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' - ObjectMeta: - description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' - required: - - self - properties: - self: - description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' - type: string - format: uri - readOnly: true - example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' - resource_name: - description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name - type: string - format: uri - readOnly: true - example: 'crn://confluent.cloud/kafka=lkc-f3a90de' - created_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. - updated_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. - deleted_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. - readOnly: true - sql.v1.ConnectionSpec: - type: object - description: Encapsulates the model provider access details - properties: - connection_type: - type: string - example: OPENAI - description: The type of this connection. - x-immutable: true - x-extensible-enum: - - OPENAI - - AZUREML - - AZUREOPENAI - - BEDROCK - - SAGEMAKER - - GOOGLEAI - - VERTEXAI - - MONGODB - - PINECONE - - ELASTIC - endpoint: - type: string - example: 'https://api.openai.com/v1/chat/completions' - description: The endpoint that is used to run model inferencing. - maxLength: 16384 - x-immutable: true - auth_data: - type: object - description: | - The vendor specific authentication token details + format: uuid + description: The unique identifier for the organization + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - in: path + name: kafka_cluster_id + required: true + schema: + type: string + description: The unique identifier for the database. + - name: table_name + in: path + required: true + schema: + type: string + description: The unique identifier for the Materialized Table + tags: + - Materialized Tables (sql/v1) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '202': + description: A Materialized Table is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + servers: + - url: https://flink.region.provider.confluent.cloud + description: Flink Compute Pool Endpoint + /sql/v1/organizations/{organization_id}/environments/{environment_id}/databases/{kafka_cluster_id}/materialized-tables/{table_name}/versions: + get: + x-lifecycle-stage: General Availability + x-self-access: true + x-request-access-name: SQL API v1 + operationId: listSqlv1MaterializedTableVersions + summary: List all the versions of a materialized table + description: > + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The contents are stored as opaque bytes given in plaintext by an EnvAdmin. - In future, we would support more secure methods for distributing authentication tokens. - discriminator: - propertyName: kind - mapping: - PlaintextProvider: '#/components/schemas/sql.v1.PlaintextProvider' - oneOf: - - $ref: '#/components/schemas/sql.v1.PlaintextProvider' - x-immutable: false - x-enable-listmeta: true - x-enable-objectmeta: true - sql.v1.ConnectionStatus: - type: object - required: - - phase - description: The status of the Connection - properties: - phase: - type: string - x-extensible-enum: - - ACTIVE - - UNREACHABLE - - INVALID_AUTH - description: | - Describes the status of the connection: - READY: The Connection is usable; + Retrieve a sorted and paginated list of all versions for a specific + Materialized Table. + parameters: + - in: path + name: organization_id + required: true + schema: + type: string + format: uuid + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - in: path + name: kafka_cluster_id + required: true + schema: + type: string + description: The unique identifier for the database. + - in: path + name: table_name + required: true + schema: + type: string + description: The unique identifier for the Materialized Table. + - name: page_size + in: query + required: false + schema: + type: integer + format: int32 + default: 10 + maximum: 100 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Materialized Table Versions (sql/v1) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + description: A list of Materialized Table Versions. + content: + application/json: + schema: + $ref: '#/components/schemas/sql.v1.MaterializedTableVersionList' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + servers: + - url: https://flink.region.provider.confluent.cloud + description: Flink Compute Pool Endpoint + /sql/v1/organizations/{organization_id}/environments/{environment_id}/databases/{kafka_cluster_id}/materialized-tables/{table_name}/versions/{version}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + x-request-access-name: SQL API v1 + operationId: getSqlv1MaterializedTableVersion + summary: Read a materialized table version + description: > + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - UNREACHABLE: The Connection endpoint is unreachable; - INVALID_AUTH: The Connection auth token is invalid; - example: READY - readOnly: true - detail: - type: string - description: Details about why connection transitioned into a given status. - example: 'Lookup failed: ai.openai.com' - readOnly: true - readOnly: true - Error: - type: object - description: Describes a particular error encountered while performing an operation. - properties: - id: - description: A unique identifier for this particular occurrence of the problem. - type: string - maxLength: 255 - status: - description: 'The HTTP status code applicable to this problem, expressed as a string value.' - type: string - code: - description: 'An application-specific error code, expressed as a string value.' - type: string - title: - description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' - type: string - detail: - description: A human-readable explanation specific to this occurrence of the problem. - type: string - source: - type: object - description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' - properties: - pointer: - description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' - type: string - parameter: - description: A string indicating which query parameter caused the error. - type: string - error_code: - type: integer - format: int32 - message: - type: string - nullable: true - additionalProperties: false - ProduceRequestHeader: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - format: byte - nullable: true - ProduceRequestData: - type: object - properties: - type: - type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - data: - $ref: '#/components/schemas/AnyValue' - nullable: true - ConfigData: - example: - name: name - value: value - properties: - name: - type: string - value: - nullable: true - type: string - required: - - name - - value - BrokerReplicaExclusionRequestData: - type: object - required: - - broker_id - - reason - properties: - broker_id: - type: integer - reason: - type: string - sql.v1.PlaintextProvider: - type: object - description: | - Describes a sensitive piece of information passed in plaintext. - - Confluent only accepts authentication tokens of supported model providers from OrgAdmins and EnvAdmins. - For now, only 'PlainText' provider is supported. It stores authentication token details as opaque bytes in an encrypted form. - This option offers limited security as it only provides a single level of encryption. - properties: - kind: - description: | - Plaintext Provider Kind Type - type: string - enum: - - PlaintextProvider - x-immutable: true - data: - description: | - Base64 encoded opaque piece of sensitive information. - - Scoped to an endpoint of a `Connection` resource. - type: string - format: byte - AnyValue: - nullable: true - sql.v1.StatementResult: - type: object - description: |- - `Statement Result` represents a resource used to model results of SQL statements. - The API allows you to read your SQL statement result. - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - sql/v1 - description: APIVersion defines the schema version of this representation of a resource. - example: sql/v1 - kind: - type: string - description: Kind defines the object this REST resource represents. - enum: - - StatementResult - metadata: - allOf: - - $ref: '#/components/schemas/ResultListMeta' - results: - allOf: - - $ref: '#/components/schemas/sql.v1.StatementResultResults' - ResultListMeta: - type: object - description: ListMeta describes metadata that resource collections may have - properties: - self: - description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' - type: string - example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements' - next: - description: A URL that can be followed to get the next batch of results. - type: string - example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb' - created_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. - sql.v1.StatementResultResults: - type: object - description: A results property that contains a data property that contains an array of results. - properties: - data: - type: array - description: | - A data property that contains an array of results. Each entry in the array is a separate result. + Retrieve a specific version of a Materialized Table. + parameters: + - in: path + name: organization_id + required: true + schema: + type: string + format: uuid + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - in: path + name: kafka_cluster_id + required: true + schema: + type: string + description: The unique identifier for the database. + - in: path + name: table_name + required: true + schema: + type: string + description: The unique identifier for the Materialized Table. + - in: path + name: version + required: true + schema: + type: integer + format: int32 + minimum: 1 + description: The version number of the Materialized Table. + tags: + - Materialized Table Versions (sql/v1) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + description: The requested Materialized Table Version. + content: + application/json: + schema: + $ref: '#/components/schemas/sql.v1.MaterializedTableVersion' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + servers: + - url: https://flink.region.provider.confluent.cloud + description: Flink Compute Pool Endpoint + /sql/v1/organizations/{organization_id}/environments/{environment_id}/agents: + get: + x-lifecycle-stage: Preview + x-self-access: true + x-request-access-name: SQL API v1 + operationId: listSqlv1Agents + summary: List all agents + description: > + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300af91)](#section/Versioning/API-Lifecycle-Policy) - The value of `op` attribute (if present) represents the kind of change that a row can describe in a changelog: - `0`: represents `INSERT` (`+I`), i.e. insertion operation; + Retrieve a sorted and paginated list of all agents. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: page_size + in: query + required: false + schema: + type: integer + format: int32 + default: 10 + maximum: 100 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Agents (sql/v1) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + description: A list of Agents. + content: + application/json: + schema: + $ref: '#/components/schemas/sql.v1.AgentList' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + servers: + - url: https://flink.region.provider.confluent.cloud + description: Flink Compute Pool Endpoint + /sql/v1/organizations/{organization_id}/environments/{environment_id}/databases/{kafka_cluster_id}/agents: + post: + x-lifecycle-stage: Preview + operationId: createSqlv1Agent + summary: Create an Agent + description: > + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300af91)](#section/Versioning/API-Lifecycle-Policy) - `1`: represents `UPDATE_BEFORE` (`-U`), i.e. update operation with the previous content of the updated row. - This kind should occur together with `UPDATE_AFTER` for modelling an update that needs to retract - the previous row first. It is useful in cases of a non-idempotent update, i.e., an update of a row that is not - uniquely identifiable by a key; - `2`: represents `UPDATE_AFTER` (`+U`), i.e. update operation with new content of the updated row; - This kind CAN occur together with `UPDATE_BEFORE` for modelling an update that - needs to retract the previous row first or it describes an idempotent update, i.e., an - update of a row that is uniquely identifiable by a key; + Make a request to create an Agent. + parameters: + - in: path + name: organization_id + required: true + schema: + type: string + format: uuid + description: The unique identifier for the organization + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - in: path + name: kafka_cluster_id + required: true + schema: + type: string + description: The unique identifier for the database. + tags: + - Agents (sql/v1) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: Represents an Agent resource. + required: + - api_version + - kind + - metadata + - name + - organization_id + - environment_id + - spec + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - Agent + readOnly: true + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + uid: + example: 12345678-1234-1234-1234-123456789012 + resource_version: + example: a23av + labels: + type: object + additionalProperties: + type: string + readOnly: true + type: object + name: + type: string + description: >- + The user-provided name of the agent, unique within this + environment. + pattern: >- + [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* + maxLength: 100 + example: chat-listener-agent + x-immutable: true + organization_id: + type: string + format: uuid + description: The unique identifier for the organization. + x-immutable: true + readOnly: true + environment_id: + type: string + description: The unique identifier for the environment. + x-immutable: true + readOnly: true + spec: + $ref: '#/components/schemas/sql.v1.AgentSpec' + status: + readOnly: true + type: object + description: The status of the Agent. + properties: + phase: + type: string + x-extensible-enum: + - READY + - RUNNING + description: | + Describes the status of the agent: + + READY: The Agent is created; + + RUNNING: The Agent is created and running in a query; + example: RUNNING + responses: + '200': + description: Agent. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: >- + https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/databases/{kafka_cluster_id}/agents/{agent_name} + description: Agent uri + content: + application/json: + schema: + type: object + description: Represents an Agent resource. + required: + - api_version + - kind + - metadata + - name + - organization_id + - environment_id + - spec + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - Agent + readOnly: true + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + uid: + example: 12345678-1234-1234-1234-123456789012 + resource_version: + example: a23av + labels: + type: object + additionalProperties: + type: string + readOnly: true + type: object + name: + type: string + description: >- + The user-provided name of the agent, unique within this + environment. + pattern: >- + [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* + maxLength: 100 + example: chat-listener-agent + x-immutable: true + organization_id: + type: string + format: uuid + description: The unique identifier for the organization. + x-immutable: true + readOnly: true + environment_id: + type: string + description: The unique identifier for the environment. + x-immutable: true + readOnly: true + spec: + $ref: '#/components/schemas/sql.v1.AgentSpec' + status: + readOnly: true + type: object + description: The status of the Agent. + properties: + phase: + type: string + x-extensible-enum: + - READY + - RUNNING + description: | + Describes the status of the agent: + + READY: The Agent is created; + + RUNNING: The Agent is created and running in a query; + example: RUNNING + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + servers: + - url: https://flink.region.provider.confluent.cloud + description: Flink Compute Pool Endpoint + /sql/v1/organizations/{organization_id}/environments/{environment_id}/databases/{kafka_cluster_id}/agents/{agent_name}: + get: + x-lifecycle-stage: Preview + operationId: getSqlv1Agent + summary: Read an Agent + description: > + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300af91)](#section/Versioning/API-Lifecycle-Policy) - `3`: represents `DELETE` (`-D`), i.e. deletion operation; - Defaults to `0`. - items: {} - example: - - op: 0 - row: - - '101' - - Jay - - - null - - abc - - - null - - '456' - - '1990-01-12 12:00.12' - - - - null - - Alice - - - '42' - - Bob - sql.v1.StatementList: - type: object - description: |- - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - sql/v1 - description: APIVersion defines the schema version of this representation of a resource. - example: sql/v1 - kind: - type: string - description: Kind defines the object this REST resource represents. - enum: - - StatementList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - self: - example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements' - first: - example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements' - last: - example: '' - prev: - example: '' - next: - example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/sql.v1.Statement' - - type: object - required: - - api_version - - kind - - metadata - - spec - - status - - name - - organization_id - - environment_id - properties: - spec: - type: object - required: - - statement - - compute_pool_id - uniqueItems: true - sql.v1.Statement: - type: object - description: |- - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - properties: - api_version: - type: string - enum: - - sql/v1 - description: APIVersion defines the schema version of this representation of a resource. - example: sql/v1 - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - enum: - - Statement - readOnly: true - metadata: - allOf: - - $ref: '#/components/schemas/StatementObjectMeta' - - properties: - self: - example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements/my-statement' - uid: - example: 12345678-1234-1234-1234-123456789012 - resource_version: - example: a23av - resource_name: - example: '' - labels: - type: object - additionalProperties: - type: string - name: - type: string - example: sql123 - description: 'The user provided name of the resource, unique within this environment.' - pattern: '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*' - x-immutable: true - maxLength: 100 - organization_id: - type: string - format: uuid - description: The unique identifier for the organization. - x-immutable: true - environment_id: - type: string + Retrieve a specific Agent by name. + parameters: + - in: path + name: organization_id + required: true + schema: + type: string + format: uuid + description: The unique identifier for the organization + - in: path + name: environment_id + required: true + schema: + type: string description: The unique identifier for the environment. - x-immutable: true - spec: - $ref: '#/components/schemas/sql.v1.StatementSpec' - status: - $ref: '#/components/schemas/sql.v1.StatementStatus' - result: - $ref: '#/components/schemas/sql.v1.StatementResult' - StatementObjectMeta: - description: The metadata of the statement. - required: - - self - properties: - self: - description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' - type: string - format: uri - example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements/my-statement' - created_at: - type: string - format: date-time - example: '1996-03-19T01:02:03-04:05' - description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. - updated_at: - type: string - format: date-time - example: '2023-03-31T00:00:00-00:00' - description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. - uid: - type: string - example: 12345678-1234-1234-1234-123456789012 - description: A system generated globally unique identifier for this resource. - resource_version: - type: string - example: a23av - description: A system generated string that uniquely identifies the version of this resource. - labels: - type: object - description: A map of key-value pairs that describe the resource. - additionalProperties: + - in: path + name: kafka_cluster_id + required: true + schema: type: string - example: - user.confluent.io/hidden: 'true' - readOnly: true - sql.v1.StatementSpec: - type: object - description: The specs of the Statement - properties: - statement: - type: string - example: SELECT * FROM TABLE WHERE VALUE1 = VALUE2; - description: The raw SQL text statement. - x-immutable: true - maxLength: 131072 - properties: - type: object - example: - sql.current-catalog: my_environment - sql.current-database: my_kafka_cluster - description: A map (key-value pairs) of statement properties. - additionalProperties: + description: The unique identifier for the database. + - name: agent_name + in: path + required: true + schema: type: string - maximum: 8192 - compute_pool_id: - type: string - example: fcp-00000 - description: The id associated with the compute pool in context. - maxLength: 255 - principal: - type: string - example: sa-abc123 - description: The id of a principal this statement runs as. - maxLength: 255 - x-immutable: true - stopped: - type: boolean - description: Indicates whether the statement should be stopped. - example: false - x-enable-listmeta: true - x-enable-objectmeta: true - sql.v1.StatementStatus: - type: object - required: - - phase - description: The status of the Statement - properties: - phase: - type: string - x-extensible-enum: - - PENDING - - RUNNING - - COMPLETED - - DELETING - - FAILING - - FAILED - - STOPPED - description: | - The lifecycle phase of the submitted SQL statement: - - PENDING: SQL statement is pending execution; - - RUNNING: SQL statement execution is in progress; - - COMPLETED: SQL statement is completed; - - DELETING: SQL statement deletion is in progress; - - FAILING: SQL statement is failing; - - FAILED: SQL statement execution has failed; + description: The unique identifier for the Agent + tags: + - Agents (sql/v1) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + description: The requested Agent. + content: + application/json: + schema: + $ref: '#/components/schemas/sql.v1.Agent' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + put: + x-lifecycle-stage: Preview + operationId: updateSqlv1Agent + summary: Alter an Agent + description: > + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300af91)](#section/Versioning/API-Lifecycle-Policy) - STOPPED: SQL statement execution has successfully been stopped; - example: RUNNING - readOnly: true - scaling_status: - $ref: '#/components/schemas/sql.v1.ScalingStatus' - detail: - type: string - description: Details about the execution status of this statement. - example: Statement is running successfully - readOnly: true - traits: - $ref: '#/components/schemas/sql.v1.StatementTraits' - network_kind: - type: string - x-extensible-enum: - - PUBLIC - - PRIVATE - description: | - The networking type used by the submitted SQL statement: - PUBLIC: SQL statement is using public networking; + Make a request to update an Agent's mutable fields. - PRIVATE: SQL statement is using private networking; - example: PUBLIC - readOnly: true - latest_offsets: - type: object - additionalProperties: - type: string - description: | - The last Kafka offsets that a statement has processed. Represented by a mapping from Kafka topic to a - string representation of partitions mapped to offsets. - example: - topic-1: 'partition:0,offset:100;partition:1,offset:200' - topic-2: 'partition:0,offset:50' - readOnly: true - latest_offsets_timestamp: - type: string - format: date-time - example: '2023-03-31T00:00:00-00:00' - description: The date and time at which the Kafka topic offsets were added to the statement status. It is represented in RFC3339 format and is in UTC. - readOnly: true - readOnly: true - sql.v1.ScalingStatus: - description: Scaling status for this statement. - type: object - properties: - scaling_state: - description: | - OK: The statement runs at the right scale. + Mutable fields include: `description`, `model`, `prompt`, and + `properties`. + parameters: + - in: path + name: organization_id + required: true + schema: + type: string + format: uuid + description: The unique identifier for the organization + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - in: path + name: kafka_cluster_id + required: true + schema: + type: string + description: The unique identifier for the database. + - name: agent_name + in: path + required: true + schema: + type: string + description: The unique identifier for the Agent + tags: + - Agents (sql/v1) + security: + - resource-api-key: [] + - external-access-token: [] + requestBody: + description: The Agent resource with updated spec fields. + required: true + content: + application/json: + schema: + type: object + description: Represents an Agent resource. + required: + - api_version + - kind + - metadata + - name + - organization_id + - environment_id + - spec + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - Agent + readOnly: true + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + uid: + example: 12345678-1234-1234-1234-123456789012 + resource_version: + example: a23av + labels: + type: object + additionalProperties: + type: string + readOnly: true + type: object + name: + type: string + description: >- + The user-provided name of the agent, unique within this + environment. + pattern: >- + [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* + maxLength: 100 + example: chat-listener-agent + x-immutable: true + organization_id: + type: string + format: uuid + description: The unique identifier for the organization. + x-immutable: true + readOnly: true + environment_id: + type: string + description: The unique identifier for the environment. + x-immutable: true + readOnly: true + spec: + $ref: '#/components/schemas/sql.v1.AgentSpec' + status: + readOnly: true + type: object + description: The status of the Agent. + properties: + phase: + type: string + x-extensible-enum: + - READY + - RUNNING + description: | + Describes the status of the agent: + + READY: The Agent is created; + + RUNNING: The Agent is created and running in a query; + example: RUNNING + responses: + '200': + description: Agent has been updated. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/sql.v1.Agent' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: Preview + operationId: deleteSqlv1Agent + summary: Delete an Agent + description: > + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300af91)](#section/Versioning/API-Lifecycle-Policy) - PENDING_SCALE_DOWN: The statement requires less resources, and will be scaled down in the near future. - PENDING_SCALE_UP: The statement requires more resources, and will be scaled up in the near future. + Delete a specific Agent by name. + parameters: + - in: path + name: organization_id + required: true + schema: + type: string + format: uuid + description: The unique identifier for the organization + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - in: path + name: kafka_cluster_id + required: true + schema: + type: string + description: The unique identifier for the database. + - name: agent_name + in: path + required: true + schema: + type: string + description: The unique identifier for the Agent + tags: + - Agents (sql/v1) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + description: A Agent has been deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + servers: + - url: https://flink.region.provider.confluent.cloud + description: Flink Compute Pool Endpoint + /sql/v1/organizations/{organization_id}/environments/{environment_id}/databases/{database_name}/tools: + post: + x-lifecycle-stage: Preview + x-self-access: false + x-request-access-name: SQL API v1 + operationId: createSqlv1Tool + summary: Create a Tool + description: >- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) - POOL_EXHAUSTED: The statement requires more resources, but not enough resources are available. - example: OK - readOnly: true - type: string - x-extensible-enum: - - OK - - PENDING_SCALE_DOWN - - PENDING_SCALE_UP - - POOL_EXHAUSTED - last_updated: - description: The last time the scaling status was updated. - example: '1996-03-19T01:02:03-04:05' - format: date-time - readOnly: true - type: string - readOnly: true - sql.v1.StatementTraits: - type: object - description: StatementTraits contains detailed information about the properties of a Statement - properties: - sql_kind: - type: string - description: Categorizes the SQL statement. The result is Confluent-specific but inspired by SQL. It uses underscores for separating concepts e.g. "CREATE_TABLE". - example: SELECT - is_bounded: - type: boolean - description: Indicates the special case where results of a statement are bounded. - is_append_only: - type: boolean - description: Indicates the special case where results of a statement are insert/append only. - upsert_columns: - type: array - description: Defines the column indices clients can use as upsert keys. - items: + + Make a request to create a Tool. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - in: path + name: database_name + required: true + schema: + type: string + description: The name of the database. + tags: + - Tools (sql/v1) + security: + - resource-api-key: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `Tool` models a reusable tool resource backed by a connection + that can be referenced + + by agents to perform actions. + + The API allows you to create your tools. + + ## The Tools Model + + + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - Tool + readOnly: true + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + uid: + example: 12345678-1234-1234-1234-123456789012 + resource_version: + example: a23av + readOnly: true + type: object + name: + type: string + example: linear-mcp-tool + description: >- + The user provided name of the tool, unique within this + environment. + pattern: '[a-z0-9_]([-a-z0-9_]*[a-z0-9_])?' + x-immutable: true + maxLength: 100 + spec: + $ref: '#/components/schemas/sql.v1.ToolSpec' + status: + $ref: '#/components/schemas/sql.v1.ToolStatus' + required: + - name + - spec + responses: + '200': + description: A Tool has been successfully created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: >- + https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/databases/{database_name}/tools/{name} + description: Tool resource uri + content: + application/json: + schema: + type: object + description: >- + `Tool` models a reusable tool resource backed by a connection + that can be referenced + + by agents to perform actions. + + The API allows you to create your tools. + + ## The Tools Model + + + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - Tool + readOnly: true + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + uid: + example: 12345678-1234-1234-1234-123456789012 + resource_version: + example: a23av + readOnly: true + type: object + name: + type: string + example: linear-mcp-tool + description: >- + The user provided name of the tool, unique within this + environment. + pattern: '[a-z0-9_]([-a-z0-9_]*[a-z0-9_])?' + x-immutable: true + maxLength: 100 + spec: + $ref: '#/components/schemas/sql.v1.ToolSpec' + status: + $ref: '#/components/schemas/sql.v1.ToolStatus' + required: + - name + - spec + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + get: + x-lifecycle-stage: Preview + x-self-access: true + x-request-access-name: SQL API v1 + operationId: listSqlv1Tools + summary: List of Tools + description: >- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all Tools. + parameters: + - in: path + name: organization_id + required: true + schema: + type: string + format: uuid + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - in: path + name: database_name + required: true + schema: + type: string + description: The name of the database. + - name: page_size + in: query + required: false + schema: type: integer - schema: - $ref: '#/components/schemas/sql.v1.ResultSchema' - readOnly: true - sql.v1.ResultSchema: - type: object - description: The table columns of the results schema. - properties: - columns: - type: array - description: The properties of each SQL column in the schema. - items: - $ref: '#/components/schemas/ColumnDetails' - ColumnDetails: + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Tools (sql/v1) + security: + - resource-api-key: [] + responses: + '200': + description: Tools. + content: + application/json: + schema: + $ref: '#/components/schemas/sql.v1.ToolList' + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + servers: + - url: https://flink.region.provider.confluent.cloud + description: Flink Compute Pool Endpoint + x-lifecycle-stage: Preview + x-self-access: true + x-request-access-name: SQL API v1 + /sql/v1/organizations/{organization_id}/environments/{environment_id}/databases/{database_name}/tools/{tool_name}: + get: + x-lifecycle-stage: Preview + x-self-access: true + x-request-access-name: SQL API v1 + operationId: getSqlv1Tool + summary: Read a Tool + description: >- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read a Tool. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: database_name + in: path + required: true + schema: + type: string + description: The name of the database. + - name: tool_name + in: path + required: true + schema: + type: string + description: The user provided name of the Tool. + tags: + - Tools (sql/v1) + security: + - resource-api-key: [] + responses: + '200': + description: Tool. + content: + application/json: + schema: + type: object + description: >- + `Tool` models a reusable tool resource backed by a connection + that can be referenced + + by agents to perform actions. + + The API allows you to create your tools. + + ## The Tools Model + + + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - Tool + readOnly: true + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + uid: + example: 12345678-1234-1234-1234-123456789012 + resource_version: + example: a23av + readOnly: true + type: object + name: + type: string + example: linear-mcp-tool + description: >- + The user provided name of the tool, unique within this + environment. + pattern: '[a-z0-9_]([-a-z0-9_]*[a-z0-9_])?' + x-immutable: true + maxLength: 100 + spec: + $ref: '#/components/schemas/sql.v1.ToolSpec' + status: + $ref: '#/components/schemas/sql.v1.ToolStatus' + required: + - api_version + - kind + - metadata + - name + - spec + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: Preview + x-self-access: false + x-request-access-name: SQL API v1 + operationId: deleteSqlv1Tool + summary: Delete a Tool + description: >- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete a Tool. + parameters: + - in: path + name: organization_id + schema: + type: string + format: uuid + required: true + description: The unique identifier for the organization. + - in: path + name: environment_id + required: true + schema: + type: string + description: The unique identifier for the environment. + - name: database_name + in: path + required: true + schema: + type: string + description: The name of the database. + - name: tool_name + in: path + required: true + schema: + type: string + description: The user provided name of the Tool. + tags: + - Tools (sql/v1) + security: + - resource-api-key: [] + responses: + '200': + description: A Tool has been deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + servers: + - url: https://flink.region.provider.confluent.cloud + description: Flink Compute Pool Endpoint + x-lifecycle-stage: Preview + x-self-access: true + x-request-access-name: SQL API v1 +components: + schemas: + sql.v1.ConnectionList: type: object - description: A column in the results schema. + description: >- + `Connection` models a reusable endpoint and auth token to authenticate + the caller to + + use that endpoint. + + Only `OrgAdmins` and `EnvAdmins` will have the permissions to create, + update and delete `Connections`. + + `FlinkDevelopers` and `ModelResourceOwners` can later reference a + `Connection` resource within their Model + + creation statements. + + The API allows you to list, create, read, and delete your connections. + + ## The Connection Model + + required: - - name - - type + - api_version + - kind + - metadata + - data properties: - name: + api_version: type: string - description: The name of the SQL table column. - example: Column_Name - type: - allOf: - - $ref: '#/components/schemas/DataType' - description: JSON object in TableSchema format; describes the data returned by the results serving API. - example: - type: CHAR - nullable: true - length: 8 - DataType: - type: object - properties: - type: + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + example: sql/v1 + kind: type: string - description: The data type of the column. - nullable: - type: boolean - description: Indicates whether values in this column can be null. - length: - type: integer - format: int32 - description: The length of the data type. - precision: - type: integer - format: int32 - description: The precision of the data type. - scale: - type: integer - format: int32 - description: The scale of the data type. - key_type: - allOf: - - $ref: '#/components/schemas/DataType' - description: The type of the key in the data type (if applicable). - value_type: - allOf: - - $ref: '#/components/schemas/DataType' - description: The type of the value in the data type (if applicable). - element_type: - allOf: - - $ref: '#/components/schemas/DataType' - description: The type of the element in the data type (if applicable). - fields: + description: Kind defines the object this REST resource represents. + enum: + - ConnectionList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + self: + example: >- + https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/connections + data: type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. items: - $ref: '#/components/schemas/RowFieldType' - description: The fields of the element in the data type (if applicable). - resolution: - type: string - description: The resolution of the data type (if applicable). - fractional_precision: - type: integer - format: int32 - description: The fractional precision of the data type (if applicable). - required: - - type - - nullable - RowFieldType: - type: object - properties: - name: - type: string - description: The name of the field. - field_type: - allOf: - - $ref: '#/components/schemas/DataType' - description: The data type of the field. - description: - type: string - description: The description of the field. - required: - - name - - field_type - PatchRequest: - type: array - description: 'PatchRequest represent a json-patch request to be applied to the Statement. See https://tools.ietf.org/html/rfc6902' - items: - oneOf: - - $ref: '#/components/schemas/JsonPatchRequestAddReplace' - - $ref: '#/components/schemas/JsonPatchRequestRemove' - - $ref: '#/components/schemas/JsonPatchRequestMoveCopy' - JsonPatchRequestAddReplace: + type: object + description: >- + `Connection` models a reusable endpoint and auth token to + authenticate the caller to + + use that endpoint. + + Only `OrganizationAdmins` and `EnvironmentAdmins` will have the + permissions to create, update and delete `Connections`. + + `FlinkDevelopers` and `ModelResourceOwners` can later reference a + `Connection` resource within their Model + + creation statements. + + The API allows you to list, create, read, and delete your + connections. + + ## The Connections Model + + + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - Connection + readOnly: true + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + uid: + example: 12345678-1234-1234-1234-123456789012 + resource_version: + example: a23av + readOnly: true + type: object + name: + type: string + example: my-openai-connection + description: >- + The user provided name of the resource, unique within this + environment. + pattern: >- + [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* + x-immutable: true + maxLength: 100 + spec: + $ref: '#/components/schemas/sql.v1.ConnectionSpec' + status: + $ref: '#/components/schemas/sql.v1.ConnectionStatus' + required: + - api_version + - kind + - metadata + - spec + - status + - name + - organization_id + - environment_id + uniqueItems: true + sql.v1.Connection: type: object - description: This option is used to add or replace a value for a field - additionalProperties: false - required: - - value - - op - - path + description: >- + `Connection` models a reusable endpoint and auth token to authenticate + the caller to + + use that endpoint. + + Only `OrganizationAdmins` and `EnvironmentAdmins` will have the + permissions to create, update and delete `Connections`. + + `FlinkDevelopers` and `ModelResourceOwners` can later reference a + `Connection` resource within their Model + + creation statements. + + The API allows you to list, create, read, and delete your connections. + + ## The Connections Model + + properties: - path: - description: A JSON Pointer path. - type: string - value: - description: 'The value to add, replace or test.' - op: - description: The operation to perform. + api_version: type: string enum: - - ADD - - REPLACE - - TEST - JsonPatchRequestRemove: - type: object - description: This option is used to remove a field - additionalProperties: false - required: - - op - - path - properties: - path: - description: A JSON Pointer path. - type: string - op: - description: The operation to perform. + - sql/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + example: sql/v1 + readOnly: true + kind: type: string + description: Kind defines the object this REST resource represents. enum: - - REMOVE - JsonPatchRequestMoveCopy: + - Connection + readOnly: true + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + uid: + example: 12345678-1234-1234-1234-123456789012 + resource_version: + example: a23av + readOnly: true + type: object + name: + type: string + example: my-openai-connection + description: >- + The user provided name of the resource, unique within this + environment. + pattern: '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*' + x-immutable: true + maxLength: 100 + spec: + $ref: '#/components/schemas/sql.v1.ConnectionSpec' + status: + $ref: '#/components/schemas/sql.v1.ConnectionStatus' + sql.v1.StatementResult: type: object - description: This option is used to move or copy a field - additionalProperties: false + description: >- + `Statement Result` represents a resource used to model results of SQL + statements. + + The API allows you to read your SQL statement result. required: - - from - - op - - path + - api_version + - kind + - metadata + - data properties: - path: - description: A JSON Pointer path. - type: string - op: - description: The operation to perform. + api_version: type: string enum: - - MOVE - - COPY - from: - description: A JSON Pointer path. + - sql/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + example: sql/v1 + kind: type: string - sql.v1.StatementExceptionList: + description: Kind defines the object this REST resource represents. + enum: + - StatementResult + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + example: >- + https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements + next: + description: A URL that can be followed to get the next batch of results. + type: string + example: >- + https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + results: + type: object + description: >- + A results property that contains a data property that contains an + array of results. + properties: + data: + type: array + description: > + A data property that contains an array of results. Each entry in + the array is a separate result. + + + The value of `op` attribute (if present) represents the kind of + change that a row can describe in a changelog: + + + `0`: represents `INSERT` (`+I`), i.e. insertion operation; + + + `1`: represents `UPDATE_BEFORE` (`-U`), i.e. update operation + with the previous content of the updated row. + + This kind should occur together with `UPDATE_AFTER` for + modelling an update that needs to retract + + the previous row first. It is useful in cases of a + non-idempotent update, i.e., an update of a row that is not + + uniquely identifiable by a key; + + + `2`: represents `UPDATE_AFTER` (`+U`), i.e. update operation + with new content of the updated row; + + This kind CAN occur together with `UPDATE_BEFORE` for modelling + an update that + + needs to retract the previous row first or it describes an + idempotent update, i.e., an + + update of a row that is uniquely identifiable by a key; + + + `3`: represents `DELETE` (`-D`), i.e. deletion operation; + + + Defaults to `0`. + items: {} + example: + - op: 0 + row: + - '101' + - Jay + - - null + - abc + - - null + - '456' + - 1990-01-12 12:00.12 + - - - null + - Alice + - - '42' + - Bob + sql.v1.StatementList: type: object - description: |- - StatementExceptionList is a list of exceptions coming from FAILED or FAILING Statements created by - the SQL Statements API. + description: >- + `Statement` represents a core resource used to model SQL statements for + execution. + + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to + handle session + + management or any higher-level functionality. + + The API allows you to list, create, read, and delete your statements. + + ## The Statements Model + + required: - api_version - kind @@ -2284,3320 +4914,4385 @@ components: type: string enum: - sql/v1 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. example: sql/v1 kind: type: string description: Kind defines the object this REST resource represents. enum: - - StatementExceptionList + - StatementList metadata: - allOf: - - $ref: '#/components/schemas/ExceptionListMeta' + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + self: + example: >- + https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements data: type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. items: - allOf: - - $ref: '#/components/schemas/sql.v1.StatementException' - ExceptionListMeta: + type: object + description: >- + `Statement` represents a core resource used to model SQL + statements for execution. + + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt + to handle session + + management or any higher-level functionality. + + The API allows you to list, create, read, and delete your + statements. + + ## The Statements Model + + + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - Statement + readOnly: true + metadata: + description: The metadata of the statement. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + example: >- + https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements/my-statement + created_at: + type: string + format: date-time + example: '1996-03-19T01:02:03-04:05' + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2025-11-10T16:20:00Z' + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + uid: + type: string + example: 12345678-1234-1234-1234-123456789012 + description: >- + A system generated globally unique identifier for this + resource. + resource_version: + type: string + example: a23av + description: >- + A system generated string that uniquely identifies the + version of this resource. + labels: + type: object + description: A map of key-value pairs that describe the resource. + additionalProperties: + type: string + example: + user.confluent.io/hidden: 'true' + resource_name: + example: '' + readOnly: true + type: object + name: + type: string + example: sql123 + description: >- + The user provided name of the resource, unique within this + environment. + pattern: >- + [a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)* + x-immutable: true + maxLength: 100 + organization_id: + type: string + format: uuid + description: The unique identifier for the organization. + x-immutable: true + environment_id: + type: string + description: The unique identifier for the environment. + x-immutable: true + spec: + $ref: '#/components/schemas/sql.v1.StatementSpec' + status: + $ref: '#/components/schemas/sql.v1.StatementStatus' + result: + $ref: '#/components/schemas/sql.v1.StatementResult' + required: + - api_version + - kind + - metadata + - spec + - status + - name + - organization_id + - environment_id + uniqueItems: true + sql.v1.Statement: type: object - description: ListMeta describes metadata that resource collections may have + description: >- + `Statement` represents a core resource used to model SQL statements for + execution. + + A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to + handle session + + management or any higher-level functionality. + + The API allows you to list, create, read, and delete your statements. + + ## The Statements Model + + properties: - self: - description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + api_version: type: string - example: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements/sql123/exceptions' - sql.v1.StatementException: - type: object - properties: + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + example: sql/v1 + readOnly: true kind: type: string description: Kind defines the object this REST resource represents. enum: - - StatementException - name: - type: string - description: Name of the SQL statement exception. - example: java.lang.RuntimeException + - Statement readOnly: true - message: - type: string - description: Error message of the statement exception. - example: 'java.lang.RuntimeException: An error occurred' + metadata: + description: The metadata of the statement. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + example: >- + https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements/my-statement + created_at: + type: string + format: date-time + example: '1996-03-19T01:02:03-04:05' + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2025-11-10T16:20:00Z' + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + uid: + type: string + example: 12345678-1234-1234-1234-123456789012 + description: A system generated globally unique identifier for this resource. + resource_version: + type: string + example: a23av + description: >- + A system generated string that uniquely identifies the version + of this resource. + labels: + type: object + description: A map of key-value pairs that describe the resource. + additionalProperties: + type: string + example: + user.confluent.io/hidden: 'true' + resource_name: + example: '' readOnly: true - timestamp: + type: object + name: type: string - format: date-time - example: '2023-03-31T00:00:00-00:00' - description: The date and time at which the exception occurred. It is represented in RFC3339 format and is in UTC. - readOnly: true - x-enable-objectmeta: true - parameters: - AclHost: - name: host - description: The ACL host. - in: query - required: false - schema: - type: string - AclOperation: - name: operation - description: The ACL operation. - in: query - required: false - schema: - $ref: '#/components/schemas/AclOperation' - AclOperationRequired: - name: operation - description: The ACL operation. - in: query - required: true - schema: - $ref: '#/components/schemas/AclOperation' - AclPatternType: - name: pattern_type - description: The ACL pattern type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPatternType' - AclPatternTypeRequired: - name: pattern_type - description: The ACL pattern type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPatternType' - AclPermission: - name: permission - description: The ACL permission. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPermission' - AclPermissionRequired: - name: permission - description: The ACL permission. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPermission' - AclPrincipal: - name: principal - description: The ACL principal. This is the Service Account name or user name. - in: query - required: false - schema: - type: string - AclResourceName: - name: resource_name - description: The ACL resource name. - in: query - required: false - schema: - type: string - AclResourceType: - name: resource_type - description: The ACL resource type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclResourceType' - AclResourceTypeRequired: - name: resource_type - description: The ACL resource type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclResourceType' - BrokerId: - name: broker_id - description: The Kafka broker ID. - in: path - required: true - schema: - type: integer - example: 1 - ClusterId: - name: cluster_id - description: The Kafka cluster ID. - in: path - required: true - schema: - type: string - example: cluster-1 - ConfigName: - name: name - description: The configuration parameter name. - in: path - required: true - schema: - type: string - example: compression.type - ConsumerGroupId: - name: consumer_group_id - description: The consumer group ID. - in: path - required: true - schema: - type: string - example: consumer-group-1 - ConsumerId: - name: consumer_id - description: The consumer ID. - in: path - required: true - schema: - type: string - example: consumer-1 - IncludeAuthorizedOperations: - name: include_authorized_operations - description: Specify if authorized operations should be included in the response. - in: query - required: false - schema: - type: boolean - PartitionId: - name: partition_id - description: The partition ID. - in: path - required: true - schema: - type: integer - example: 0 - TopicName: - name: topic_name - description: The topic name. - in: path - required: true - schema: - type: string - example: topic-1 - BrokerTaskType: - name: task_type - description: The Kafka broker task type. - in: path - required: true - schema: - $ref: '#/components/schemas/BrokerTaskType' - example: remove-broker - ShouldShutdown: - name: should_shutdown - description: 'To shutdown the broker or not, Default: true' - in: query - required: false - schema: - type: boolean - example: true - ValidateOnly: - name: validate_only - description: 'To validate the action can be performed successfully or not. Default: false' - in: query - required: false - schema: - type: boolean - example: false - ValidateLink: - name: validate_link - description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' - in: query - required: false - schema: - type: boolean - example: false - IncludeTasks: - name: include_tasks - description: 'Whether to include cluster linking tasks in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludeStateTransitionErrors: - name: include_state_transition_errors - description: 'Whether to include mirror state transition errors in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - Force: - name: force - description: 'Force the action. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludePartitionLevelTruncationData: - name: include_partition_level_truncation_data - description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - LinkName: - name: link_name - description: The link name - in: path - required: true - schema: - type: string - example: link-sb1 - LinkConfigName: - name: config_name - description: The link config name - in: path - required: true - schema: - type: string - example: consumer.offset.sync.enable - MirrorTopicStatus: - name: mirror_status - description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' - in: query - required: false - schema: - $ref: '#/components/schemas/MirrorTopicStatus' - example: ACTIVE - MirrorTopicName: - name: mirror_topic_name - description: Cluster Linking mirror topic name - in: path - required: true - schema: - type: string - example: topic-1 - QueryParamLinkName: - name: link_name - description: The link name - in: query - required: true - schema: - type: string - example: link-sb1 - responses: - BadRequestError: - description: Bad Request - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '400' - code: invalid_filter - title: Invalid Filter - detail: The 'delorean' resource can't be filtered by 'num_doors' - source: - parameter: num_doors - UnauthenticatedError: - x-summary: Unauthorized - description: The request lacks valid authentication credentials for this resource. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - WWW-Authenticate: - schema: - type: string - description: The unique identifier for the API request. - example: 'Basic error="invalid_key", error_description="The API Key is invalid"' - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '401' - code: user_unauthenticated - title: Authentication Required - detail: Valid authentication credentials must be provided - UnauthorizedError: - x-summary: Forbidden - description: The access credentials were considered insufficient to grant access - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '403' - code: user_unauthorized - title: User Access Unauthorized - detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. - NotFoundError: - description: Not Found - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '404' - title: Not Found - RateLimitError: - description: Rate Limit Exceeded - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Retry-After: - schema: - type: integer - description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. - DefaultSystemError: - description: 'Oops, something went wrong!' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '500' - code: out_of_gas - title: DeLorean Out Of Gas - detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' - ConflictError: - x-summary: Conflict - description: The request is in conflict with the current server state - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - Location: - schema: - type: string - format: uri - example: 'https://api.confluent.cloud/{object}/{id}' - description: Resource URI of conflicting resource - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '409' - code: resource_already_exists - title: Resource Already exists - detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. - ValidationError: - description: Validation Failed - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - - status: '422' - code: invalid_configuration - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' - source: - pointer: /cluster/storage_size - securitySchemes: - cloud-api-key: - type: http - scheme: basic - description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. - confluent-sts-access-token: - type: oauth2 - description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' - scopes: {} - api-key: - type: http - scheme: basic - description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. - resource-api-key: - type: http - scheme: basic - description: | - Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID - as the username and resource-specific API Key Secret as the password. - external-access-token: - type: oauth2 - description: Authenticate with OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https:///token' - scopes: {} - oauth: - type: oauth2 - description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. - flows: - clientCredentials: - tokenUrl: /oauth2/token - scopes: - 'partner:alter': enables partners to alter entitlements - 'partner:create': enables partners to create entitlements and signup on behalf of customers - 'partner:delete': enables partners to delete entitlements and organizations - 'partner:describe': enables partners to read and list entitlements and organizations - requestBodies: - AlterBrokerConfigBatchRequest: - description: The alter broker configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterClusterConfigBatchRequest: - description: The alter cluster configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterTopicConfigBatchRequest: - description: The alter topic configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - examples: - batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only_batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only: true - CreateAclRequest: - description: The ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestData' - example: - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - BatchCreateAclRequest: - description: The batch ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestDataList' - example: - data: - - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - - resource_type: TOPIC - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: READ - permission: ALLOW - CreateTopicRequest: - description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTopicRequestData' - examples: - uniform_replication: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - configs: - - name: cleanup.policy - value: compact - - name: compression.type - value: gzip - dry_run_create_topic: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - validate_only: true - ProduceRequest: - description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' - content: - application/json: - schema: - $ref: '#/components/schemas/ProduceRequest' - examples: - binary_and_json: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - partition_id: 1 - headers: - - name: Header-1 - value: SGVhZGVyLTE= - - name: Header-2 - value: SGVhZGVyLTI= - key: - type: BINARY - data: Zm9vYmFy - value: - type: JSON - data: - foo: bar - timestamp: '2021-02-05T19:14:42Z' - string: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - value: - type: STRING - data: My message - empty_value: - description: key or value can be omitted entirely. - value: - key: - data: 1000 - UpdateBrokerConfigRequest: - description: The broker configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateClusterConfigRequest: - description: The cluster configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateTopicConfigRequest: - description: The topic configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - CreateLinkRequest: - description: Create a cluster link - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLinkRequestData' - examples: - destination_initiated_link: - description: Create a destination initiated cluster link - value: - source_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: acl.sync.enable - value: 'false' - - name: consumer.offset.sync.ms - value: '30000' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_source_cluster: - description: Create a source initiated cluster link at source cluster - value: - destination_cluster_id: cluster-2 - configs: - - name: bootstrap.servers - value: cluster-2-bootstrap-server - - name: link.mode - value: SOURCE - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_destination_cluster: - description: Create a source initiated cluster link at destination cluster - value: - destination_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: link.mode - value: DESTINATION - - name: connection.mode - value: INBOUND - - name: acl.sync.enable - value: 'false' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_east: - description: Create a bidirectional cluster link in east - value: - remote_cluster_id: cluster-west - configs: - - name: bootstrap.servers - value: cluster-west-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: west. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_west: - description: Create a bidirectional cluster link in west - value: - remote_cluster_id: cluster-east - cluster_link_id: eEBkTffYSESld6EO898x3w - configs: - - name: bootstrap.servers - value: cluster-east-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: east. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - UpdateLinkConfigRequest: - content: - application/json: - example: - value: '300000' - schema: - $ref: '#/components/schemas/UpdateLinkConfigRequestData' - description: Link config value to update - AlterLinkConfigBatchRequest: - content: - application/json: - example: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - CreateMirrorTopicRequest: - description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateMirrorTopicRequestData' - examples: - generic_example: - description: Generic example of creating a mirror topic - value: - source_topic_name: topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 1 - example_with_mirror_topic_name: - description: Example using optional mirror_topic_name flag - value: - source_topic_name: topic-1 - mirror_topic_name: link1_topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 3 - AlterMirrorsRequest: - description: Mirror topics to be altered. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterMirrorsRequestData' - examples: - mirror_topic_names: - description: Example using mirror topic names - value: - mirror_topic_names: - - topic-1 - - topic-2 - mirror_topic_name_pattern: - description: Example using mirror topic name pattern - value: - mirror_topic_name_pattern: .* - RemoveBrokersRequest: - content: - application/json: - example: - broker_ids: - - 1 - - 2 - - 3 - schema: - $ref: '#/components/schemas/RemoveBrokersRequestData' - description: Broker ids to remove - BrokerReplicaExclusionBatchRequest: - description: Alter Broker Replica Exclusions. - content: - application/json: - schema: - $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' - example: - data: - - broker_id: 1 - reason: The broker is to be removed. - - broker_id: 2 - reason: The broker is to be removed. - x-stackQL-resources: - connections: - id: confluent.sql.connections - name: connections - title: Connections - methods: - list_sqlv1connections: - operation: - $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1connections/get' - response: - mediaType: application/json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/sql.v1.ConnectionList' - objectKey: $.data - create_sqlv1connection: - operation: - $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1connections/post' - response: - mediaType: application/json - openAPIDocKey: '201' - get_sqlv1connection: - operation: - $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1connections~1{connection_name}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_sqlv1connection: - operation: - $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1connections~1{connection_name}/delete' - response: - mediaType: application/json - openAPIDocKey: '200' - update_sqlv1connection: - operation: - $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1connections~1{connection_name}/put' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/connections/methods/get_sqlv1connection' - - $ref: '#/components/x-stackQL-resources/connections/methods/list_sqlv1connections' - insert: - - $ref: '#/components/x-stackQL-resources/connections/methods/create_sqlv1connection' - update: [] - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/connections/methods/delete_sqlv1connection' - statement_results: - id: confluent.sql.statement_results - name: statement_results - title: Statement Results - methods: - get_sqlv1statement_result: - operation: - $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements~1{name}~1results/get' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/statement_results/methods/get_sqlv1statement_result' - insert: [] - update: [] - replace: [] - delete: [] - statements: - id: confluent.sql.statements - name: statements - title: Statements - methods: - list_sqlv1statements: - operation: - $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements/get' - response: - mediaType: application/json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/sql.v1.StatementList' - objectKey: $.data - create_sqlv1statement: - operation: - $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements/post' - response: - mediaType: application/json - openAPIDocKey: '201' - get_sqlv1statement: - operation: - $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements~1{statement_name}/get' - response: - mediaType: application/json - openAPIDocKey: '200' - delete_sqlv1statement: - operation: - $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements~1{statement_name}/delete' - response: - mediaType: application/json - openAPIDocKey: '202' - update_sqlv1statement: - operation: - $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements~1{statement_name}/put' - response: - mediaType: application/json - openAPIDocKey: '202' - patch_sqlv1statement: - operation: - $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements~1{statement_name}/patch' - response: - mediaType: application/json - openAPIDocKey: '200' - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/statements/methods/get_sqlv1statement' - - $ref: '#/components/x-stackQL-resources/statements/methods/list_sqlv1statements' - insert: - - $ref: '#/components/x-stackQL-resources/statements/methods/create_sqlv1statement' - update: - - $ref: '#/components/x-stackQL-resources/statements/methods/patch_sqlv1statement' - replace: [] - delete: - - $ref: '#/components/x-stackQL-resources/statements/methods/delete_sqlv1statement' - statement_exceptions: - id: confluent.sql.statement_exceptions - name: statement_exceptions - title: Statement Exceptions - methods: - get_sqlv1statement_exceptions: - operation: - $ref: '#/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements~1{statement_name}~1exceptions/get' - response: - mediaType: application/json - openAPIDocKey: '200' - schemaRef: '#/components/schemas/sql.v1.StatementExceptionList' - objectKey: $.data - sqlVerbs: - select: - - $ref: '#/components/x-stackQL-resources/statement_exceptions/methods/get_sqlv1statement_exceptions' - insert: [] - update: [] - replace: [] - delete: [] -paths: - '/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections': - get: - x-request-access-name: SQL API v1 - operationId: listSqlv1Connections - summary: List of Connections - description: |- - [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) + example: sql123 + description: >- + The user provided name of the resource, unique within this + environment. + pattern: '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*' + x-immutable: true + maxLength: 100 + organization_id: + type: string + format: uuid + description: The unique identifier for the organization. + x-immutable: true + environment_id: + type: string + description: The unique identifier for the environment. + x-immutable: true + spec: + $ref: '#/components/schemas/sql.v1.StatementSpec' + status: + $ref: '#/components/schemas/sql.v1.StatementStatus' + result: + $ref: '#/components/schemas/sql.v1.StatementResult' + PatchRequest: + type: array + description: >- + PatchRequest represent a json-patch request to be applied to the + Statement. See https://tools.ietf.org/html/rfc6902 + items: + oneOf: + - $ref: '#/components/schemas/JsonPatchRequestAddReplace' + - $ref: '#/components/schemas/JsonPatchRequestRemove' + - $ref: '#/components/schemas/JsonPatchRequestMoveCopy' + sql.v1.StatementExceptionList: + type: object + description: >- + StatementExceptionList is a list of exceptions coming from FAILED or + FAILING Statements created by + + the SQL Statements API. + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + example: sql/v1 + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - StatementExceptionList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + example: >- + https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements/sql123/exceptions + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + properties: + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - StatementException + name: + type: string + description: Name of the SQL statement exception. + example: java.lang.RuntimeException + readOnly: true + message: + type: string + description: Error message of the statement exception. + example: 'java.lang.RuntimeException: An error occurred' + readOnly: true + timestamp: + type: string + format: date-time + example: '2025-11-10T16:20:00Z' + description: >- + The date and time at which the exception occurred. It is + represented in RFC3339 format and is in UTC. + readOnly: true + x-enable-objectmeta: true + sql.v1.MaterializedTableList: + type: object + description: A list of Materialized Table resources. + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - sql/v1 + readOnly: true + kind: + type: string + enum: + - MaterializedTableList + readOnly: true + metadata: + $ref: '#/components/schemas/ListMeta' + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + $ref: '#/components/schemas/sql.v1.MaterializedTable' + uniqueItems: true + sql.v1.MaterializedTable: + type: object + description: Represents a Materialized Table resource. + required: + - api_version + - kind + - metadata + - name + - organization_id + - environment_id + - spec + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - MaterializedTable + readOnly: true + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + uid: + example: 12345678-1234-1234-1234-123456789012 + resource_version: + example: a23av + labels: + type: object + additionalProperties: + type: string + readOnly: true + type: object + name: + type: string + description: >- + The user-provided name of the resource, unique within this + environment. + pattern: ^[a-zA-Z0-9]([a-zA-Z0-9_-]*[a-zA-Z0-9])?$ + maxLength: 100 + example: high-value-orders + x-immutable: true + organization_id: + type: string + format: uuid + description: The unique identifier for the organization. + x-immutable: true + readOnly: true + environment_id: + type: string + description: The unique identifier for the environment. + x-immutable: true + readOnly: true + spec: + $ref: '#/components/schemas/sql.v1.MaterializedTableSpec' + status: + readOnly: true + type: object + description: The status of the Materialized Table. + properties: + phase: + type: string + x-extensible-enum: + - PENDING + - RUNNING + - COMPLETED + - DELETING + - FAILING + - FAILED + - CREATING + - ALTERING + - DEGRADED + - STOPPING + - STOPPED + description: The lifecycle phase of the materialized table. + example: RUNNING + detail: + type: string + description: Optional. Human-readable description of phase. + example: Materialized table is running. + warnings: + type: array + description: >- + List of warnings encountered during materialized table + execution. + items: + $ref: '#/components/schemas/sql.v1.MaterializedTableWarning' + creation_statement: + type: string + description: >- + Entire Materialized Table statement as submitted by user e.g + CREATE OR ALTER MATERIALIZED TABLE ... + example: >- + CREATE OR ALTER MATERIALIZED TABLE high-value-orders AS SELECT + user_id, product_id, price, quantity FROM orders WHERE price > + 1000; + scaling_status: + $ref: '#/components/schemas/sql.v1.ScalingStatus' + version: + type: integer + format: int32 + minimum: 1 + description: >- + Represents the evolution history of the Materialized Table. The + current value indicates the latest version. + example: 3 + latest_version: + type: integer + format: int32 + minimum: 1 + description: >- + Represents the latest submitted version of the Materialized + Table. When a query evolution is accepted, `latest_version` is + incremented immediately and will be greater than `version` until + the new query is fully activated. + example: 4 + sql.v1.MaterializedTableVersionList: + type: object + description: A list of Materialized Table Version resources. + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - sql/v1 + readOnly: true + kind: + type: string + enum: + - MaterializedTableVersionList + readOnly: true + metadata: + $ref: '#/components/schemas/ListMeta' + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + $ref: '#/components/schemas/sql.v1.MaterializedTableVersion' + uniqueItems: true + sql.v1.MaterializedTableVersion: + type: object + description: Represents a specific version of a Materialized Table resource. + required: + - api_version + - kind + - metadata + - name + - organization_id + - environment_id + - spec + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - MaterializedTableVersion + readOnly: true + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + name: + type: string + description: | + The resource version name, unique within the Kafka cluster. + Name conforms to DNS Subdomain (RFC 1123). + pattern: '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*' + maxLength: 100 + example: mt-123-v4 + readOnly: true + organization_id: + type: string + format: uuid + description: The unique identifier for the organization. + x-immutable: true + readOnly: true + environment_id: + type: string + description: The unique identifier for the environment. + x-immutable: true + readOnly: true + spec: + $ref: '#/components/schemas/sql.v1.MaterializedTableVersionSpec' + sql.v1.AgentList: + type: object + description: A list of Agent resources. + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - sql/v1 + readOnly: true + kind: + type: string + enum: + - AgentList + readOnly: true + metadata: + $ref: '#/components/schemas/ListMeta' + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + $ref: '#/components/schemas/sql.v1.Agent' + uniqueItems: true + sql.v1.Agent: + type: object + description: Represents an Agent resource. + required: + - api_version + - kind + - metadata + - name + - organization_id + - environment_id + - spec + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - Agent + readOnly: true + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + uid: + example: 12345678-1234-1234-1234-123456789012 + resource_version: + example: a23av + labels: + type: object + additionalProperties: + type: string + readOnly: true + type: object + name: + type: string + description: The user-provided name of the agent, unique within this environment. + pattern: '[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*' + maxLength: 100 + example: chat-listener-agent + x-immutable: true + organization_id: + type: string + format: uuid + description: The unique identifier for the organization. + x-immutable: true + readOnly: true + environment_id: + type: string + description: The unique identifier for the environment. + x-immutable: true + readOnly: true + spec: + $ref: '#/components/schemas/sql.v1.AgentSpec' + status: + readOnly: true + type: object + description: The status of the Agent. + properties: + phase: + type: string + x-extensible-enum: + - READY + - RUNNING + description: | + Describes the status of the agent: + + READY: The Agent is created; + + RUNNING: The Agent is created and running in a query; + example: RUNNING + sql.v1.Tool: + type: object + description: >- + `Tool` models a reusable tool resource backed by a connection that can + be referenced + + by agents to perform actions. + + The API allows you to create your tools. + + ## The Tools Model + + + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - Tool + readOnly: true + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + uid: + example: 12345678-1234-1234-1234-123456789012 + resource_version: + example: a23av + readOnly: true + type: object + name: + type: string + example: linear-mcp-tool + description: The user provided name of the tool, unique within this environment. + pattern: '[a-z0-9_]([-a-z0-9_]*[a-z0-9_])?' + x-immutable: true + maxLength: 100 + spec: + $ref: '#/components/schemas/sql.v1.ToolSpec' + status: + $ref: '#/components/schemas/sql.v1.ToolStatus' + sql.v1.ToolList: + type: object + description: >- + `Tool` models a reusable tool resource backed by a connection that can + be referenced + + by agents to perform actions. + + The API allows you to create your tools. + + ## The Tool Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + example: sql/v1 + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - ToolList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + self: + example: >- + https://flink.us-west1.aws.confluent.cloud/sql/v1/organizations/org-abc/environments/env-123/databases/my-database/tools + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `Tool` models a reusable tool resource backed by a connection that + can be referenced - Retrieve a sorted, filtered and paginated list of all Connections. - parameters: - - in: path - name: organization_id - required: true - schema: - type: string - format: uuid - description: The unique identifier for the organization. - - in: path - name: environment_id - required: true - schema: - type: string - description: The unique identifier for the environment. - - name: spec.connection_type - in: query - required: false - schema: - type: string - x-extensible-enum: - - OPENAI - - AZUREML - - AZUREOPENAI - - BEDROCK - - SAGEMAKER - - GOOGLEAI - - VERTEXAI - - MONGODB - - PINECONE - - ELASTIC - description: Filter the results by exact match for spec.connection_type - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Connections (sql/v1) - security: - - resource-api-key: [] - responses: - '200': - description: Connections. - content: - application/json: - schema: - $ref: '#/components/schemas/sql.v1.ConnectionList' - headers: - X-Request-Id: - schema: + by agents to perform actions. + + The API allows you to create your tools. + + ## The Tools Model + + + properties: + api_version: type: string - description: The unique identifier for the API request. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "flink.region.provider.confluent.cloud", - "port": null, - "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - x-request-access-name: SQL API v1 - operationId: createSqlv1Connection - summary: Create a Connection - description: |- - [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) + enum: + - sql/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + example: sql/v1 + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - Tool + readOnly: true + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + uid: + example: 12345678-1234-1234-1234-123456789012 + resource_version: + example: a23av + readOnly: true + type: object + name: + type: string + example: linear-mcp-tool + description: >- + The user provided name of the tool, unique within this + environment. + pattern: '[a-z0-9_]([-a-z0-9_]*[a-z0-9_])?' + x-immutable: true + maxLength: 100 + spec: + $ref: '#/components/schemas/sql.v1.ToolSpec' + status: + $ref: '#/components/schemas/sql.v1.ToolStatus' + required: + - api_version + - kind + - metadata + - name + - spec + - status + - organization_id + - environment_id + uniqueItems: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not contain + a first link, then direct navigation to the first page is not + supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not contain a + last link, then direct navigation to the last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not contain a + next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + Failure: + type: object + description: >- + Provides information about problems encountered while performing an + operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + ObjectMeta: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. It + is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + sql.v1.ConnectionSpec: + type: object + description: Encapsulates the model provider access details + properties: + connection_type: + type: string + example: OPENAI + description: The type of this connection. + x-immutable: true + x-extensible-enum: + - AZUREML + - AZUREOPENAI + - A2A + - ANTHROPIC + - BEDROCK + - CONFLUENT_JDBC + - COSMOSDB + - COUCHBASE + - ELASTIC + - FIREWORKSAI + - GOOGLEAI + - MCP_SERVER + - MONGODB + - OPENAI + - PINECONE + - REST + - S3VECTORS + - SAGEMAKER + - VERTEXAI + endpoint: + type: string + example: https://api.openai.com/v1/chat/completions + description: The endpoint that is used to run model inferencing. + maxLength: 16384 + x-immutable: true + auth_data: + type: object + description: > + The vendor specific authentication token details + + + The contents are stored as opaque bytes given in plaintext by an + EnvAdmin. + + In future, we would support more secure methods for distributing + authentication tokens. + discriminator: + propertyName: kind + mapping: + PlaintextProvider: '#/components/schemas/sql.v1.PlaintextProvider' + x-immutable: false + properties: + kind: + description: | + Plaintext Provider Kind Type + type: string + enum: + - PlaintextProvider + x-immutable: true + data: + description: > + Authentication token in plaintext JSON string. + + For composite tokens, provide them as JSON. + + This is sensitive piece of information stored as opaque bytes in + an encrypted form with single level of encryption. + + + Scoped to an endpoint of a `Connection` resource. + type: string + format: byte + x-enable-listmeta: true + x-enable-objectmeta: true + sql.v1.ConnectionStatus: + type: object + required: + - phase + description: The status of the Connection + properties: + phase: + type: string + x-extensible-enum: + - ACTIVE + - UNREACHABLE + - INVALID_AUTH + description: | + Describes the status of the connection: + + READY: The Connection is usable; + + UNREACHABLE: The Connection endpoint is unreachable; + + INVALID_AUTH: The Connection auth token is invalid; + example: READY + readOnly: true + detail: + type: string + description: Details about why connection transitioned into a given status. + example: 'Lookup failed: ai.openai.com' + readOnly: true + readOnly: true + ResultListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time + type: string + example: >- + https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements + next: + description: A URL that can be followed to get the next batch of results. + type: string + example: >- + https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + sql.v1.StatementResultResults: + type: object + description: >- + A results property that contains a data property that contains an array + of results. + properties: + data: + type: array + description: > + A data property that contains an array of results. Each entry in the + array is a separate result. - Make a request to create a Connection. - parameters: - - in: path - name: organization_id - schema: - type: string - format: uuid - required: true - description: The unique identifier for the organization. - - in: path - name: environment_id - required: true - schema: - type: string - description: The unique identifier for the environment. - tags: - - Connections (sql/v1) - security: - - resource-api-key: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/sql.v1.Connection' - - type: object - required: - - spec - - name - properties: - spec: - type: object - required: - - endpoint - - connection_type - - auth_data - responses: - '201': - description: A Connection has been successfully created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - Location: - schema: - type: string - format: uri - example: 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{name}' - description: Connection resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/sql.v1.Connection' - - type: object - required: - - spec - properties: - spec: - type: object - required: - - endpoint - - connection_type - - auth_data - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"name":"my-openai-connection","spec":{"connection_type":"OPENAI","endpoint":"https://api.openai.com/v1/chat/completions","auth_data":{"kind":"PlaintextProvider","data":"string"}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"name\":\"my-openai-connection\",\"spec\":{\"connection_type\":\"OPENAI\",\"endpoint\":\"https://api.openai.com/v1/chat/completions\",\"auth_data\":{\"kind\":\"PlaintextProvider\",\"data\":\"string\"}}}"); - Request request = new Request.Builder() - .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"my-openai-connection\\\",\\\"spec\\\":{\\\"connection_type\\\":\\\"OPENAI\\\",\\\"endpoint\\\":\\\"https://api.openai.com/v1/chat/completions\\\",\\\"auth_data\\\":{\\\"kind\\\":\\\"PlaintextProvider\\\",\\\"data\\\":\\\"string\\\"}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") - - payload = "{\"name\":\"my-openai-connection\",\"spec\":{\"connection_type\":\"OPENAI\",\"endpoint\":\"https://api.openai.com/v1/chat/completions\",\"auth_data\":{\"kind\":\"PlaintextProvider\",\"data\":\"string\"}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "flink.region.provider.confluent.cloud", - "port": null, - "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - name: 'my-openai-connection', - spec: { - connection_type: 'OPENAI', - endpoint: 'https://api.openai.com/v1/chat/completions', - auth_data: {kind: 'PlaintextProvider', data: 'string'} - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"name\":\"my-openai-connection\",\"spec\":{\"connection_type\":\"OPENAI\",\"endpoint\":\"https://api.openai.com/v1/chat/completions\",\"auth_data\":{\"kind\":\"PlaintextProvider\",\"data\":\"string\"}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"name\":\"my-openai-connection\",\"spec\":{\"connection_type\":\"OPENAI\",\"endpoint\":\"https://api.openai.com/v1/chat/completions\",\"auth_data\":{\"kind\":\"PlaintextProvider\",\"data\":\"string\"}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}': - get: - x-request-access-name: SQL API v1 - operationId: getSqlv1Connection - summary: Read a Connection - description: |- - [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) - Make a request to read a Connection. - parameters: - - in: path - name: organization_id - schema: - type: string - format: uuid - required: true - description: The unique identifier for the organization. - - in: path - name: environment_id - required: true - schema: + The value of `op` attribute (if present) represents the kind of + change that a row can describe in a changelog: + + + `0`: represents `INSERT` (`+I`), i.e. insertion operation; + + + `1`: represents `UPDATE_BEFORE` (`-U`), i.e. update operation with + the previous content of the updated row. + + This kind should occur together with `UPDATE_AFTER` for modelling an + update that needs to retract + + the previous row first. It is useful in cases of a non-idempotent + update, i.e., an update of a row that is not + + uniquely identifiable by a key; + + + `2`: represents `UPDATE_AFTER` (`+U`), i.e. update operation with + new content of the updated row; + + This kind CAN occur together with `UPDATE_BEFORE` for modelling an + update that + + needs to retract the previous row first or it describes an + idempotent update, i.e., an + + update of a row that is uniquely identifiable by a key; + + + `3`: represents `DELETE` (`-D`), i.e. deletion operation; + + + Defaults to `0`. + items: {} + example: + - op: 0 + row: + - '101' + - Jay + - - null + - abc + - - null + - '456' + - 1990-01-12 12:00.12 + - - - null + - Alice + - - '42' + - Bob + StatementObjectMeta: + description: The metadata of the statement. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time + type: string + format: uri + example: >- + https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements/my-statement + created_at: + type: string + format: date-time + example: '1996-03-19T01:02:03-04:05' + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2025-11-10T16:20:00Z' + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + uid: + type: string + example: 12345678-1234-1234-1234-123456789012 + description: A system generated globally unique identifier for this resource. + resource_version: + type: string + example: a23av + description: >- + A system generated string that uniquely identifies the version of + this resource. + labels: + type: object + description: A map of key-value pairs that describe the resource. + additionalProperties: type: string - description: The unique identifier for the environment. - - name: connection_name - in: path - required: true - schema: + example: + user.confluent.io/hidden: 'true' + readOnly: true + type: object + sql.v1.StatementSpec: + type: object + description: The specs of the Statement + properties: + statement: + type: string + example: SELECT * FROM TABLE WHERE VALUE1 = VALUE2; + description: The raw SQL text statement. + x-immutable: true + maxLength: 131072 + properties: + type: object + example: + sql.current-catalog: my_environment + sql.current-database: my_kafka_cluster + description: A map (key-value pairs) of statement properties. + additionalProperties: type: string - description: The user provided name of the Connection. Unique within a region within an org and env. - tags: - - Connections (sql/v1) - security: - - resource-api-key: [] - responses: - '200': - description: Connection. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/sql.v1.Connection' - - type: object - required: - - api_version - - kind - - metadata - - spec - properties: - spec: - type: object - required: - - connection_type - - endpoint - - auth_data - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "flink.region.provider.confluent.cloud", - "port": null, - "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - delete: - x-request-access-name: SQL API v1 - operationId: deleteSqlv1Connection - summary: Delete a Connection - description: |- - [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) + maxProperties: 8192 + compute_pool_id: + type: string + example: fcp-00000 + description: >- + The id associated with the compute pool in context. + + If not specified, the statement will use the default compute pool. + The default pool is automatically determined by the system. + maxLength: 255 + principal: + type: string + example: sa-abc123 + description: The id of a principal this statement runs as. + maxLength: 255 + x-immutable: true + stopped: + type: boolean + description: Indicates whether the statement should be stopped. + example: false + execution_mode: + type: string + example: streaming + description: > + The execution mode of the statement. + + + Note - The attribute is in a [Early Access + lifecycle](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + maxLength: 255 + readOnly: true + x-enable-listmeta: true + x-enable-objectmeta: true + sql.v1.StatementStatus: + type: object + required: + - phase + description: The status of the Statement + properties: + phase: + type: string + x-extensible-enum: + - PENDING + - RUNNING + - COMPLETED + - DELETING + - FAILING + - FAILED + - STOPPING + - STOPPED + - DEGRADED + description: > + The lifecycle phase of the submitted SQL statement: - Make a request to delete a statement. - parameters: - - in: path - name: organization_id - schema: - type: string - format: uuid - required: true - description: The unique identifier for the organization. - - in: path - name: environment_id - required: true - schema: - type: string - description: The unique identifier for the environment. - - name: connection_name - in: path - required: true - schema: - type: string - description: The unique identifier for the connection. - tags: - - Connections (sql/v1) - security: - - resource-api-key: [] - responses: - '200': - description: A Connection has been deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "flink.region.provider.confluent.cloud", - "port": null, - "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - put: - x-request-access-name: SQL API v1 - operationId: updateSqlv1Connection - summary: Update a Connection - description: |- - [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) - Make a request to update a connection. - parameters: - - in: path - name: organization_id - schema: - type: string - format: uuid - required: true - description: The unique identifier for the organization. - - in: path - name: environment_id - required: true - schema: - type: string - description: The unique identifier for the environment. - - name: connection_name - in: path - required: true - schema: + PENDING: SQL statement is pending execution; + + + RUNNING: SQL statement execution is in progress; + + + COMPLETED: SQL statement is completed; + + + DELETING: SQL statement deletion is in progress; + + + FAILING: SQL statement is failing; + + + FAILED: SQL statement execution has failed; + + + STOPPING: SQL statement is being stopped; + + + STOPPED: SQL statement execution has successfully been stopped; + + + DEGRADED: SQL statement is experiencing reduced performance or + partial failure; + example: RUNNING + readOnly: true + scaling_status: + $ref: '#/components/schemas/sql.v1.ScalingStatus' + state_limit_status: + $ref: '#/components/schemas/sql.v1.StateLimitStatus' + detail: + type: string + description: Details about the execution status of this statement. + example: Statement is running successfully + readOnly: true + warnings: + type: array + description: List of warnings encountered during statement execution. + items: + $ref: '#/components/schemas/sql.v1.StatementWarning' + readOnly: true + traits: + $ref: '#/components/schemas/sql.v1.StatementTraits' + network_kind: + type: string + x-extensible-enum: + - PUBLIC + - PRIVATE + description: | + The networking type used by the submitted SQL statement: + + PUBLIC: SQL statement is using public networking; + + PRIVATE: SQL statement is using private networking; + example: PUBLIC + readOnly: true + latest_offsets: + type: object + additionalProperties: type: string - description: The unique identifier for the connection. - tags: - - Connections (sql/v1) - security: - - resource-api-key: [] - responses: - '200': - description: A Connection has been updated. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/sql.v1.Connection' - - type: object - required: - - spec - - name - - metadata - properties: - spec: - type: object - required: - - auth_data - metadata: - type: object - required: - - resource_version - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"name":"my-openai-connection","spec":{"connection_type":"OPENAI","endpoint":"https://api.openai.com/v1/chat/completions","auth_data":{"kind":"PlaintextProvider","data":"string"}},"metadata":{}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"name\":\"my-openai-connection\",\"spec\":{\"connection_type\":\"OPENAI\",\"endpoint\":\"https://api.openai.com/v1/chat/completions\",\"auth_data\":{\"kind\":\"PlaintextProvider\",\"data\":\"string\"}},\"metadata\":{}}"); - Request request = new Request.Builder() - .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}") - .put(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"my-openai-connection\\\",\\\"spec\\\":{\\\"connection_type\\\":\\\"OPENAI\\\",\\\"endpoint\\\":\\\"https://api.openai.com/v1/chat/completions\\\",\\\"auth_data\\\":{\\\"kind\\\":\\\"PlaintextProvider\\\",\\\"data\\\":\\\"string\\\"}},\\\"metadata\\\":{}}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") - - payload = "{\"name\":\"my-openai-connection\",\"spec\":{\"connection_type\":\"OPENAI\",\"endpoint\":\"https://api.openai.com/v1/chat/completions\",\"auth_data\":{\"kind\":\"PlaintextProvider\",\"data\":\"string\"}},\"metadata\":{}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PUT", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "flink.region.provider.confluent.cloud", - "port": null, - "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - name: 'my-openai-connection', - spec: { - connection_type: 'OPENAI', - endpoint: 'https://api.openai.com/v1/chat/completions', - auth_data: {kind: 'PlaintextProvider', data: 'string'} - }, - metadata: {} - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"name\":\"my-openai-connection\",\"spec\":{\"connection_type\":\"OPENAI\",\"endpoint\":\"https://api.openai.com/v1/chat/completions\",\"auth_data\":{\"kind\":\"PlaintextProvider\",\"data\":\"string\"}},\"metadata\":{}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/connections/{connection_name}"); - var request = new RestRequest(Method.PUT); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"name\":\"my-openai-connection\",\"spec\":{\"connection_type\":\"OPENAI\",\"endpoint\":\"https://api.openai.com/v1/chat/completions\",\"auth_data\":{\"kind\":\"PlaintextProvider\",\"data\":\"string\"}},\"metadata\":{}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{name}/results': - get: - x-request-access-name: SQL API v1 - operationId: getSqlv1StatementResult - summary: Read Statement Result - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + description: > + The last Kafka offsets that a statement has processed. Represented + by a mapping from Kafka topic to a + + string representation of partitions mapped to offsets. + example: + topic-1: partition:0,offset:100;partition:1,offset:200 + topic-2: partition:0,offset:50 + readOnly: true + latest_offsets_timestamp: + type: string + format: date-time + example: '2025-11-10T16:20:00Z' + description: >- + The date and time at which the Kafka topic offsets were added to the + statement status. It is represented in RFC3339 format and is in UTC. + readOnly: true + end_time: + type: string + format: date-time + example: '2025-03-19T01:02:03-04:05' + description: > + The date and time in UTC (represented as RFC3339 format) at which + the statement reached its final terminal state. + + This field is set when the Phase is COMPLETED, FAILED, or STOPPED. + + + Note - The attribute is in a [Early Access + lifecycle](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + duration: + type: string + format: duration + example: PT2H30M + description: > + The total elapsed time (represented as ISO 8601 format) from when + the statement transitioned from + + PENDING to RUNNING until it reached a final terminal state. This + field is calculated and set when + + the Phase is COMPLETED, FAILED, or STOPPED. + + + Note - The attribute is in a [Early Access + lifecycle](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + affected_resource: + type: object + description: > + A reference to the resource created by this statement, if any. This + field is set when a statement + + (e.g., CREATE MATERIALIZED TABLE) results in a new user-facing + resource. + + + Note - The attribute is in a [Early Access + lifecycle](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy) + required: + - kind + - environment_id + - resource_name + properties: + kind: + type: string + x-extensible-enum: + - MATERIALIZED_TABLE + description: The kind of resource that was created. + example: MATERIALIZED_TABLE + environment_id: + type: string + description: >- + The unique identifier for the environment containing the + resource. + example: env-abc + database_id: + type: string + description: | + The unique identifier for the database containing the resource. + Only present for resource kinds that are scoped to a database. + example: lkc-123 + resource_name: + type: string + description: The name of the created resource, unique within its scope. + example: my-materialized-table + readOnly: true + JsonPatchRequestAddReplace: + type: object + description: This option is used to add or replace a value for a field + additionalProperties: false + required: + - value + - op + - path + properties: + path: + description: A JSON Pointer path. + type: string + value: + description: The value to add, replace or test. + op: + description: The operation to perform. + type: string + enum: + - ADD + - REPLACE + - TEST + JsonPatchRequestRemove: + type: object + description: This option is used to remove a field + additionalProperties: false + required: + - op + - path + properties: + path: + description: A JSON Pointer path. + type: string + op: + description: The operation to perform. + type: string + enum: + - REMOVE + JsonPatchRequestMoveCopy: + type: object + description: This option is used to move or copy a field + additionalProperties: false + required: + - from + - op + - path + properties: + path: + description: A JSON Pointer path. + type: string + op: + description: The operation to perform. + type: string + enum: + - MOVE + - COPY + from: + description: A JSON Pointer path. + type: string + ExceptionListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time + type: string + example: >- + https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements/sql123/exceptions + sql.v1.StatementException: + type: object + properties: + kind: + type: string + description: Kind defines the object this REST resource represents. + enum: + - StatementException + name: + type: string + description: Name of the SQL statement exception. + example: java.lang.RuntimeException + readOnly: true + message: + type: string + description: Error message of the statement exception. + example: 'java.lang.RuntimeException: An error occurred' + readOnly: true + timestamp: + type: string + format: date-time + example: '2025-11-10T16:20:00Z' + description: >- + The date and time at which the exception occurred. It is represented + in RFC3339 format and is in UTC. + readOnly: true + x-enable-objectmeta: true + sql.v1.MaterializedTableSpec: + type: object + description: The specifications of the Materialized Table. + properties: + kafka_cluster_id: + type: string + description: >- + The ID of the Kafka cluster hosting the Materialized Table's topic. - Read Statement Result. - parameters: - - in: path - name: organization_id - schema: - type: string - format: uuid - required: true - description: The unique identifier for the organization. - - in: path - name: environment_id - required: true - schema: - type: string - description: The unique identifier for the environment. - - name: name - in: path - required: true - schema: - type: string - description: The unique identifier for the statement. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: 'It contains the field offset in the CollectSinkFunction protocol. On the first request, it should be unset. The offset is assumed to start at 0.' - tags: - - Statement Results (sql/v1) - security: - - resource-api-key: [] - responses: - '200': - description: Statement Result. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/sql.v1.StatementResult' - - type: object - required: - - api_version - - kind - - metadata - - results - properties: - results: - type: object - required: - - data - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{name}/results' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{name}/results") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{name}/results\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{name}/results", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "flink.region.provider.confluent.cloud", - "port": null, - "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{name}/results", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{name}/results"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{name}/results"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements': - get: - x-request-access-name: SQL API v1 - operationId: listSqlv1Statements - summary: List of Statements - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + This value must match the `kafka_cluster_id` path parameter. - Retrieve a sorted, filtered, paginated list of all statements. - parameters: - - in: path - name: organization_id - schema: - type: string - format: uuid - required: true - description: The unique identifier for the organization. - - in: path - name: environment_id - required: true - schema: + It is immutable after creation and is ignored or rejected on update + if changed. + example: lkc-12345 + x-immutable: true + compute_pool_id: + type: string + description: >- + The id associated with the compute pool in context. + + If not specified, the materialized table will use the default + compute pool. The default pool is automatically determined by the + system. + example: lfcp-123 + principal: + type: string + description: The id of a principal this Materialized Table query runs as. + example: sa-abc123 + maxLength: 255 + stopped: + type: boolean + description: Indicates whether the Materialized Table query should be stopped. + example: false + table_options: + type: object + description: >- + Defines configuration properties for the table, equivalent to the + SQL 'WITH' clause + additionalProperties: type: string - description: The unique identifier for the environment. - - name: spec.compute_pool_id - in: query - required: false - schema: + maxProperties: 8192 + session_options: + type: object + description: >- + Session configurations equivalent to the SQL 'SET' statement. Only + applicable on creation; ignored on update. + additionalProperties: type: string - example: lfcp-00000 - description: Filter the results by exact match for spec.compute_pool. - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: + maxProperties: 8192 + x-immutable: true + columns: + type: array + description: >- + Details of each column in Materialized Table resource. If columns + are not specified, we infer from query. If it's specified it must be + compatible with the types in the query. + items: + $ref: '#/components/schemas/sql.v1.ColumnDetails' + watermark: + $ref: '#/components/schemas/sql.v1.Watermark' + constraints: + type: array + description: Specify table constraints. + items: + $ref: '#/components/schemas/sql.v1.Constraint' + distribution: + description: Only applicable on creation; ignored on update. + x-immutable: true + type: object + properties: + kind: + type: string + x-extensible-enum: + - HASH + description: The kind of distribution. + example: HASH + keys: + type: array + items: + type: string + example: + - user_id + bucket_count: + type: integer + format: int32 + minimum: 1 + default: 6 + description: The number of buckets. + example: 12 + query: + type: string + description: >- + Contains the query section (usually starting with a SELECT) of the + latest Materialized Table. + example: >- + SELECT user_id, product_id, price, quantity FROM orders WHERE price + > 1000; + maxLength: 131072 + sql.v1.MaterializedTableStatus: + type: object + description: The status of the Materialized Table. + properties: + phase: + type: string + x-extensible-enum: + - PENDING + - RUNNING + - COMPLETED + - DELETING + - FAILING + - FAILED + - CREATING + - ALTERING + - DEGRADED + - STOPPING + - STOPPED + description: The lifecycle phase of the materialized table. + example: RUNNING + detail: + type: string + description: Optional. Human-readable description of phase. + example: Materialized table is running. + warnings: + type: array + description: List of warnings encountered during materialized table execution. + items: + $ref: '#/components/schemas/sql.v1.MaterializedTableWarning' + creation_statement: + type: string + description: >- + Entire Materialized Table statement as submitted by user e.g CREATE + OR ALTER MATERIALIZED TABLE ... + example: >- + CREATE OR ALTER MATERIALIZED TABLE high-value-orders AS SELECT + user_id, product_id, price, quantity FROM orders WHERE price > 1000; + scaling_status: + $ref: '#/components/schemas/sql.v1.ScalingStatus' + version: + type: integer + format: int32 + minimum: 1 + description: >- + Represents the evolution history of the Materialized Table. The + current value indicates the latest version. + example: 3 + latest_version: + type: integer + format: int32 + minimum: 1 + description: >- + Represents the latest submitted version of the Materialized Table. + When a query evolution is accepted, `latest_version` is incremented + immediately and will be greater than `version` until the new query + is fully activated. + example: 4 + sql.v1.MaterializedTableVersionSpec: + type: object + description: The specifications of the Materialized Table Version. + required: + - version + - statement + properties: + version: + type: integer + format: int32 + minimum: 1 + description: The version number of the Materialized Table. + example: 4 + readOnly: true + statement: + type: string + description: > + The full SQL statement for the materialized table as generated by + SHOW CREATE MATERIALIZED TABLE at the time of the evolution. + example: >- + CREATE OR ALTER MATERIALIZED TABLE orders AS SELECT user_id, + product_id, price FROM orders; + readOnly: true + maxLength: 131072 + changes: + type: array + description: Changes affecting resources since the previous version. + items: + $ref: '#/components/schemas/sql.v1.ResourceChange' + readOnly: true + sql.v1.AgentSpec: + type: object + description: The specifications of the Agent. + properties: + description: + type: string + example: An agent that listens to chat messages and creates issues + description: The description of the agent. + model: + type: string + example: chat_listener + description: The name of the model the agent uses for inferencing. + prompt: + type: string + example: >- + Create an issue from the content using + bebb0fa3-e084-412d-a000-b02280558318 as the team ID + description: The instruction prompt that guides the agent's behavior. + maxLength: 65536 + tools: + type: array + description: The list of tools available to the agent. + items: type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - - name: label_selector - in: query - required: false - schema: + example: + - linear-mcp-tool + properties: + type: object + description: A set of key-value option pairs that configure the agent's behavior. + additionalProperties: type: string - style: form - explode: false - description: A comma-separated label selector to filter the statements. - tags: - - Statements (sql/v1) - security: - - resource-api-key: [] - responses: - '200': - description: Statements. - content: - application/json: - schema: - $ref: '#/components/schemas/sql.v1.StatementList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "flink.region.provider.confluent.cloud", - "port": null, - "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - x-request-access-name: SQL API v1 - operationId: createSqlv1Statement - summary: Create a Statement - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + example: + max_iterations: '5' + sql.v1.AgentStatus: + type: object + description: The status of the Agent. + properties: + phase: + type: string + x-extensible-enum: + - READY + - RUNNING + description: | + Describes the status of the agent: + + READY: The Agent is created; + + RUNNING: The Agent is created and running in a query; + example: RUNNING + sql.v1.ToolSpec: + type: object + description: >- + The spec of the Tool. A tool must reference either a `connection` (for + MCP or A2A tools) + + or a `function` (for function-based tools), but not both. + properties: + connection: + type: string + example: linear-mcp-connection-streamable + description: >- + The name of the connection this tool uses. Required for MCP and A2A + tools. Mutually exclusive with function. + function: + type: string + example: convert_to_celsius + description: >- + The name of the function this tool wraps. Required for + function-based tools. Mutually exclusive with connection. + comment: + type: string + description: An optional comment describing the tool. + maxLength: 4096 + options: + type: object + description: >- + A set of key-value option pairs that configure the tool's behavior. - Make a request to create a statement. - parameters: - - in: path - name: organization_id - schema: - type: string - format: uuid - required: true - description: The unique identifier for the organization. - - in: path - name: environment_id - required: true - schema: + Supported options vary by tool type: + + - MCP tools: type, allowed_tools, request_timeout, max_retries, + headers + + - A2A tools: type, agent_card_path, request_timeout, max_retries + + - Function tools: type, description + additionalProperties: type: string - description: The unique identifier for the environment. - tags: - - Statements (sql/v1) - security: - - resource-api-key: [] - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/sql.v1.Statement' - - type: object - required: - - spec - - name - properties: - spec: - type: object - required: - - statement - - compute_pool_id - responses: - '201': - description: A Statement is being created. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - Location: - schema: - type: string - format: uri - example: 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{name}' - description: Statement resource uri - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/sql.v1.Statement' - - type: object - required: - - spec - - status - properties: - spec: - type: object - required: - - statement_name - - statement - - compute_pool_id - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"name":"sql123","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","environment_id":"string","spec":{"statement":"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;","properties":{"sql.current-catalog":"my_environment","sql.current-database":"my_kafka_cluster"},"compute_pool_id":"fcp-00000","principal":"sa-abc123","stopped":false},"result":{"api_version":"sql/v1","kind":"StatementResult","metadata":{"self":"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements","next":"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb"},"results":{"data":[{"op":0,"row":["101","Jay",[null,"abc"],[null,"456"],"1990-01-12 12:00.12",[[null,"Alice"],["42","Bob"]]]}]}}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"name\":\"sql123\",\"organization_id\":\"7c60d51f-b44e-4682-87d6-449835ea4de6\",\"environment_id\":\"string\",\"spec\":{\"statement\":\"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;\",\"properties\":{\"sql.current-catalog\":\"my_environment\",\"sql.current-database\":\"my_kafka_cluster\"},\"compute_pool_id\":\"fcp-00000\",\"principal\":\"sa-abc123\",\"stopped\":false},\"result\":{\"api_version\":\"sql/v1\",\"kind\":\"StatementResult\",\"metadata\":{\"self\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements\",\"next\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb\"},\"results\":{\"data\":[{\"op\":0,\"row\":[\"101\",\"Jay\",[null,\"abc\"],[null,\"456\"],\"1990-01-12 12:00.12\",[[null,\"Alice\"],[\"42\",\"Bob\"]]]}]}}}"); - Request request = new Request.Builder() - .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"sql123\\\",\\\"organization_id\\\":\\\"7c60d51f-b44e-4682-87d6-449835ea4de6\\\",\\\"environment_id\\\":\\\"string\\\",\\\"spec\\\":{\\\"statement\\\":\\\"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;\\\",\\\"properties\\\":{\\\"sql.current-catalog\\\":\\\"my_environment\\\",\\\"sql.current-database\\\":\\\"my_kafka_cluster\\\"},\\\"compute_pool_id\\\":\\\"fcp-00000\\\",\\\"principal\\\":\\\"sa-abc123\\\",\\\"stopped\\\":false},\\\"result\\\":{\\\"api_version\\\":\\\"sql/v1\\\",\\\"kind\\\":\\\"StatementResult\\\",\\\"metadata\\\":{\\\"self\\\":\\\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements\\\",\\\"next\\\":\\\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb\\\"},\\\"results\\\":{\\\"data\\\":[{\\\"op\\\":0,\\\"row\\\":[\\\"101\\\",\\\"Jay\\\",[null,\\\"abc\\\"],[null,\\\"456\\\"],\\\"1990-01-12 12:00.12\\\",[[null,\\\"Alice\\\"],[\\\"42\\\",\\\"Bob\\\"]]]}]}}}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") - - payload = "{\"name\":\"sql123\",\"organization_id\":\"7c60d51f-b44e-4682-87d6-449835ea4de6\",\"environment_id\":\"string\",\"spec\":{\"statement\":\"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;\",\"properties\":{\"sql.current-catalog\":\"my_environment\",\"sql.current-database\":\"my_kafka_cluster\"},\"compute_pool_id\":\"fcp-00000\",\"principal\":\"sa-abc123\",\"stopped\":false},\"result\":{\"api_version\":\"sql/v1\",\"kind\":\"StatementResult\",\"metadata\":{\"self\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements\",\"next\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb\"},\"results\":{\"data\":[{\"op\":0,\"row\":[\"101\",\"Jay\",[null,\"abc\"],[null,\"456\"],\"1990-01-12 12:00.12\",[[null,\"Alice\"],[\"42\",\"Bob\"]]]}]}}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "flink.region.provider.confluent.cloud", - "port": null, - "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - name: 'sql123', - organization_id: '7c60d51f-b44e-4682-87d6-449835ea4de6', - environment_id: 'string', - spec: { - statement: 'SELECT * FROM TABLE WHERE VALUE1 = VALUE2;', - properties: { - 'sql.current-catalog': 'my_environment', - 'sql.current-database': 'my_kafka_cluster' - }, - compute_pool_id: 'fcp-00000', - principal: 'sa-abc123', - stopped: false - }, - result: { - api_version: 'sql/v1', - kind: 'StatementResult', - metadata: { - self: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements', - next: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb' - }, - results: { - data: [ - { - op: 0, - row: [ - '101', - 'Jay', - [null, 'abc'], - [null, '456'], - '1990-01-12 12:00.12', - [[null, 'Alice'], ['42', 'Bob']] - ] - } - ] - } - } - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"name\":\"sql123\",\"organization_id\":\"7c60d51f-b44e-4682-87d6-449835ea4de6\",\"environment_id\":\"string\",\"spec\":{\"statement\":\"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;\",\"properties\":{\"sql.current-catalog\":\"my_environment\",\"sql.current-database\":\"my_kafka_cluster\"},\"compute_pool_id\":\"fcp-00000\",\"principal\":\"sa-abc123\",\"stopped\":false},\"result\":{\"api_version\":\"sql/v1\",\"kind\":\"StatementResult\",\"metadata\":{\"self\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements\",\"next\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb\"},\"results\":{\"data\":[{\"op\":0,\"row\":[\"101\",\"Jay\",[null,\"abc\"],[null,\"456\"],\"1990-01-12 12:00.12\",[[null,\"Alice\"],[\"42\",\"Bob\"]]]}]}}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"name\":\"sql123\",\"organization_id\":\"7c60d51f-b44e-4682-87d6-449835ea4de6\",\"environment_id\":\"string\",\"spec\":{\"statement\":\"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;\",\"properties\":{\"sql.current-catalog\":\"my_environment\",\"sql.current-database\":\"my_kafka_cluster\"},\"compute_pool_id\":\"fcp-00000\",\"principal\":\"sa-abc123\",\"stopped\":false},\"result\":{\"api_version\":\"sql/v1\",\"kind\":\"StatementResult\",\"metadata\":{\"self\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements\",\"next\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb\"},\"results\":{\"data\":[{\"op\":0,\"row\":[\"101\",\"Jay\",[null,\"abc\"],[null,\"456\"],\"1990-01-12 12:00.12\",[[null,\"Alice\"],[\"42\",\"Bob\"]]]}]}}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}': - get: - x-request-access-name: SQL API v1 - operationId: getSqlv1Statement - summary: Read a Statement - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + example: + type: mcp + allowed_tools: create_issue, list_issues + request_timeout: '30' + x-enable-listmeta: true + x-enable-objectmeta: true + sql.v1.ToolStatus: + type: object + required: + - phase + description: The status of the Tool + properties: + phase: + type: string + x-extensible-enum: + - ACTIVE + - INACTIVE + - ERROR + description: | + Describes the status of the tool: - Make a request to read a statement. - parameters: - - in: path - name: organization_id - schema: + ACTIVE: The Tool is usable; + + INACTIVE: The Tool is not currently active; + + ERROR: The Tool encountered an error; + example: ACTIVE + readOnly: true + detail: + type: string + description: Details about why the tool transitioned into a given status. + example: Tool is ready + readOnly: true + readOnly: true + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. + type: string + code: + description: An application-specific error code, expressed as a string value. + type: string + title: + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. + type: string + detail: + description: >- + A human-readable explanation specific to this occurrence of the + problem. + type: string + source: + type: object + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. + properties: + pointer: + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + sql.v1.PlaintextProvider: + type: object + description: > + Describes a sensitive piece of information passed in plaintext. + + + Confluent only accepts authentication tokens of supported model + providers from OrgAdmins and EnvAdmins. + + For now, only 'PlainText' provider is supported. It stores + authentication token details as opaque bytes in an encrypted form. + + This option offers limited security as it only provides a single level + of encryption. + properties: + kind: + description: | + Plaintext Provider Kind Type + type: string + enum: + - PlaintextProvider + x-immutable: true + data: + description: > + Authentication token in plaintext JSON string. + + For composite tokens, provide them as JSON. + + This is sensitive piece of information stored as opaque bytes in an + encrypted form with single level of encryption. + + + Scoped to an endpoint of a `Connection` resource. + type: string + format: byte + sql.v1.ScalingStatus: + description: Scaling status for this statement. + type: object + properties: + scaling_state: + description: > + OK: The statement runs at the right scale. + + + PENDING_SCALE_DOWN: The statement requires less resources, and will + be scaled down in the near future. + + + PENDING_SCALE_UP: The statement requires more resources, and will be + scaled up in the near future. + + + POOL_EXHAUSTED: The statement requires more resources, but not + enough resources are available. + example: OK + readOnly: true + type: string + x-extensible-enum: + - OK + - PENDING_SCALE_DOWN + - PENDING_SCALE_UP + - POOL_EXHAUSTED + last_updated: + description: The last time the scaling status was updated. + example: '1996-03-19T05:07:03.000Z' + format: date-time + readOnly: true + type: string + readOnly: true + sql.v1.StateLimitStatus: + description: State limit status for this statement. + properties: + state_limit_state: + description: > + OK: The statement is within state limits. + + + APPROACHING_SOFT_LIMIT: The statement is approaching soft state + limits. + + + EXCEEDING_SOFT_LIMIT: The statement is exceeding soft state limits. + + + APPROACHING_HARD_LIMIT: The statement is approaching hard state + limits. + + + EXCEEDING_HARD_LIMIT: The statement is exceeding hard state limits. + example: OK + readOnly: true + type: string + x-extensible-enum: + - OK + - APPROACHING_SOFT_LIMIT + - EXCEEDING_SOFT_LIMIT + - APPROACHING_HARD_LIMIT + - EXCEEDING_HARD_LIMIT + last_updated: + description: The last time the state limit status was updated. + example: '1996-03-19T05:07:03.000Z' + format: date-time + readOnly: true + type: string + detail: + description: Details about why state limit status is in its current state. + example: The statement is within state limits. + type: string + readOnly: true + readOnly: true + type: object + sql.v1.StatementWarning: + type: object + description: Represents a non-fatal issue encountered during statement processing. + required: + - severity + - created_at + - reason + - message + properties: + severity: + $ref: '#/components/schemas/sql.v1.WarningSeverity' + created_at: + type: string + format: date-time + description: >- + The timestamp when the warning was created. It is represented in + RFC3339 format and is in UTC. + example: '2025-11-10T16:20:00Z' + readOnly: true + reason: + type: string + description: >- + A machine-readable short, upper case summary delimited by + underscore. + example: MISSING_WINDOW_START_END + message: + type: string + description: A human-readable string containing the description of the warning. + example: >- + The statement is missing window start and end bounds which may lead + to unbounded state growth. + sql.v1.StatementTraits: + type: object + description: >- + StatementTraits contains detailed information about the properties of a + Statement + properties: + sql_kind: + type: string + description: >- + Categorizes the SQL statement. The result is Confluent-specific but + inspired by SQL. It uses underscores for separating concepts e.g. + "CREATE_TABLE". + example: SELECT + is_bounded: + type: boolean + description: Indicates the special case where results of a statement are bounded. + is_append_only: + type: boolean + description: >- + Indicates the special case where results of a statement are + insert/append only. + upsert_columns: + type: array + description: Defines the column indices clients can use as upsert keys. + items: + type: integer + schema: + $ref: '#/components/schemas/sql.v1.ResultSchema' + connection_refs: + type: array + description: >- + The names of connections that the SQL statement references (e.g., in + FROM clauses). + items: + type: string + example: + - my-postgres-connection + - my-kafka-connection + readOnly: true + sql.v1.ColumnDetails: + type: object + description: Details of a column in the Materialized Table. + discriminator: + propertyName: kind + mapping: + Physical: '#/components/schemas/sql.v1.PhysicalColumn' + Metadata: '#/components/schemas/sql.v1.MetadataColumn' + Computed: '#/components/schemas/sql.v1.ComputedColumn' + required: + - name + - type + - kind + - metadata_key + - expression + properties: + name: + type: string + description: The name of the column. + type: + $ref: '#/components/schemas/DataType' + comment: + type: string + description: A comment or description for the column. + kind: + type: string + description: The kind of column. + enum: + - Physical + example: Physical + metadata_key: + type: string + description: The system metadata key to reference. + example: offset + virtual: + type: boolean + description: Indicates if the metadata column is virtual. + default: false + example: true + expression: + type: string + description: The SQL expression used to compute the column value. + example: quantity * price + sql.v1.Watermark: + type: object + description: Watermark strategy for the Materialized Table resource. + properties: + column: + type: string + example: event_timestamp + expression: + type: string + example: event_timestamp - INTERVAL '5' SECOND + sql.v1.Constraint: + type: object + description: A constraint on the materialized table. + properties: + name: + type: string + example: pk_orders + type: + type: string + x-extensible-enum: + - PRIMARY_KEY + description: The type of constraint. + example: PRIMARY_KEY + columns: + type: array + items: type: string - format: uuid - required: true - description: The unique identifier for the organization. - - in: path - name: environment_id - required: true - schema: + example: + - user_id + - product_id + enforced: + type: boolean + description: Whether the constraint is enforced. + default: false + sql.v1.Distribution: + type: object + description: Distribution (bucket by) strategy. + properties: + kind: + type: string + x-extensible-enum: + - HASH + description: The kind of distribution. + example: HASH + keys: + type: array + items: type: string - description: The unique identifier for the environment. - - name: statement_name - in: path - required: true - schema: + example: + - user_id + bucket_count: + type: integer + format: int32 + minimum: 1 + default: 6 + description: The number of buckets. + example: 12 + sql.v1.MaterializedTableWarning: + type: object + description: >- + Represents a non-fatal issue encountered during materialized table + processing. + required: + - severity + - created_at + - reason + - message + properties: + severity: + $ref: '#/components/schemas/sql.v1.WarningSeverity' + created_at: + type: string + format: date-time + description: >- + The timestamp when the warning was created. It is represented in + RFC3339 format and is in UTC. + example: '2025-11-10T16:20:00Z' + readOnly: true + reason: + type: string + description: >- + A machine-readable short, upper case summary delimited by + underscore. + example: MISSING_WINDOW_START_END + message: + type: string + description: A human-readable string containing the description of the warning. + example: >- + The statement is missing window start and end bounds which may lead + to unbounded state growth. + sql.v1.ResourceChange: + type: object + description: Details of a change to a specific resource. + required: + - kind + - environment_locator + - database_locator + - name + - details + properties: + kind: + type: string + x-extensible-enum: + - MATERIALIZED_TABLE + - TABLE + - VIEW + - FUNCTION + description: The type of resource that was changed. + example: MATERIALIZED_TABLE + environment_locator: + type: string + description: >- + The environment containing the resource. Can be either the + environment name or ID, depending on how it is referenced in the SQL + statement text. + example: env-abc + database_locator: + type: string + description: >- + The database containing the resource. Can be either the database + name or ID, depending on how it is referenced in the SQL statement + text. + example: lkc-123 + name: + type: string + description: >- + The name of the resource, unique within its scope (environment and + database). + example: orders + details: + type: array + description: Human-readable descriptions of the changes made to this resource. + items: type: string - description: The unique identifier for the statement. - tags: - - Statements (sql/v1) - security: - - resource-api-key: [] - responses: - '200': - description: Statement. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/sql.v1.Statement' - - type: object - required: - - api_version - - kind - - metadata - - spec - - status - properties: - spec: - type: object - required: - - statement_name - - statement - - compute_pool_id - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "flink.region.provider.confluent.cloud", - "port": null, - "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - delete: - x-request-access-name: SQL API v1 - operationId: deleteSqlv1Statement - summary: Delete a Statement - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + example: + - 'Column ''product_name: VARCHAR'' added' + - 'Column ''product_id: BIGINT'' added' + readOnly: true + sql.v1.WarningSeverity: + type: string + x-extensible-enum: + - LOW + - MODERATE + - CRITICAL + description: > + Indicates the severity of the warning. - Make a request to delete a statement. - parameters: - - in: path - name: organization_id + + LOW: Indicates a low severity warning and for informing the user. + + + MODERATE: Indicates a moderate severity warning and may require user + action. Could cause degraded statements if certain conditions apply. + + + CRITICAL: Indicates a critical severity warning and requires user + action. It will cause degraded statements eventually. + example: MODERATE + sql.v1.ResultSchema: + type: object + description: The table columns of the results schema. + properties: + columns: + type: array + description: The properties of each SQL column in the schema. + items: + $ref: '#/components/schemas/ColumnDetails' + sql.v1.PhysicalColumn: + description: >- + Physical columns define the structure of the table and the data types of + its fields. + type: object + required: + - name + - type + - kind + properties: + name: + type: string + description: The name of the column. + type: + $ref: '#/components/schemas/DataType' + comment: + type: string + description: A comment or description for the column. + kind: + type: string + description: The kind of column. + enum: + - Physical + example: Physical + sql.v1.MetadataColumn: + description: Metadata columns reference system properties. + type: object + required: + - name + - type + - kind + - metadata_key + properties: + name: + type: string + description: The name of the column. + type: + $ref: '#/components/schemas/DataType' + comment: + type: string + description: A comment or description for the column. + kind: + type: string + description: The kind of column. + enum: + - Metadata + example: Metadata + metadata_key: + type: string + description: The system metadata key to reference. + example: offset + virtual: + type: boolean + description: Indicates if the metadata column is virtual. + default: false + example: true + sql.v1.ComputedColumn: + description: Computed columns are generated via an expression. + type: object + required: + - name + - type + - kind + - expression + properties: + name: + type: string + description: The name of the column. + type: + $ref: '#/components/schemas/DataType' + comment: + type: string + description: A comment or description for the column. + kind: + type: string + description: The kind of column. + enum: + - Computed + example: Computed + expression: + type: string + description: The SQL expression used to compute the column value. + example: quantity * price + virtual: + type: boolean + description: Indicates if the computed column is virtual. + default: false + example: true + ColumnDetails: + type: object + description: A column in the results schema. + required: + - name + - type + properties: + name: + type: string + description: The name of the SQL table column. + example: Column_Name + type: + description: >- + JSON object in TableSchema format; describes the data returned by + the results serving API. + example: + type: CHAR + nullable: true + length: 8 + type: object + properties: + type: + type: string + description: The data type of the column. + nullable: + type: boolean + description: Indicates whether values in this column can be null. + length: + type: integer + format: int32 + description: The length of the data type. + precision: + type: integer + format: int32 + description: The precision of the data type. + scale: + type: integer + format: int32 + description: The scale of the data type. + key_type: + description: The type of the key in the data type (if applicable). + value_type: + description: The type of the value in the data type (if applicable). + element_type: + description: The type of the element in the data type (if applicable). + fields: + type: array + items: + $ref: '#/components/schemas/RowFieldType' + description: The fields of the element in the data type (if applicable). + resolution: + type: string + description: The resolution of the data type (if applicable). + fractional_precision: + type: integer + format: int32 + description: The fractional precision of the data type (if applicable). + class_name: + type: string + description: The class name of the structured data type (if applicable). + required: + - type + - nullable + sql.v1.ColumnCommon: + type: object + required: + - name + - type + properties: + name: + type: string + description: The name of the column. + type: + $ref: '#/components/schemas/DataType' + comment: + type: string + description: A comment or description for the column. + DataType: + type: object + properties: + type: + type: string + description: The data type of the column. + nullable: + type: boolean + description: Indicates whether values in this column can be null. + length: + type: integer + format: int32 + description: The length of the data type. + precision: + type: integer + format: int32 + description: The precision of the data type. + scale: + type: integer + format: int32 + description: The scale of the data type. + key_type: + description: The type of the key in the data type (if applicable). + type: object + properties: + type: + type: string + description: The data type of the column. + nullable: + type: boolean + description: Indicates whether values in this column can be null. + length: + type: integer + format: int32 + description: The length of the data type. + precision: + type: integer + format: int32 + description: The precision of the data type. + scale: + type: integer + format: int32 + description: The scale of the data type. + key_type: + description: The type of the key in the data type (if applicable). + value_type: + description: The type of the value in the data type (if applicable). + element_type: + description: The type of the element in the data type (if applicable). + fields: + type: array + items: + $ref: '#/components/schemas/RowFieldType' + description: The fields of the element in the data type (if applicable). + resolution: + type: string + description: The resolution of the data type (if applicable). + fractional_precision: + type: integer + format: int32 + description: The fractional precision of the data type (if applicable). + class_name: + type: string + description: The class name of the structured data type (if applicable). + required: + - type + - nullable + value_type: + description: The type of the value in the data type (if applicable). + type: object + properties: + type: + type: string + description: The data type of the column. + nullable: + type: boolean + description: Indicates whether values in this column can be null. + length: + type: integer + format: int32 + description: The length of the data type. + precision: + type: integer + format: int32 + description: The precision of the data type. + scale: + type: integer + format: int32 + description: The scale of the data type. + key_type: + description: The type of the key in the data type (if applicable). + type: object + properties: + type: + type: string + description: The data type of the column. + nullable: + type: boolean + description: Indicates whether values in this column can be null. + length: + type: integer + format: int32 + description: The length of the data type. + precision: + type: integer + format: int32 + description: The precision of the data type. + scale: + type: integer + format: int32 + description: The scale of the data type. + key_type: + description: The type of the key in the data type (if applicable). + value_type: + description: The type of the value in the data type (if applicable). + element_type: + description: The type of the element in the data type (if applicable). + fields: + type: array + items: + $ref: '#/components/schemas/RowFieldType' + description: The fields of the element in the data type (if applicable). + resolution: + type: string + description: The resolution of the data type (if applicable). + fractional_precision: + type: integer + format: int32 + description: The fractional precision of the data type (if applicable). + class_name: + type: string + description: The class name of the structured data type (if applicable). + required: + - type + - nullable + value_type: + description: The type of the value in the data type (if applicable). + element_type: + description: The type of the element in the data type (if applicable). + fields: + type: array + items: + $ref: '#/components/schemas/RowFieldType' + description: The fields of the element in the data type (if applicable). + resolution: + type: string + description: The resolution of the data type (if applicable). + fractional_precision: + type: integer + format: int32 + description: The fractional precision of the data type (if applicable). + class_name: + type: string + description: The class name of the structured data type (if applicable). + required: + - type + - nullable + element_type: + description: The type of the element in the data type (if applicable). + type: object + properties: + type: + type: string + description: The data type of the column. + nullable: + type: boolean + description: Indicates whether values in this column can be null. + length: + type: integer + format: int32 + description: The length of the data type. + precision: + type: integer + format: int32 + description: The precision of the data type. + scale: + type: integer + format: int32 + description: The scale of the data type. + key_type: + description: The type of the key in the data type (if applicable). + type: object + properties: + type: + type: string + description: The data type of the column. + nullable: + type: boolean + description: Indicates whether values in this column can be null. + length: + type: integer + format: int32 + description: The length of the data type. + precision: + type: integer + format: int32 + description: The precision of the data type. + scale: + type: integer + format: int32 + description: The scale of the data type. + key_type: + description: The type of the key in the data type (if applicable). + value_type: + description: The type of the value in the data type (if applicable). + element_type: + description: The type of the element in the data type (if applicable). + fields: + type: array + items: + $ref: '#/components/schemas/RowFieldType' + description: The fields of the element in the data type (if applicable). + resolution: + type: string + description: The resolution of the data type (if applicable). + fractional_precision: + type: integer + format: int32 + description: The fractional precision of the data type (if applicable). + class_name: + type: string + description: The class name of the structured data type (if applicable). + required: + - type + - nullable + value_type: + description: The type of the value in the data type (if applicable). + type: object + properties: + type: + type: string + description: The data type of the column. + nullable: + type: boolean + description: Indicates whether values in this column can be null. + length: + type: integer + format: int32 + description: The length of the data type. + precision: + type: integer + format: int32 + description: The precision of the data type. + scale: + type: integer + format: int32 + description: The scale of the data type. + key_type: + description: The type of the key in the data type (if applicable). + type: object + properties: + type: + type: string + description: The data type of the column. + nullable: + type: boolean + description: Indicates whether values in this column can be null. + length: + type: integer + format: int32 + description: The length of the data type. + precision: + type: integer + format: int32 + description: The precision of the data type. + scale: + type: integer + format: int32 + description: The scale of the data type. + key_type: + description: The type of the key in the data type (if applicable). + value_type: + description: The type of the value in the data type (if applicable). + element_type: + description: >- + The type of the element in the data type (if + applicable). + fields: + type: array + items: + $ref: '#/components/schemas/RowFieldType' + description: >- + The fields of the element in the data type (if + applicable). + resolution: + type: string + description: The resolution of the data type (if applicable). + fractional_precision: + type: integer + format: int32 + description: >- + The fractional precision of the data type (if + applicable). + class_name: + type: string + description: >- + The class name of the structured data type (if + applicable). + required: + - type + - nullable + value_type: + description: The type of the value in the data type (if applicable). + element_type: + description: The type of the element in the data type (if applicable). + fields: + type: array + items: + $ref: '#/components/schemas/RowFieldType' + description: The fields of the element in the data type (if applicable). + resolution: + type: string + description: The resolution of the data type (if applicable). + fractional_precision: + type: integer + format: int32 + description: The fractional precision of the data type (if applicable). + class_name: + type: string + description: The class name of the structured data type (if applicable). + required: + - type + - nullable + element_type: + description: The type of the element in the data type (if applicable). + fields: + type: array + items: + $ref: '#/components/schemas/RowFieldType' + description: The fields of the element in the data type (if applicable). + resolution: + type: string + description: The resolution of the data type (if applicable). + fractional_precision: + type: integer + format: int32 + description: The fractional precision of the data type (if applicable). + class_name: + type: string + description: The class name of the structured data type (if applicable). + required: + - type + - nullable + fields: + type: array + items: + $ref: '#/components/schemas/RowFieldType' + description: The fields of the element in the data type (if applicable). + resolution: + type: string + description: The resolution of the data type (if applicable). + fractional_precision: + type: integer + format: int32 + description: The fractional precision of the data type (if applicable). + class_name: + type: string + description: The class name of the structured data type (if applicable). + required: + - type + - nullable + RowFieldType: + type: object + properties: + name: + type: string + description: The name of the field. + field_type: + description: The data type of the field. + type: object + properties: + type: + type: string + description: The data type of the column. + nullable: + type: boolean + description: Indicates whether values in this column can be null. + length: + type: integer + format: int32 + description: The length of the data type. + precision: + type: integer + format: int32 + description: The precision of the data type. + scale: + type: integer + format: int32 + description: The scale of the data type. + key_type: + description: The type of the key in the data type (if applicable). + type: object + properties: + type: + type: string + description: The data type of the column. + nullable: + type: boolean + description: Indicates whether values in this column can be null. + length: + type: integer + format: int32 + description: The length of the data type. + precision: + type: integer + format: int32 + description: The precision of the data type. + scale: + type: integer + format: int32 + description: The scale of the data type. + key_type: + description: The type of the key in the data type (if applicable). + value_type: + description: The type of the value in the data type (if applicable). + element_type: + description: The type of the element in the data type (if applicable). + fields: + type: array + items: + $ref: '#/components/schemas/RowFieldType' + description: The fields of the element in the data type (if applicable). + resolution: + type: string + description: The resolution of the data type (if applicable). + fractional_precision: + type: integer + format: int32 + description: The fractional precision of the data type (if applicable). + class_name: + type: string + description: The class name of the structured data type (if applicable). + required: + - type + - nullable + value_type: + description: The type of the value in the data type (if applicable). + type: object + properties: + type: + type: string + description: The data type of the column. + nullable: + type: boolean + description: Indicates whether values in this column can be null. + length: + type: integer + format: int32 + description: The length of the data type. + precision: + type: integer + format: int32 + description: The precision of the data type. + scale: + type: integer + format: int32 + description: The scale of the data type. + key_type: + description: The type of the key in the data type (if applicable). + type: object + properties: + type: + type: string + description: The data type of the column. + nullable: + type: boolean + description: Indicates whether values in this column can be null. + length: + type: integer + format: int32 + description: The length of the data type. + precision: + type: integer + format: int32 + description: The precision of the data type. + scale: + type: integer + format: int32 + description: The scale of the data type. + key_type: + description: The type of the key in the data type (if applicable). + value_type: + description: The type of the value in the data type (if applicable). + element_type: + description: >- + The type of the element in the data type (if + applicable). + fields: + type: array + items: + $ref: '#/components/schemas/RowFieldType' + description: >- + The fields of the element in the data type (if + applicable). + resolution: + type: string + description: The resolution of the data type (if applicable). + fractional_precision: + type: integer + format: int32 + description: >- + The fractional precision of the data type (if + applicable). + class_name: + type: string + description: >- + The class name of the structured data type (if + applicable). + required: + - type + - nullable + value_type: + description: The type of the value in the data type (if applicable). + element_type: + description: The type of the element in the data type (if applicable). + fields: + type: array + items: + $ref: '#/components/schemas/RowFieldType' + description: The fields of the element in the data type (if applicable). + resolution: + type: string + description: The resolution of the data type (if applicable). + fractional_precision: + type: integer + format: int32 + description: The fractional precision of the data type (if applicable). + class_name: + type: string + description: The class name of the structured data type (if applicable). + required: + - type + - nullable + element_type: + description: The type of the element in the data type (if applicable). + type: object + properties: + type: + type: string + description: The data type of the column. + nullable: + type: boolean + description: Indicates whether values in this column can be null. + length: + type: integer + format: int32 + description: The length of the data type. + precision: + type: integer + format: int32 + description: The precision of the data type. + scale: + type: integer + format: int32 + description: The scale of the data type. + key_type: + description: The type of the key in the data type (if applicable). + type: object + properties: + type: + type: string + description: The data type of the column. + nullable: + type: boolean + description: Indicates whether values in this column can be null. + length: + type: integer + format: int32 + description: The length of the data type. + precision: + type: integer + format: int32 + description: The precision of the data type. + scale: + type: integer + format: int32 + description: The scale of the data type. + key_type: + description: The type of the key in the data type (if applicable). + value_type: + description: The type of the value in the data type (if applicable). + element_type: + description: >- + The type of the element in the data type (if + applicable). + fields: + type: array + items: + $ref: '#/components/schemas/RowFieldType' + description: >- + The fields of the element in the data type (if + applicable). + resolution: + type: string + description: The resolution of the data type (if applicable). + fractional_precision: + type: integer + format: int32 + description: >- + The fractional precision of the data type (if + applicable). + class_name: + type: string + description: >- + The class name of the structured data type (if + applicable). + required: + - type + - nullable + value_type: + description: The type of the value in the data type (if applicable). + type: object + properties: + type: + type: string + description: The data type of the column. + nullable: + type: boolean + description: Indicates whether values in this column can be null. + length: + type: integer + format: int32 + description: The length of the data type. + precision: + type: integer + format: int32 + description: The precision of the data type. + scale: + type: integer + format: int32 + description: The scale of the data type. + key_type: + description: The type of the key in the data type (if applicable). + type: object + properties: + type: + type: string + description: The data type of the column. + nullable: + type: boolean + description: Indicates whether values in this column can be null. + length: + type: integer + format: int32 + description: The length of the data type. + precision: + type: integer + format: int32 + description: The precision of the data type. + scale: + type: integer + format: int32 + description: The scale of the data type. + key_type: + description: >- + The type of the key in the data type (if + applicable). + value_type: + description: >- + The type of the value in the data type (if + applicable). + element_type: + description: >- + The type of the element in the data type (if + applicable). + fields: + type: array + items: + $ref: '#/components/schemas/RowFieldType' + description: >- + The fields of the element in the data type (if + applicable). + resolution: + type: string + description: The resolution of the data type (if applicable). + fractional_precision: + type: integer + format: int32 + description: >- + The fractional precision of the data type (if + applicable). + class_name: + type: string + description: >- + The class name of the structured data type (if + applicable). + required: + - type + - nullable + value_type: + description: The type of the value in the data type (if applicable). + element_type: + description: >- + The type of the element in the data type (if + applicable). + fields: + type: array + items: + $ref: '#/components/schemas/RowFieldType' + description: >- + The fields of the element in the data type (if + applicable). + resolution: + type: string + description: The resolution of the data type (if applicable). + fractional_precision: + type: integer + format: int32 + description: >- + The fractional precision of the data type (if + applicable). + class_name: + type: string + description: >- + The class name of the structured data type (if + applicable). + required: + - type + - nullable + element_type: + description: The type of the element in the data type (if applicable). + fields: + type: array + items: + $ref: '#/components/schemas/RowFieldType' + description: The fields of the element in the data type (if applicable). + resolution: + type: string + description: The resolution of the data type (if applicable). + fractional_precision: + type: integer + format: int32 + description: The fractional precision of the data type (if applicable). + class_name: + type: string + description: The class name of the structured data type (if applicable). + required: + - type + - nullable + fields: + type: array + items: + $ref: '#/components/schemas/RowFieldType' + description: The fields of the element in the data type (if applicable). + resolution: + type: string + description: The resolution of the data type (if applicable). + fractional_precision: + type: integer + format: int32 + description: The fractional precision of the data type (if applicable). + class_name: + type: string + description: The class name of the structured data type (if applicable). + required: + - type + - nullable + description: + type: string + description: The description of the field. + required: + - name + - field_type + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: schema: type: string - format: uuid - required: true - description: The unique identifier for the organization. - - in: path - name: environment_id - required: true + description: The unique identifier for the API request. + content: + application/json: schema: - type: string - description: The unique identifier for the environment. - - name: statement_name - in: path - required: true + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: schema: type: string - description: The unique identifier for the statement. - tags: - - Statements (sql/v1) - security: - - resource-api-key: [] - responses: - '202': - description: A Statement is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "flink.region.provider.confluent.cloud", - "port": null, - "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - put: - x-request-access-name: SQL API v1 - operationId: updateSqlv1Statement - summary: Update a Statement - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to update a statement. - The request will fail with a 409 Conflict error if the Statement has changed since it was fetched. - In this case, do a GET, reapply the modifications, and try the update again. - parameters: - - in: path - name: organization_id + description: The unique identifier for the API request. + WWW-Authenticate: schema: type: string - format: uuid - required: true - description: The unique identifier for the organization. - - in: path - name: environment_id - required: true + description: The unique identifier for the API request. + example: >- + Basic error="invalid_key", error_description="The API Key is + invalid" + content: + application/json: schema: - type: string - description: The unique identifier for the environment. - - name: statement_name - in: path - required: true + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: schema: type: string - description: The unique identifier for the statement. - tags: - - Statements (sql/v1) - security: - - resource-api-key: [] - responses: - '202': - description: A Statement is being updated. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/sql.v1.Statement' - - type: object - required: - - spec - - name - - metadata - properties: - spec: - type: object - required: - - stopped - metadata: - type: object - required: - - resource_version - x-codeSamples: - - lang: Shell - source: |- - curl --request PUT \ - --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"name":"sql123","organization_id":"7c60d51f-b44e-4682-87d6-449835ea4de6","environment_id":"string","spec":{"statement":"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;","properties":{"sql.current-catalog":"my_environment","sql.current-database":"my_kafka_cluster"},"compute_pool_id":"fcp-00000","principal":"sa-abc123","stopped":false},"result":{"api_version":"sql/v1","kind":"StatementResult","metadata":{"self":"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements","next":"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb"},"results":{"data":[{"op":0,"row":["101","Jay",[null,"abc"],[null,"456"],"1990-01-12 12:00.12",[[null,"Alice"],["42","Bob"]]]}]}},"metadata":{}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"name\":\"sql123\",\"organization_id\":\"7c60d51f-b44e-4682-87d6-449835ea4de6\",\"environment_id\":\"string\",\"spec\":{\"statement\":\"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;\",\"properties\":{\"sql.current-catalog\":\"my_environment\",\"sql.current-database\":\"my_kafka_cluster\"},\"compute_pool_id\":\"fcp-00000\",\"principal\":\"sa-abc123\",\"stopped\":false},\"result\":{\"api_version\":\"sql/v1\",\"kind\":\"StatementResult\",\"metadata\":{\"self\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements\",\"next\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb\"},\"results\":{\"data\":[{\"op\":0,\"row\":[\"101\",\"Jay\",[null,\"abc\"],[null,\"456\"],\"1990-01-12 12:00.12\",[[null,\"Alice\"],[\"42\",\"Bob\"]]]}]}},\"metadata\":{}}"); - Request request = new Request.Builder() - .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}") - .put(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}\"\n\n\tpayload := strings.NewReader(\"{\\\"name\\\":\\\"sql123\\\",\\\"organization_id\\\":\\\"7c60d51f-b44e-4682-87d6-449835ea4de6\\\",\\\"environment_id\\\":\\\"string\\\",\\\"spec\\\":{\\\"statement\\\":\\\"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;\\\",\\\"properties\\\":{\\\"sql.current-catalog\\\":\\\"my_environment\\\",\\\"sql.current-database\\\":\\\"my_kafka_cluster\\\"},\\\"compute_pool_id\\\":\\\"fcp-00000\\\",\\\"principal\\\":\\\"sa-abc123\\\",\\\"stopped\\\":false},\\\"result\\\":{\\\"api_version\\\":\\\"sql/v1\\\",\\\"kind\\\":\\\"StatementResult\\\",\\\"metadata\\\":{\\\"self\\\":\\\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements\\\",\\\"next\\\":\\\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb\\\"},\\\"results\\\":{\\\"data\\\":[{\\\"op\\\":0,\\\"row\\\":[\\\"101\\\",\\\"Jay\\\",[null,\\\"abc\\\"],[null,\\\"456\\\"],\\\"1990-01-12 12:00.12\\\",[[null,\\\"Alice\\\"],[\\\"42\\\",\\\"Bob\\\"]]]}]}},\\\"metadata\\\":{}}\")\n\n\treq, _ := http.NewRequest(\"PUT\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") - - payload = "{\"name\":\"sql123\",\"organization_id\":\"7c60d51f-b44e-4682-87d6-449835ea4de6\",\"environment_id\":\"string\",\"spec\":{\"statement\":\"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;\",\"properties\":{\"sql.current-catalog\":\"my_environment\",\"sql.current-database\":\"my_kafka_cluster\"},\"compute_pool_id\":\"fcp-00000\",\"principal\":\"sa-abc123\",\"stopped\":false},\"result\":{\"api_version\":\"sql/v1\",\"kind\":\"StatementResult\",\"metadata\":{\"self\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements\",\"next\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb\"},\"results\":{\"data\":[{\"op\":0,\"row\":[\"101\",\"Jay\",[null,\"abc\"],[null,\"456\"],\"1990-01-12 12:00.12\",[[null,\"Alice\"],[\"42\",\"Bob\"]]]}]}},\"metadata\":{}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PUT", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PUT", - "hostname": "flink.region.provider.confluent.cloud", - "port": null, - "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - name: 'sql123', - organization_id: '7c60d51f-b44e-4682-87d6-449835ea4de6', - environment_id: 'string', - spec: { - statement: 'SELECT * FROM TABLE WHERE VALUE1 = VALUE2;', - properties: { - 'sql.current-catalog': 'my_environment', - 'sql.current-database': 'my_kafka_cluster' - }, - compute_pool_id: 'fcp-00000', - principal: 'sa-abc123', - stopped: false - }, - result: { - api_version: 'sql/v1', - kind: 'StatementResult', - metadata: { - self: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements', - next: 'https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb' - }, - results: { - data: [ - { - op: 0, - row: [ - '101', - 'Jay', - [null, 'abc'], - [null, '456'], - '1990-01-12 12:00.12', - [[null, 'Alice'], ['42', 'Bob']] - ] - } - ] - } - }, - metadata: {} - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PUT"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"name\":\"sql123\",\"organization_id\":\"7c60d51f-b44e-4682-87d6-449835ea4de6\",\"environment_id\":\"string\",\"spec\":{\"statement\":\"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;\",\"properties\":{\"sql.current-catalog\":\"my_environment\",\"sql.current-database\":\"my_kafka_cluster\"},\"compute_pool_id\":\"fcp-00000\",\"principal\":\"sa-abc123\",\"stopped\":false},\"result\":{\"api_version\":\"sql/v1\",\"kind\":\"StatementResult\",\"metadata\":{\"self\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements\",\"next\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb\"},\"results\":{\"data\":[{\"op\":0,\"row\":[\"101\",\"Jay\",[null,\"abc\"],[null,\"456\"],\"1990-01-12 12:00.12\",[[null,\"Alice\"],[\"42\",\"Bob\"]]]}]}},\"metadata\":{}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}"); - var request = new RestRequest(Method.PUT); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"name\":\"sql123\",\"organization_id\":\"7c60d51f-b44e-4682-87d6-449835ea4de6\",\"environment_id\":\"string\",\"spec\":{\"statement\":\"SELECT * FROM TABLE WHERE VALUE1 = VALUE2;\",\"properties\":{\"sql.current-catalog\":\"my_environment\",\"sql.current-database\":\"my_kafka_cluster\"},\"compute_pool_id\":\"fcp-00000\",\"principal\":\"sa-abc123\",\"stopped\":false},\"result\":{\"api_version\":\"sql/v1\",\"kind\":\"StatementResult\",\"metadata\":{\"self\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-123/statements\",\"next\":\"https://flink.us-west1.aws.confluent.cloud/sql/v1/environments/env-abc123/statements?page_token=UvmDWOB1iwfAIBPj6EYb\"},\"results\":{\"data\":[{\"op\":0,\"row\":[\"101\",\"Jay\",[null,\"abc\"],[null,\"456\"],\"1990-01-12 12:00.12\",[[null,\"Alice\"],[\"42\",\"Bob\"]]]}]}},\"metadata\":{}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - patch: - x-request-access-name: SQL API v1 - operationId: patchSqlv1Statement - summary: Patch a Statement - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to patch a statement. - parameters: - - in: path - name: organization_id + description: The unique identifier for the API request. + content: + application/json: schema: - type: string - format: uuid - required: true - description: The unique identifier for the organization. - - in: path - name: environment_id - required: true + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: >- + The user 'mcfly' is not allowed to access the 'delorean' + resource without the 'plutonium' role. + NotFoundError: + description: Not Found + headers: + X-Request-Id: schema: type: string - description: The unique identifier for the environment. - - name: statement_name - in: path - required: true + description: The unique identifier for the API request. + content: + application/json: schema: - type: string - description: The unique identifier for the statement. - tags: - - Statements (sql/v1) - security: - - resource-api-key: [] - requestBody: - content: - application/json-patch+json: - schema: - $ref: '#/components/schemas/PatchRequest' - responses: - '200': - description: Patched Statement. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/sql.v1.Statement' - - type: object - required: - - spec - - status - properties: - spec: - type: object - required: - - statement_name - - statement - - compute_pool_id - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json-patch+json' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}") - .patch(null) - .addHeader("content-type", "application/json-patch+json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}\"\n\n\treq, _ := http.NewRequest(\"PATCH\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"application/json-patch+json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") - - headers = { - 'content-type': "application/json-patch+json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "flink.region.provider.confluent.cloud", - "port": null, - "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}", - "headers": { - "content-type": "application/json-patch+json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json-patch+json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json-patch+json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}/exceptions': - get: - x-request-access-name: SQL API v1 - operationId: getSqlv1StatementExceptions - summary: List of Statement Exceptions - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a list of the 10 most recent statement exceptions. - parameters: - - in: path - name: organization_id + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: schema: type: string - format: uuid - required: true - description: The unique identifier for the organization. - - in: path - name: environment_id - required: true + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. + Retry-After: + schema: + type: integer + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. + DefaultSystemError: + description: Oops, something went wrong! + headers: + X-Request-Id: schema: type: string - description: The unique identifier for the environment. - - name: statement_name - in: path - required: true + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: schema: type: string - description: The unique identifier for the statement. - tags: - - Statement Exceptions (sql/v1) - security: - - resource-api-key: [] - responses: - '200': - description: Statement Exceptions. - content: - application/json: - schema: - $ref: '#/components/schemas/sql.v1.StatementExceptionList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}/exceptions' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}/exceptions") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}/exceptions\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("flink.region.provider.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}/exceptions", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "flink.region.provider.confluent.cloud", - "port": null, - "path": "/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}/exceptions", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}/exceptions"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://flink.region.provider.confluent.cloud/sql/v1/organizations/{organization_id}/environments/{environment_id}/statements/{statement_name}/exceptions"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/{object}/{id} + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: >- + The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already + exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + x-stackQL-resources: + connections: + id: confluent.sql.connections + name: connections + title: Connections + methods: + list_sqlv1_connections: + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1connections/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_sqlv1_connection: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1connections/post + response: + mediaType: application/json + openAPIDocKey: '201' + get_sqlv1_connection: + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1connections~1{connection_name}/get + response: + mediaType: application/json + openAPIDocKey: '200' + delete_sqlv1_connection: + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1connections~1{connection_name}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + update_sqlv1_connection: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1connections~1{connection_name}/put + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/connections/methods/get_sqlv1_connection + - $ref: >- + #/components/x-stackQL-resources/connections/methods/list_sqlv1_connections + insert: + - $ref: >- + #/components/x-stackQL-resources/connections/methods/create_sqlv1_connection + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/connections/methods/delete_sqlv1_connection + replace: + - $ref: >- + #/components/x-stackQL-resources/connections/methods/update_sqlv1_connection + statement_results: + id: confluent.sql.statement_results + name: statement_results + title: Statement Results + methods: + get_sqlv1_statement_result: + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements~1{name}~1results/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/statement_results/methods/get_sqlv1_statement_result + insert: [] + update: [] + delete: [] + replace: [] + statements: + id: confluent.sql.statements + name: statements + title: Statements + methods: + list_sqlv1_statements: + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_sqlv1_statement: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements/post + response: + mediaType: application/json + openAPIDocKey: '201' + get_sqlv1_statement: + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements~1{statement_name}/get + response: + mediaType: application/json + openAPIDocKey: '200' + delete_sqlv1_statement: + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements~1{statement_name}/delete + response: + mediaType: application/json + openAPIDocKey: '202' + update_sqlv1_statement: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements~1{statement_name}/put + response: + mediaType: application/json + openAPIDocKey: '202' + patch_sqlv1_statement: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements~1{statement_name}/patch + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/statements/methods/get_sqlv1_statement + - $ref: >- + #/components/x-stackQL-resources/statements/methods/list_sqlv1_statements + insert: + - $ref: >- + #/components/x-stackQL-resources/statements/methods/create_sqlv1_statement + update: + - $ref: >- + #/components/x-stackQL-resources/statements/methods/patch_sqlv1_statement + delete: + - $ref: >- + #/components/x-stackQL-resources/statements/methods/delete_sqlv1_statement + replace: + - $ref: >- + #/components/x-stackQL-resources/statements/methods/update_sqlv1_statement + statement_exceptions: + id: confluent.sql.statement_exceptions + name: statement_exceptions + title: Statement Exceptions + methods: + get_sqlv1_statement_exceptions: + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1statements~1{statement_name}~1exceptions/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/statement_exceptions/methods/get_sqlv1_statement_exceptions + insert: [] + update: [] + delete: [] + replace: [] + materialized_tables: + id: confluent.sql.materialized_tables + name: materialized_tables + title: Materialized Tables + methods: + list_sqlv1_materialized_tables: + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1materialized-tables/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_sqlv1_materialized_table: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1databases~1{kafka_cluster_id}~1materialized-tables/post + response: + mediaType: application/json + openAPIDocKey: '201' + get_sqlv1_materialized_table: + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1databases~1{kafka_cluster_id}~1materialized-tables~1{table_name}/get + response: + mediaType: application/json + openAPIDocKey: '200' + update_sqlv1_materialized_table: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1databases~1{kafka_cluster_id}~1materialized-tables~1{table_name}/put + response: + mediaType: application/json + openAPIDocKey: '200' + delete_sqlv1_materialized_table: + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1databases~1{kafka_cluster_id}~1materialized-tables~1{table_name}/delete + response: + mediaType: application/json + openAPIDocKey: '202' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/materialized_tables/methods/get_sqlv1_materialized_table + - $ref: >- + #/components/x-stackQL-resources/materialized_tables/methods/list_sqlv1_materialized_tables + insert: + - $ref: >- + #/components/x-stackQL-resources/materialized_tables/methods/create_sqlv1_materialized_table + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/materialized_tables/methods/delete_sqlv1_materialized_table + replace: + - $ref: >- + #/components/x-stackQL-resources/materialized_tables/methods/update_sqlv1_materialized_table + materialized_table_versions: + id: confluent.sql.materialized_table_versions + name: materialized_table_versions + title: Materialized Table Versions + methods: + list_sqlv1_materialized_table_versions: + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1databases~1{kafka_cluster_id}~1materialized-tables~1{table_name}~1versions/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + get_sqlv1_materialized_table_version: + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1databases~1{kafka_cluster_id}~1materialized-tables~1{table_name}~1versions~1{version}/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/materialized_table_versions/methods/get_sqlv1_materialized_table_version + - $ref: >- + #/components/x-stackQL-resources/materialized_table_versions/methods/list_sqlv1_materialized_table_versions + insert: [] + update: [] + delete: [] + replace: [] + agents: + id: confluent.sql.agents + name: agents + title: Agents + methods: + list_sqlv1_agents: + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1agents/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_sqlv1_agent: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1databases~1{kafka_cluster_id}~1agents/post + response: + mediaType: application/json + openAPIDocKey: '200' + get_sqlv1_agent: + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1databases~1{kafka_cluster_id}~1agents~1{agent_name}/get + response: + mediaType: application/json + openAPIDocKey: '200' + update_sqlv1_agent: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1databases~1{kafka_cluster_id}~1agents~1{agent_name}/put + response: + mediaType: application/json + openAPIDocKey: '200' + delete_sqlv1_agent: + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1databases~1{kafka_cluster_id}~1agents~1{agent_name}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/agents/methods/get_sqlv1_agent' + - $ref: '#/components/x-stackQL-resources/agents/methods/list_sqlv1_agents' + insert: + - $ref: '#/components/x-stackQL-resources/agents/methods/create_sqlv1_agent' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/agents/methods/delete_sqlv1_agent' + replace: + - $ref: '#/components/x-stackQL-resources/agents/methods/update_sqlv1_agent' + tools: + id: confluent.sql.tools + name: tools + title: Tools + methods: + create_sqlv1_tool: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1databases~1{database_name}~1tools/post + response: + mediaType: application/json + openAPIDocKey: '200' + list_sqlv1_tools: + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1databases~1{database_name}~1tools/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + get_sqlv1_tool: + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1databases~1{database_name}~1tools~1{tool_name}/get + response: + mediaType: application/json + openAPIDocKey: '200' + delete_sqlv1_tool: + operation: + $ref: >- + #/paths/~1sql~1v1~1organizations~1{organization_id}~1environments~1{environment_id}~1databases~1{database_name}~1tools~1{tool_name}/delete + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: '#/components/x-stackQL-resources/tools/methods/get_sqlv1_tool' + - $ref: '#/components/x-stackQL-resources/tools/methods/list_sqlv1_tools' + insert: + - $ref: '#/components/x-stackQL-resources/tools/methods/create_sqlv1_tool' + update: [] + delete: + - $ref: '#/components/x-stackQL-resources/tools/methods/delete_sqlv1_tool' + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/stream_sharing.yaml b/providers/src/confluent/v00.00.00000/services/stream_sharing.yaml index 94ba0297..86e51dfc 100644 --- a/providers/src/confluent/v00.00.00000/services/stream_sharing.yaml +++ b/providers/src/confluent/v00.00.00000/services/stream_sharing.yaml @@ -1,1095 +1,4288 @@ openapi: 3.0.0 -servers: - - url: 'https://api.confluent.cloud' - description: Confluent Cloud API info: - version: '' - contact: - name: Confluent Cloud - url: 'https://www.confluent.io/cloud-contact-us/' - email: support@confluent.io - x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b - x-audience: external-public - x-logo: - url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' - title: Confluent Cloud APIs - stream_sharing - description: stream_sharing -tags: - - name: API Keys (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. - - The API allows you to list, create, update and delete your API Keys. - - - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - - ## The API Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - - name: Environments (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. - - - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - - ## The Environments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - - name: Organizations (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). - - The API allows you to list, view, and update your organizations. - - - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - - ## The Organizations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + title: stream_sharing API + description: confluent stream_sharing API + version: 1.0.0 +paths: + /cdx/v1/provider-shared-resources: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listCdxV1ProviderSharedResources + summary: List of Provider Shared Resources + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - - name: Users (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `User` objects represent individuals who may access your Confluent resources. + Retrieve a sorted, filtered, paginated list of all provider shared + resources. + parameters: + - name: stream_share + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: ss-1234 + description: Filter the results by exact match for stream_share. + - name: crn + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: >- + crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic + description: Filter the results by exact match for crn. + - name: include_deleted + in: query + required: false + schema: + $ref: '#/components/schemas/BooleanFilter' + description: Include deactivated shared resources + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Provider Shared Resources (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Provider Shared Resource. + content: + application/json: + schema: + type: object + description: >- + `ProviderSharedResource` object contains details of the data + stream - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. + (topic, schema registry subjects, sharing metadata) that you + have shared through Stream Sharing. - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). - ## The Users Model - + ## The Provider Shared Resources Model - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ProviderSharedResourceList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `ProviderSharedResource` object contains details of the + data stream + + (topic, schema registry subjects, sharing metadata) that + you have shared through Stream Sharing. + + + + ## The Provider Shared Resources Model + + + properties: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - ProviderSharedResource + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + crn: + type: string + description: Deprecated please use resources attribute. + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-1111aaa/kafka=lkc-111aaa/topic=my.topic + x-immutable: true + resources: + type: array + minItems: 1 + description: List of resource crns that are shared together + items: + type: string + description: crn that specifies the shared resource + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic + display_name: + type: string + description: Shared resource display name + example: Stock Trades + description: + type: string + description: Description of shared resource + example: >- + This topic provides realtime data for the orders + placed through the website + x-immutable: true + readOnly: true + tags: + type: array + items: + type: string + description: list of tags + example: + - recent + - pending + x-immutable: true + readOnly: true + schemas: + type: array + items: + type: object + properties: + subject: + type: string + description: Name of the subject + example: User + version: + type: integer + description: Version number + format: int32 + example: 1 + id: + type: integer + description: Globally unique identifier of the schema + format: int32 + example: 100001 + schema_type: + type: string + description: Schema type + example: AVRO + schema: + type: string + description: Schema definition string + example: '{"schema": "{"type": "string"}"}' + description: Schema + description: >- + List of schemas in JSON format. This field is work + in progress and subject to changes. + x-immutable: true + readOnly: true + organization_description: + type: string + description: Shared resource's organization description + example: ABC Corp is the biggest online retailer + organization_contact: + type: string + format: email + example: jane.doe@example.com + description: Email of contact person from the organization + logo_url: + type: string + format: uri + description: Resource logo url + example: >- + https://confluent.cloud/api/cdx/v1/provider-shared-resources/sr-123/images/logo + readOnly: true + organization_name: + description: >- + Organization to which the shared resource belongs. + Deprecated + example: ABC Corp + x-immutable: true + readOnly: true + environment_name: + type: string + description: >- + The environment name of the shared resource. + Deprecated + example: Public Env + x-immutable: true + readOnly: true + cluster_name: + type: string + description: >- + The cluster display name of the shared resource. + Deprecated + example: Published Trades + x-immutable: true + readOnly: true + cloud_cluster: + description: The cloud cluster to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: >- + Environment of the referred resource, if + env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - id + - metadata + - display_name + - organization_name + - environment_name + - cluster_name + - cloud_cluster + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /cdx/v1/provider-shared-resources/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getCdxV1ProviderSharedResource + summary: Read a Provider Shared Resource + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - - name: Service Accounts (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. + Make a request to read a provider shared resource. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the provider shared resource. + tags: + - Provider Shared Resources (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Provider Shared Resource. + content: + application/json: + schema: + type: object + description: >- + `ProviderSharedResource` object contains details of the data + stream - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. + (topic, schema registry subjects, sharing metadata) that you + have shared through Stream Sharing. - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). - ## The Service Accounts Model - + ## The Provider Shared Resources Model - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + + properties: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ProviderSharedResource + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + crn: + type: string + description: Deprecated please use resources attribute. + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-1111aaa/kafka=lkc-111aaa/topic=my.topic + x-immutable: true + resources: + type: array + minItems: 1 + description: List of resource crns that are shared together + items: + type: string + description: crn that specifies the shared resource + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic + display_name: + type: string + description: Shared resource display name + example: Stock Trades + description: + type: string + description: Description of shared resource + example: >- + This topic provides realtime data for the orders placed + through the website + x-immutable: true + readOnly: true + tags: + type: array + items: + type: string + description: list of tags + example: + - recent + - pending + x-immutable: true + readOnly: true + schemas: + type: array + items: + type: object + properties: + subject: + type: string + description: Name of the subject + example: User + version: + type: integer + description: Version number + format: int32 + example: 1 + id: + type: integer + description: Globally unique identifier of the schema + format: int32 + example: 100001 + schema_type: + type: string + description: Schema type + example: AVRO + schema: + type: string + description: Schema definition string + example: '{"schema": "{"type": "string"}"}' + description: Schema + description: >- + List of schemas in JSON format. This field is work in + progress and subject to changes. + x-immutable: true + readOnly: true + organization_description: + type: string + description: Shared resource's organization description + example: ABC Corp is the biggest online retailer + organization_contact: + type: string + format: email + example: jane.doe@example.com + description: Email of contact person from the organization + logo_url: + type: string + format: uri + description: Resource logo url + example: >- + https://confluent.cloud/api/cdx/v1/provider-shared-resources/sr-123/images/logo + readOnly: true + organization_name: + description: >- + Organization to which the shared resource belongs. + Deprecated + example: ABC Corp + x-immutable: true + readOnly: true + environment_name: + type: string + description: The environment name of the shared resource. Deprecated + example: Public Env + x-immutable: true + readOnly: true + cluster_name: + type: string + description: >- + The cluster display name of the shared resource. + Deprecated + example: Published Trades + x-immutable: true + readOnly: true + cloud_cluster: + description: The cloud cluster to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - api_version + - kind + - id + - display_name + - organization_name + - environment_name + - cluster_name + - cloud_cluster + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateCdxV1ProviderSharedResource + summary: Update a Provider Shared Resource + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - - name: Invitations (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. + Make a request to update a provider shared resource. - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the provider shared resource. + tags: + - Provider Shared Resources (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/cdx.v1.ProviderSharedResource' + responses: + '200': + description: Provider Shared Resource. + content: + application/json: + schema: + type: object + description: >- + `ProviderSharedResource` object contains details of the data + stream + (topic, schema registry subjects, sharing metadata) that you + have shared through Stream Sharing. - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). - ## The Invitations Model - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): + ## The Provider Shared Resources Model - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - - name: IP Groups (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) + + properties: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ProviderSharedResource + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + crn: + type: string + description: Deprecated please use resources attribute. + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-1111aaa/kafka=lkc-111aaa/topic=my.topic + x-immutable: true + resources: + type: array + minItems: 1 + description: List of resource crns that are shared together + items: + type: string + description: crn that specifies the shared resource + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic + display_name: + type: string + description: Shared resource display name + example: Stock Trades + description: + type: string + description: Description of shared resource + example: >- + This topic provides realtime data for the orders placed + through the website + x-immutable: true + readOnly: true + tags: + type: array + items: + type: string + description: list of tags + example: + - recent + - pending + x-immutable: true + readOnly: true + schemas: + type: array + items: + type: object + properties: + subject: + type: string + description: Name of the subject + example: User + version: + type: integer + description: Version number + format: int32 + example: 1 + id: + type: integer + description: Globally unique identifier of the schema + format: int32 + example: 100001 + schema_type: + type: string + description: Schema type + example: AVRO + schema: + type: string + description: Schema definition string + example: '{"schema": "{"type": "string"}"}' + description: Schema + description: >- + List of schemas in JSON format. This field is work in + progress and subject to changes. + x-immutable: true + readOnly: true + organization_description: + type: string + description: Shared resource's organization description + example: ABC Corp is the biggest online retailer + organization_contact: + type: string + format: email + example: jane.doe@example.com + description: Email of contact person from the organization + logo_url: + type: string + format: uri + description: Resource logo url + example: >- + https://confluent.cloud/api/cdx/v1/provider-shared-resources/sr-123/images/logo + readOnly: true + organization_name: + description: >- + Organization to which the shared resource belongs. + Deprecated + example: ABC Corp + x-immutable: true + readOnly: true + environment_name: + type: string + description: The environment name of the shared resource. Deprecated + example: Public Env + x-immutable: true + readOnly: true + cluster_name: + type: string + description: >- + The cluster display name of the shared resource. + Deprecated + example: Published Trades + x-immutable: true + readOnly: true + cloud_cluster: + description: The cloud cluster to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - api_version + - kind + - id + - display_name + - organization_name + - environment_name + - cluster_name + - cloud_cluster + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /cdx/v1/provider-shared-resources/{id}/images/{file_name}: + post: + summary: Upload image for shared resource + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. + Upload the image file for the shared resource + requestBody: + content: + image/*: + schema: + type: string + format: base64 + x-lifecycle-stage: General Availability + x-self-access: true + x-name: cdx.v1.ProviderSharedResource + operationId: upload_imageCdxV1ProviderSharedResource + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the provider shared resource. + - name: file_name + in: path + required: true + schema: + type: string + description: The File Name + tags: + - Provider Shared Resources (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '201': + description: image uploaded + headers: + Location: + schema: + type: string + format: uri + example: https://some-subdomain.confluent.cloud/path/to/resource + description: A URL that allows access to the image file + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + get: + summary: Get image for shared resource + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The IP Groups Model - - - name: IP Filters (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. - - - ## The IP Filters Model - - - name: Role Bindings (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A role binding grants a Principal a role on resources that match a pattern. - - The API allows you to perform create, delete, and list operations on role bindings. - - - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). - - ## The Role Bindings Model - - - name: Subscriptions (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. - - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Subscriptions Model - - - name: Integrations (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Integrations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - - name: Notification Types (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The type of notifications (and their corresponding metadata) supported by Confluent. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Notification Types Model - - - name: Clusters (cmk/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Kafka clusters. - - - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - - name: Clusters (ksqldbcm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. + Returns the image file for the shared resource + x-lifecycle-stage: General Availability + x-self-access: true + x-name: cdx.v1.ProviderSharedResource + operationId: view_imageCdxV1ProviderSharedResource + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the provider shared resource. + - name: file_name + in: path + required: true + schema: + type: string + description: The File Name + tags: + - Provider Shared Resources (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: returns the image file + content: + image/*: + schema: + type: string + format: binary + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + summary: Delete the shared resource's image + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - ## The Clusters Model - + Deletes the image file for the shared resource + x-lifecycle-stage: General Availability + x-self-access: true + x-name: cdx.v1.ProviderSharedResource + operationId: delete_imageCdxV1ProviderSharedResource + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the provider shared resource. + - name: file_name + in: path + required: true + schema: + type: string + description: The File Name + tags: + - Provider Shared Resources (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /cdx/v1/provider-shares: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listCdxV1ProviderShares + summary: List of Provider Shares + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## Quotas and Limits - This resource is subject to the following quotas: - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - - name: Connectors (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Retrieve a sorted, filtered, paginated list of all provider shares. + parameters: + - name: shared_resource + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: sr-1234 + description: Filter the results by exact match for shared_resource. + - name: crn + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: >- + crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic + description: Filter the results by exact match for crn. + - name: include_deleted + in: query + required: false + schema: + $ref: '#/components/schemas/BooleanFilter' + description: Include deactivated shares + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Provider Shares (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Provider Share. + content: + application/json: + schema: + type: object + description: >- + `ProviderShare` object respresents the share that you have + created through Stream Sharing. - API for Managed Connectors or Custom Connectors in Confluent Cloud. - The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. - Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). + Related guide: [Provider Stream Shares in Confluent + Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). - Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - name: Lifecycle (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. - - name: Status (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Provider Shares Model - API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. - - name: Managed Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ProviderShareList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `ProviderShare` object respresents the share that you + have created through Stream Sharing. + + + + Related guide: [Provider Stream Shares in Confluent + Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + + ## The Provider Shares Model + + + properties: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - ProviderShare + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + consumer_user_name: + type: string + description: Name of the consumer + example: John Doe + readOnly: true + consumer_organization_name: + type: string + description: Consumer organization name + example: Nasdaq + readOnly: true + provider_user_name: + type: string + description: Name or email of the provider user. Deprecated + example: Jane Doe + readOnly: true + delivery_method: + description: Method by which the invite will be delivered + type: string + x-extensible-enum: + - EMAIL + example: EMAIL + x-immutable: true + consumer_restriction: + description: >- + Restrictions on the consumer that can redeem this + token + discriminator: + propertyName: kind + mapping: + Email: >- + #/components/schemas/cdx.v1.EmailConsumerRestriction + x-immutable: true + type: object + required: + - kind + - email + properties: + kind: + description: The resource kind + type: string + enum: + - Email + email: + type: string + format: email + description: Email based matching for the consumers + invited_at: + type: string + format: date-time + description: The date and time at which consumer was invited + example: '2006-01-02T15:04:05-07:00' + readOnly: true + invite_expires_at: + type: string + format: date-time + description: >- + The date and time at which the invitation will + expire. Only for invited shares + example: '2006-01-02T15:04:05-07:00' + readOnly: true + redeemed_at: + type: string + format: date-time + description: The date and time at which the invite was redeemed + example: '2006-01-02T15:04:05-07:00' + readOnly: true + provider_user: + description: The provider user/inviter + readOnly: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + service_account: + description: The service account associated with this object. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + cloud_cluster: + description: The cloud cluster to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: >- + Environment of the referred resource, if + env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + status: + $ref: '#/components/schemas/cdx.v1.ProviderShareStatus' + required: + - id + - metadata + - provider_user_name + - delivery_method + - invited_at + - invite_expires_at + - provider_user + - cloud_cluster + - status + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + summary: Create a provider share + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - API for Managed connectors in Confluent Cloud. - - name: Offsets (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the offsets for a Managed Connector. - - Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) - - name: Custom Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Custom Connector Plugins Model - - - name: Presigned Urls (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Presigned Urls Model - - - name: Cluster (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Configs (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: ACL (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Consumer Group (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Partition (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Topic (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Records (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Cluster Linking (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Applied Quotas (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. - - - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - - ## The Applied Quotas Model - - - name: Scopes (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Gets a list of all available scopes for applied quotas. + Creates a share based on delivery method. + requestBody: + content: + application/json: + schema: + type: object + description: Create share request + properties: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CreateProviderShareRequest + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + delivery_method: + type: string + description: Method by which the invite will be delivered + x-extensible-enum: + - EMAIL + example: EMAIL + consumer_restriction: + description: Restrictions on the consumer that can redeem this token + discriminator: + propertyName: kind + mapping: + Email: '#/components/schemas/cdx.v1.EmailConsumerRestriction' + type: object + required: + - kind + - email + properties: + kind: + description: The resource kind + type: string + enum: + - Email + email: + type: string + format: email + description: Email based matching for the consumers + resources: + type: array + minItems: 1 + description: List of resource crns to be shared + items: + type: string + description: crn that specifies the sharedresource + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic + required: + - delivery_method + - consumer_restriction + - resources + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createCdxV1ProviderShare + tags: + - Provider Shares (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '201': + description: | + Response is the provider share + headers: + Location: + schema: + type: string + format: uri + example: https://some-subdomain.confluent.cloud/path/to/resource + description: A URL that allows access to the resourced named by the crn + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/cdx.v1.ProviderShare' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /cdx/v1/provider-shares/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getCdxV1ProviderShare + summary: Read a Provider Share + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). - ## The Scopes Model - - - name: Entitlements (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + Make a request to read a provider share. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the provider share. + tags: + - Provider Shares (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Provider Share. + content: + application/json: + schema: + type: object + description: >- + `ProviderShare` object respresents the share that you have + created through Stream Sharing. - `Entitlement` objects represent metadata about a marketplace entitlement. - An entitlement includes metadata about a marketplace purchase - (start date, end date, billing information, partner IDs, etc). - The API allows partners to create, read, and list entitlements. (Unless you - need entitlement creation and customer registration to be separate, - we recommend using the Signup API to create an organization and entitlement - at the same time) - The API only allows authorized partners to interact with the Entitlements API. - - name: Regions (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [Provider Stream Shares in Confluent + Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. + ## The Provider Shares Model - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + + properties: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ProviderShare + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + consumer_user_name: + type: string + description: Name of the consumer + example: John Doe + readOnly: true + consumer_organization_name: + type: string + description: Consumer organization name + example: Nasdaq + readOnly: true + provider_user_name: + type: string + description: Name or email of the provider user. Deprecated + example: Jane Doe + readOnly: true + delivery_method: + description: Method by which the invite will be delivered + type: string + x-extensible-enum: + - EMAIL + example: EMAIL + x-immutable: true + consumer_restriction: + description: Restrictions on the consumer that can redeem this token + discriminator: + propertyName: kind + mapping: + Email: '#/components/schemas/cdx.v1.EmailConsumerRestriction' + x-immutable: true + type: object + required: + - kind + - email + properties: + kind: + description: The resource kind + type: string + enum: + - Email + email: + type: string + format: email + description: Email based matching for the consumers + invited_at: + type: string + format: date-time + description: The date and time at which consumer was invited + example: '2006-01-02T15:04:05-07:00' + readOnly: true + invite_expires_at: + type: string + format: date-time + description: >- + The date and time at which the invitation will expire. + Only for invited shares + example: '2006-01-02T15:04:05-07:00' + readOnly: true + redeemed_at: + type: string + format: date-time + description: The date and time at which the invite was redeemed + example: '2006-01-02T15:04:05-07:00' + readOnly: true + provider_user: + description: The provider user/inviter + readOnly: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + service_account: + description: The service account associated with this object. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + cloud_cluster: + description: The cloud cluster to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + status: + $ref: '#/components/schemas/cdx.v1.ProviderShareStatus' + required: + - api_version + - kind + - id + - provider_user_name + - delivery_method + - invited_at + - invite_expires_at + - provider_user + - cloud_cluster + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteCdxV1ProviderShare + summary: Delete a Provider Share + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Regions Model - - - name: Clusters (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) + Make a request to delete a provider share. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the provider share. + tags: + - Provider Shares (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Provider Share is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /cdx/v1/provider-shares/{id}:resend: + post: + summary: Resend + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - The API allows you to list, create, read, and delete your Schema Registry clusters. + Resend provider share + x-lifecycle-stage: General Availability + x-self-access: true + x-name: cdx.v1.ProviderShare + operationId: resendCdxV1ProviderShare + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the provider share. + tags: + - Provider Shares (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: No Content + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /cdx/v1/consumer-shared-resources: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listCdxV1ConsumerSharedResources + summary: List of Consumer Shared Resources + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). + Retrieve a sorted, filtered, paginated list of all consumer shared + resources. + parameters: + - name: stream_share + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: ss-1234 + description: Filter the results by exact match for stream_share. + - name: include_deleted + in: query + required: false + schema: + $ref: '#/components/schemas/BooleanFilter' + description: Include deactivated shared resources + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Consumer Shared Resources (cdx/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: Consumer Shared Resource. + content: + application/json: + schema: + type: object + description: >- + `ConsumerSharedResource` object contains details of the data + stream + (topic, schema registry subjects, sharing metadata) that you + received through Stream Sharing. - ## The Clusters Model - - - name: Clusters (srcm/v3) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - The API allows you to list and read your Schema Registry clusters. + ## The Consumer Shared Resources Model + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ConsumerSharedResourceList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `ConsumerSharedResource` object contains details of the + data stream + + (topic, schema registry subjects, sharing metadata) that + you received through Stream Sharing. + + + + ## The Consumer Shared Resources Model + + + properties: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - ConsumerSharedResource + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + cloud: + type: string + description: >- + The cloud service provider of the provider shared + cluster. + x-extensible-enum: + - AWS + - AZURE + - GCP + example: AWS + x-immutable: true + readOnly: true + network_connection_types: + type: array + description: > + The network connection types of the provider shared + cluster. If the shared cluster is on public + internet, + + then the list will be empty + items: + $ref: '#/components/schemas/cdx.v1.ConnectionType' + uniqueItems: true + x-immutable: true + readOnly: true + display_name: + type: string + description: Consumer resource display name + example: Stock Trades + x-immutable: true + readOnly: true + description: + type: string + description: Description of consumer resource + example: >- + This topic provides realtime data for the orders + placed through the website + x-immutable: true + readOnly: true + tags: + type: array + items: + type: string + description: list of tags + example: + - recent + - pending + x-immutable: true + readOnly: true + schemas: + type: array + items: + type: object + properties: + subject: + type: string + description: Name of the subject + example: User + version: + type: integer + description: Version number + format: int32 + example: 1 + id: + type: integer + description: Globally unique identifier of the schema + format: int32 + example: 100001 + schema_type: + type: string + description: Schema type + example: AVRO + schema: + type: string + description: Schema definition string + example: '{"schema": "{"type": "string"}"}' + description: Schema + description: >- + List of schemas in JSON format. This field is work + in progress and subject to changes. + x-immutable: true + readOnly: true + organization_name: + type: string + description: Shared resource's organization name + example: ABC Corp + x-immutable: true + readOnly: true + organization_description: + type: string + description: Shared resource's organization description + example: ABC Corp is the biggest online retailer + x-immutable: true + readOnly: true + organization_contact: + type: string + format: email + example: jane.doe@example.com + description: Email of the shared resource's organization contact + x-immutable: true + readOnly: true + logo_url: + type: string + format: uri + description: Resource logo url + example: >- + https://confluent.cloud/api/cdx/v1/consumer-shared-resources/sr-123/images/logo + x-immutable: true + readOnly: true + required: + - id + - metadata + - cloud + - display_name + - organization_name + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /cdx/v1/consumer-shared-resources/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getCdxV1ConsumerSharedResource + summary: Read a Consumer Shared Resource + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - ## The Clusters Model - - - name: Compatibility (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to read a consumer shared resource. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the consumer shared resource. + tags: + - Consumer Shared Resources (cdx/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: Consumer Shared Resource. + content: + application/json: + schema: + type: object + description: >- + `ConsumerSharedResource` object contains details of the data + stream - The API allows you to test schema compatibility. + (topic, schema registry subjects, sharing metadata) that you + received through Stream Sharing. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Config (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to manage and query schema compatibility settings and cluster configurations. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Contexts (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + ## The Consumer Shared Resources Model - The API allows you to retrieve information about schema contexts. + + properties: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ConsumerSharedResource + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + cloud: + type: string + description: The cloud service provider of the provider shared cluster. + x-extensible-enum: + - AWS + - AZURE + - GCP + example: AWS + x-immutable: true + readOnly: true + network_connection_types: + type: array + description: > + The network connection types of the provider shared + cluster. If the shared cluster is on public internet, - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Exporters (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + then the list will be empty + items: + $ref: '#/components/schemas/cdx.v1.ConnectionType' + uniqueItems: true + x-immutable: true + readOnly: true + display_name: + type: string + description: Consumer resource display name + example: Stock Trades + x-immutable: true + readOnly: true + description: + type: string + description: Description of consumer resource + example: >- + This topic provides realtime data for the orders placed + through the website + x-immutable: true + readOnly: true + tags: + type: array + items: + type: string + description: list of tags + example: + - recent + - pending + x-immutable: true + readOnly: true + schemas: + type: array + items: + type: object + properties: + subject: + type: string + description: Name of the subject + example: User + version: + type: integer + description: Version number + format: int32 + example: 1 + id: + type: integer + description: Globally unique identifier of the schema + format: int32 + example: 100001 + schema_type: + type: string + description: Schema type + example: AVRO + schema: + type: string + description: Schema definition string + example: '{"schema": "{"type": "string"}"}' + description: Schema + description: >- + List of schemas in JSON format. This field is work in + progress and subject to changes. + x-immutable: true + readOnly: true + organization_name: + type: string + description: Shared resource's organization name + example: ABC Corp + x-immutable: true + readOnly: true + organization_description: + type: string + description: Shared resource's organization description + example: ABC Corp is the biggest online retailer + x-immutable: true + readOnly: true + organization_contact: + type: string + format: email + example: jane.doe@example.com + description: Email of the shared resource's organization contact + x-immutable: true + readOnly: true + logo_url: + type: string + format: uri + description: Resource logo url + example: >- + https://confluent.cloud/api/cdx/v1/consumer-shared-resources/sr-123/images/logo + x-immutable: true + readOnly: true + required: + - api_version + - kind + - id + - cloud + - display_name + - organization_name + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /cdx/v1/consumer-shared-resources/{id}/images/{file_name}: + get: + summary: Get image for shared resource + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete exporters. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Modes (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Returns the image file for the shared resource + x-lifecycle-stage: General Availability + x-self-access: true + x-name: cdx.v1.ConsumerSharedResource + operationId: imageCdxV1ConsumerSharedResource + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the consumer shared resource. + - name: file_name + in: path + required: true + schema: + type: string + description: The File Name + tags: + - Consumer Shared Resources (cdx/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: Returns the image file's binary content + content: + image/*: + schema: + type: string + format: binary + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /cdx/v1/consumer-shared-resources/{id}:network: + get: + summary: Get shared resource's network configuration + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete schema subjects modes of operation. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Schemas (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Returns network information of the shared resource + x-lifecycle-stage: General Availability + x-self-access: true + x-name: cdx.v1.ConsumerSharedResource + operationId: networkCdxV1ConsumerSharedResource + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the consumer shared resource. + tags: + - Consumer Shared Resources (cdx/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: The network information of the shared resource + content: + application/json: + schema: + $ref: '#/components/schemas/cdx.v1.Network' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /cdx/v1/consumer-shares: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listCdxV1ConsumerShares + summary: List of Consumer Shares + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete schemas. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Subjects (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Retrieve a sorted, filtered, paginated list of all consumer shares. + parameters: + - name: shared_resource + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: sr-1234 + description: Filter the results by exact match for shared_resource. + - name: include_deleted + in: query + required: false + schema: + $ref: '#/components/schemas/BooleanFilter' + description: Include deactivated shares + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Consumer Shares (cdx/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: Consumer Share. + content: + application/json: + schema: + type: object + description: >- + `ConsumerShare` object respresents the share that you received + through Stream Sharing. - The API allows you to create, retrieve, update, and delete schema subjects and versions. - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Key Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete key encryption keys. + Related guide: [Consumer Stream Shares in Confluent + Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Data Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete data encryption keys. + ## The Consumer Shares Model - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Entity (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ConsumerShareList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `ConsumerShare` object respresents the share that you + received through Stream Sharing. + + + + Related guide: [Consumer Stream Shares in Confluent + Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + + ## The Consumer Shares Model + + + properties: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - ConsumerShare + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + provider_organization_name: + type: string + description: Provider organization name + example: Nasdaq + readOnly: true + provider_user_name: + type: string + description: Name or email of the provider user + example: Jane Doe + readOnly: true + invite_expires_at: + type: string + format: date-time + description: >- + The date and time at which the invitation will + expire. Only for invited shares + example: '2006-01-02T15:04:05-07:00' + readOnly: true + consumer_organization_name: + type: string + description: Consumer organization name. Deprecated + example: Nasdaq + readOnly: true + consumer_user_name: + type: string + description: Name of the consumer. Deprecated + example: John Doe + readOnly: true + consumer_user: + description: The consumer user/invitee + readOnly: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + status: + $ref: '#/components/schemas/cdx.v1.ConsumerShareStatus' + required: + - id + - metadata + - provider_organization_name + - provider_user_name + - consumer_user + - status + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /cdx/v1/consumer-shares/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getCdxV1ConsumerShare + summary: Read a Consumer Share + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - The API allows you to create, retrieve, update, and delete catalog entities. - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Search (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to search for entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Types (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Provider Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. - - - ## The Provider Shared Resources Model - - - name: Provider Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderShare` object respresents the share that you have created through Stream Sharing. - - - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). - - ## The Provider Shares Model - - - name: Consumer Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Make a request to read a consumer share. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the consumer share. + tags: + - Consumer Shares (cdx/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: Consumer Share. + content: + application/json: + schema: + type: object + description: >- + `ConsumerShare` object respresents the share that you received + through Stream Sharing. - `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. - ## The Consumer Shared Resources Model - - - name: Consumer Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Related guide: [Consumer Stream Shares in Confluent + Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). - `ConsumerShare` object respresents the share that you received through Stream Sharing. + ## The Consumer Shares Model - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + properties: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ConsumerShare + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + provider_organization_name: + type: string + description: Provider organization name + example: Nasdaq + readOnly: true + provider_user_name: + type: string + description: Name or email of the provider user + example: Jane Doe + readOnly: true + invite_expires_at: + type: string + format: date-time + description: >- + The date and time at which the invitation will expire. + Only for invited shares + example: '2006-01-02T15:04:05-07:00' + readOnly: true + consumer_organization_name: + type: string + description: Consumer organization name. Deprecated + example: Nasdaq + readOnly: true + consumer_user_name: + type: string + description: Name of the consumer. Deprecated + example: John Doe + readOnly: true + consumer_user: + description: The consumer user/invitee + readOnly: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + status: + $ref: '#/components/schemas/cdx.v1.ConsumerShareStatus' + required: + - api_version + - kind + - id + - provider_organization_name + - provider_user_name + - consumer_user + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteCdxV1ConsumerShare + summary: Delete a Consumer Share + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Consumer Shares Model - - - name: Shared Tokens (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Encrypted Token shared with consumer + Make a request to delete a consumer share. + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the consumer share. + tags: + - Consumer Shares (cdx/v1) + security: + - cloud-api-key: [] + responses: + '204': + description: A Consumer Share is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /cdx/v1/shared-tokens:resources: + post: + summary: Validate token to view shared resources + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Shared Tokens Model - - - name: Opt Ins (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Validate and decrypt the shared token and view token's shared resources + requestBody: + content: + application/json: + schema: + type: object + description: >- + Encrypted Token shared with consumer + + + + ## The Shared Tokens Model + + + properties: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - SharedToken + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + token: + type: string + description: The encrypted token + required: + - token + x-lifecycle-stage: General Availability + x-self-access: true + x-name: cdx.v1.SharedToken + operationId: resourcesCdxV1SharedToken + tags: + - Shared Tokens (cdx/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: > + Consumer validates share token and view consumer resources before + redeeming in the workflow + content: + application/json: + schema: + type: object + properties: + consumer_shared_resources: + type: array + items: + $ref: '#/components/schemas/cdx.v1.ConsumerSharedResource' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /cdx/v1/shared-tokens:redeem: + post: + summary: Redeem token + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Stream sharing opt in options - ## The Opt Ins Model - - - name: Organizations (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) + Redeem the shared token for shared topic and cluster access information + requestBody: + content: + application/json: + schema: + type: object + description: Redeem share with token request parameters + properties: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - RedeemTokenRequest + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + token: + type: string + description: The encrypted token + aws_account: + type: string + description: Consumer's AWS account ID for PrivateLink access. + example: '000000000000' + azure_subscription: + type: string + description: Consumer's Azure subscription ID for PrivateLink access. + example: 00000000-0000-0000-0000-000000000000 + gcp_project: + type: string + minLength: 1 + description: >- + Consumer's GCP project ID for Private Service Connect + access. + required: + - token + x-lifecycle-stage: General Availability + x-self-access: true + x-name: cdx.v1.SharedToken + operationId: redeemCdxV1SharedToken + tags: + - Shared Tokens (cdx/v1) + security: + - cloud-api-key: [] + responses: + '200': + description: | + Consumer redeems shared token + content: + application/json: + schema: + $ref: '#/components/schemas/cdx.v1.RedeemTokenResponse' + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /cdx/v1/opt-in: + get: + summary: Read the organization's stream sharing opt-in settings + description: > + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - `Organizations` objects represent an entire Confluent Cloud organization. - Partners are allowed to get an organization they have signed up or - list all organizations they have signed up. - - name: Signup (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - `Signup` APIs can only be performed by partners. - - name: Networks (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + Returns the organization's stream sharing opt-in settings. + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getCdxV1OptIn + tags: + - Opt Ins (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Opt In. + content: + application/json: + schema: + type: object + description: >- + Stream sharing opt in options - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. - The API allows you to list, create, read, update, and delete your networks. + ## The Opt Ins Model + + properties: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - OptIn + stream_share_enabled: + type: boolean + description: Enable stream sharing for the organization + required: + - api_version + - kind + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + summary: Set the organization's stream sharing opt-in settings + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - ## The Networks Model - + Updates the organization's stream sharing opt-in settings. - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - - name: Peerings (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateCdxV1OptIn + tags: + - Opt Ins (cdx/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/cdx.v1.OptIn' + responses: + '200': + description: Opt In. + content: + application/json: + schema: + type: object + description: >- + Stream sharing opt in options - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). + ## The Opt Ins Model - - ## The Peerings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - - name: Transit Gateway Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AWS Transit Gateway Attachments - - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - - ## The Transit Gateway Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - - name: Private Link Accesses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. - - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). - - - ## The Private Link Accesses Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - - name: Network Link Services (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Services Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - - name: Network Link Endpoints (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Endpoints Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - - name: Network Link Service Associations (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - List of incoming Network Link Enpoints associated with the Network Link Service. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Service Associations Model - - - name: Gateways (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A gateway is a resource that defines network access to Confluent cloud resources. - - - ## The Gateways Model - - - name: IP Addresses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - IP Addresses - - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) - - ## The IP Addresses Model - - - name: Private Link Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. - - - ## The Private Link Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - - name: Private Link Attachment Connections (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. - - - ## The Private Link Attachment Connections Model - - - name: Identity Providers (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Identity Provider. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Identity Providers Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - - name: Jwks (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. - - The API allows you to refresh JWKS public key data. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Jwks Model - - - name: Identity Pools (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. - - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. - - - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). - - ## The Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - - name: OAuth Tokens (sts/v1) - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of - external identities to access Confluent Cloud APIs - - name: Client Quotas (kafka-quotas/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ClientQuota` objects represent Client Quotas you can set at the service account level. - - The API allows you to list, create, read, update, and delete your client quotas. - - - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - - ## The Client Quotas Model - - - name: Pipelines (sd/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. - - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. - - - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). - - ## The Pipelines Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - - name: Keys (byok/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. - - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. - - - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). - - ## The Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - - name: Costs (billing/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cost` objects represent the aggregated billing costs for an organization - - - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). - - ## The Costs Model - - - name: Group Mappings (iam/v2/sso) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. - - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. - - - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). - - ## The Group Mappings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - - name: Compute Pools (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. - - - ## The Compute Pools Model - - - name: Regions (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. - - - ## The Regions Model - - - name: Statements (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - - name: Statement Results (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementResult` represents a result of a `Statement` resource. - The API allows you to read your statement's results. - ## The Statement Results Model - - - name: Statement Exceptions (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementException` represents an exception of a `Statement` resource. - The API allows you to read your statement's exceptions. - ## The Statement Exceptions Model - - - name: Connections (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Connection` represents a core resource used to model SQL connections for execution. - A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - - name: DNS Forwarders (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add, remove, and update DNS forwarder for your gateway. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - - - ## The DNS Forwarders Model - - - name: Access Points (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. - - - ## The Access Points Model - - - name: DNS Records (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - - ## The DNS Records Model - - - name: Certificate Authorities (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Certificate Authority. - - - Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). - - ## The Certificate Authorities Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `certificate_authorities_per_org` | Number of certificate authorities per organization | - - name: Certificate Identity Pools (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Identitypool` objects represent workload identities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities - - - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). - - ## The Certificate Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - - name: Integrations (pim/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). - - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. - - - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). - - ## The Integrations Model - - - name: Flink Artifacts (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. - - - ## The Flink Artifacts Model - - - name: Presigned Urls (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - - ## The Presigned Urls Model - - - name: Flink Artifact Versions (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. - - - ## The Flink Artifact Versions Model - + + properties: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - OptIn + stream_share_enabled: + type: boolean + description: Enable stream sharing for the organization + required: + - api_version + - kind + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true components: schemas: SearchFilter: @@ -1100,13 +4293,18 @@ components: description: Filter for whether this value is true or false. cdx.v1.ProviderSharedResourceList: type: object - description: |- + description: >- `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + (topic, schema registry subjects, sharing metadata) that you have shared + through Stream Sharing. + ## The Provider Shared Resources Model - + + required: - api_version - kind @@ -1117,7 +4315,9 @@ components: type: string enum: - cdx/v1 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string @@ -1126,82 +4326,325 @@ components: enum: - ProviderSharedResourceList metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/cdx/v1/provider-shared-resources' - last: - example: 'https://api.confluent.cloud/cdx/v1/provider-shared-resources?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/cdx/v1/provider-shared-resources?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/cdx/v1/provider-shared-resources?page_token=UvmDWOB1iwfAIBPj6EYb' + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 data: type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. items: - allOf: - - $ref: '#/components/schemas/cdx.v1.ProviderSharedResource' - - type: object + type: object + description: >- + `ProviderSharedResource` object contains details of the data + stream + + (topic, schema registry subjects, sharing metadata) that you have + shared through Stream Sharing. + + + + ## The Provider Shared Resources Model + + + properties: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ProviderSharedResource + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + crn: + type: string + description: Deprecated please use resources attribute. + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-1111aaa/kafka=lkc-111aaa/topic=my.topic + x-immutable: true + resources: + type: array + minItems: 1 + description: List of resource crns that are shared together + items: + type: string + description: crn that specifies the shared resource + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic + display_name: + type: string + description: Shared resource display name + example: Stock Trades + description: + type: string + description: Description of shared resource + example: >- + This topic provides realtime data for the orders placed + through the website + x-immutable: true + readOnly: true + tags: + type: array + items: + type: string + description: list of tags + example: + - recent + - pending + x-immutable: true + readOnly: true + schemas: + type: array + items: + type: object + properties: + subject: + type: string + description: Name of the subject + example: User + version: + type: integer + description: Version number + format: int32 + example: 1 + id: + type: integer + description: Globally unique identifier of the schema + format: int32 + example: 100001 + schema_type: + type: string + description: Schema type + example: AVRO + schema: + type: string + description: Schema definition string + example: '{"schema": "{"type": "string"}"}' + description: Schema + description: >- + List of schemas in JSON format. This field is work in progress + and subject to changes. + x-immutable: true + readOnly: true + organization_description: + type: string + description: Shared resource's organization description + example: ABC Corp is the biggest online retailer + organization_contact: + type: string + format: email + example: jane.doe@example.com + description: Email of contact person from the organization + logo_url: + type: string + format: uri + description: Resource logo url + example: >- + https://confluent.cloud/api/cdx/v1/provider-shared-resources/sr-123/images/logo + readOnly: true + organization_name: + description: Organization to which the shared resource belongs. Deprecated + example: ABC Corp + x-immutable: true + readOnly: true + environment_name: + type: string + description: The environment name of the shared resource. Deprecated + example: Public Env + x-immutable: true + readOnly: true + cluster_name: + type: string + description: The cluster display name of the shared resource. Deprecated + example: Published Trades + x-immutable: true + readOnly: true + cloud_cluster: + description: The cloud cluster to which this belongs. + x-immutable: true + type: object required: - id - - metadata - - display_name - - organization_name - - environment_name - - cluster_name - - cloud_cluster + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - id + - metadata + - display_name + - organization_name + - environment_name + - cluster_name + - cloud_cluster uniqueItems: true - ListMeta: - type: object - description: ListMeta describes metadata that resource collections may have - properties: - first: - description: 'A link to the first page of results. If a response does not contain a first link, then direct navigation to the first page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds' - last: - description: 'A link to the last page of results. If a response does not contain a last link, then direct navigation to the last page is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT' - prev: - description: 'A link to the previous page of results. If a response does not contain a prev link, then either there is no previous data or backwards traversal through the result set is not supported.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld' - next: - description: 'A link to the next page of results. If a response does not contain a next link, then there is no more data available.' - type: string - format: uri - nullable: true - example: 'https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb' - total_size: - description: Number of records in the full result set. This response may be paginated and have a smaller number of records. - type: integer - format: int32 - minimum: 0 - example: 123 cdx.v1.ProviderSharedResource: type: object - description: |- + description: >- `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. + + (topic, schema registry subjects, sharing metadata) that you have shared + through Stream Sharing. + ## The Provider Shared Resources Model - + + properties: api_version: type: string enum: - cdx/v1 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string @@ -1210,25 +4653,76 @@ components: enum: - ProviderSharedResource id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). type: string maxLength: 255 readOnly: true example: dlz-f3a90de metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/cdx/v1/provider-shared-resources/psr-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/provider-shared-resource=psr-12345' + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object crn: type: string description: Deprecated please use resources attribute. format: uri - pattern: '^crn://.+$' - example: 'crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-1111aaa/kafka=lkc-111aaa/topic=my.topic' + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-1111aaa/kafka=lkc-111aaa/topic=my.topic x-immutable: true resources: type: array @@ -1238,8 +4732,9 @@ components: type: string description: crn that specifies the shared resource format: uri - pattern: '^crn://.+$' - example: 'crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic' + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic display_name: type: string description: Shared resource display name @@ -1247,7 +4742,9 @@ components: description: type: string description: Description of shared resource - example: This topic provides realtime data for the orders placed through the website + example: >- + This topic provides realtime data for the orders placed through the + website x-immutable: true readOnly: true tags: @@ -1263,12 +4760,36 @@ components: schemas: type: array items: - allOf: - - $ref: '#/components/schemas/cdx.v1.Schema' - - type: object - description: List of schemas in JSON format. This field is work in progress and subject to changes. - x-immutable: true - readOnly: true + type: object + properties: + subject: + type: string + description: Name of the subject + example: User + version: + type: integer + description: Version number + format: int32 + example: 1 + id: + type: integer + description: Globally unique identifier of the schema + format: int32 + example: 100001 + schema_type: + type: string + description: Schema type + example: AVRO + schema: + type: string + description: Schema definition string + example: '{"schema": "{"type": "string"}"}' + description: Schema + description: >- + List of schemas in JSON format. This field is work in progress and + subject to changes. + x-immutable: true + readOnly: true organization_description: type: string description: Shared resource's organization description @@ -1282,7 +4803,8 @@ components: type: string format: uri description: Resource logo url - example: 'https://confluent.cloud/api/cdx/v1/provider-shared-resources/sr-123/images/logo' + example: >- + https://confluent.cloud/api/cdx/v1/provider-shared-resources/sr-123/images/logo readOnly: true organization_name: description: Organization to which the shared resource belongs. Deprecated @@ -1302,604 +4824,603 @@ components: x-immutable: true readOnly: true cloud_cluster: - allOf: - - $ref: '#/components/schemas/EnvScopedObjectReference' description: The cloud cluster to which this belongs. x-immutable: true - AclOperation: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - AclPatternType: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - MATCH - - LITERAL - - PREFIXED - AclPermission: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - DENY - - ALLOW - AclResourceType: - type: string - enum: - - UNKNOWN - - ANY - - TOPIC - - GROUP - - CLUSTER - - TRANSACTIONAL_ID - - DELEGATION_TOKEN - BrokerTaskType: - type: string - enum: - - add-broker - - remove-broker - MirrorTopicStatus: - enum: - - ACTIVE - - FAILED - - LINK_FAILED - - LINK_PAUSED - - PAUSED - - PENDING_STOPPED - - SOURCE_UNAVAILABLE - - STOPPED - - PENDING_MIRROR - - PENDING_SYNCHRONIZE - - PENDING_SETUP_FOR_RESTORE - - PENDING_RESTORE - type: string - Failure: - type: object - description: Provides information about problems encountered while performing an operation. - required: - - errors - properties: - errors: - description: List of errors which caused this operation to fail - type: array - items: - $ref: '#/components/schemas/Error' - uniqueItems: true - AlterConfigBatchRequestData: + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + cdx.v1.ProviderShareList: type: object + description: >- + `ProviderShare` object respresents the share that you have created + through Stream Sharing. + + + + Related guide: [Provider Stream Shares in Confluent + Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + + ## The Provider Shares Model + + required: + - api_version + - kind + - metadata - data properties: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ProviderShareList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 data: type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. items: type: object - required: - - name + description: >- + `ProviderShare` object respresents the share that you have created + through Stream Sharing. + + + + Related guide: [Provider Stream Shares in Confluent + Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + + ## The Provider Shares Model + + properties: - name: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ProviderShare + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + consumer_user_name: + type: string + description: Name of the consumer + example: John Doe + readOnly: true + consumer_organization_name: type: string - value: + description: Consumer organization name + example: Nasdaq + readOnly: true + provider_user_name: type: string - nullable: true - operation: + description: Name or email of the provider user. Deprecated + example: Jane Doe + readOnly: true + delivery_method: + description: Method by which the invite will be delivered type: string x-extensible-enum: - - SET - - DELETE - nullable: true - validate_only: - type: boolean - CreateAclRequestData: - type: object - required: - - resource_type - - resource_name - - pattern_type - - principal - - host - - operation - - permission - properties: - resource_type: - $ref: '#/components/schemas/AclResourceType' - resource_name: - type: string - pattern_type: - $ref: '#/components/schemas/AclPatternType' - principal: - type: string - host: - type: string - operation: - $ref: '#/components/schemas/AclOperation' - permission: - $ref: '#/components/schemas/AclPermission' - CreateAclRequestDataList: - allOf: - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/CreateAclRequestData' - CreateTopicRequestData: - type: object - required: - - topic_name - properties: - topic_name: - type: string - partitions_count: - type: integer - replication_factor: - type: integer - configs: - type: array - items: - type: object - required: - - name - properties: - name: + - EMAIL + example: EMAIL + x-immutable: true + consumer_restriction: + description: Restrictions on the consumer that can redeem this token + discriminator: + propertyName: kind + mapping: + Email: '#/components/schemas/cdx.v1.EmailConsumerRestriction' + x-immutable: true + type: object + required: + - kind + - email + properties: + kind: + description: The resource kind + type: string + enum: + - Email + email: + type: string + format: email + description: Email based matching for the consumers + invited_at: type: string - value: + format: date-time + description: The date and time at which consumer was invited + example: '2006-01-02T15:04:05-07:00' + readOnly: true + invite_expires_at: type: string - nullable: true - validate_only: - type: boolean - ProduceRequest: - type: object - properties: - partition_id: - type: integer - nullable: true - format: int32 - headers: - type: array - items: - $ref: '#/components/schemas/ProduceRequestHeader' - key: - $ref: '#/components/schemas/ProduceRequestData' - value: - $ref: '#/components/schemas/ProduceRequestData' - timestamp: - type: string - format: date-time - nullable: true - UpdateConfigRequestData: + format: date-time + description: >- + The date and time at which the invitation will expire. Only + for invited shares + example: '2006-01-02T15:04:05-07:00' + readOnly: true + redeemed_at: + type: string + format: date-time + description: The date and time at which the invite was redeemed + example: '2006-01-02T15:04:05-07:00' + readOnly: true + provider_user: + description: The provider user/inviter + readOnly: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + service_account: + description: The service account associated with this object. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + cloud_cluster: + description: The cloud cluster to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + status: + $ref: '#/components/schemas/cdx.v1.ProviderShareStatus' + required: + - id + - metadata + - provider_user_name + - delivery_method + - invited_at + - invite_expires_at + - provider_user + - cloud_cluster + - status + uniqueItems: true + cdx.v1.CreateProviderShareRequest: type: object + description: Create share request properties: - value: - type: string - nullable: true - CreateLinkRequestData: - properties: - source_cluster_id: - type: string - destination_cluster_id: - type: string - remote_cluster_id: - description: The expected remote cluster ID. - type: string - cluster_link_id: - description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' + api_version: type: string - configs: - items: - $ref: '#/components/schemas/ConfigData' - type: array - type: object - UpdateLinkConfigRequestData: - properties: - value: + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: type: string - required: - - value - type: object - CreateMirrorTopicRequestData: - properties: - source_topic_name: + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CreateProviderShareRequest + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). type: string - mirror_topic_name: + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + delivery_method: type: string - replication_factor: - type: integer - configs: - type: array - items: - $ref: '#/components/schemas/ConfigData' - required: - - source_topic_name - type: object - AlterMirrorsRequestData: - properties: - mirror_topic_names: - description: The mirror topics specified as a list of topic names. + description: Method by which the invite will be delivered + x-extensible-enum: + - EMAIL + example: EMAIL + consumer_restriction: + description: Restrictions on the consumer that can redeem this token + discriminator: + propertyName: kind + mapping: + Email: '#/components/schemas/cdx.v1.EmailConsumerRestriction' + type: object + required: + - kind + - email + properties: + kind: + description: The resource kind + type: string + enum: + - Email + email: + type: string + format: email + description: Email based matching for the consumers + resources: type: array + minItems: 1 + description: List of resource crns to be shared items: type: string - mirror_topic_name_pattern: - description: The mirror topics specified as a pattern. - type: string - type: object - RemoveBrokersRequestData: - properties: - broker_ids: - type: array - items: - type: integer - required: - - broker_ids - type: object - BrokerReplicaExclusionBatchRequestData: + description: crn that specifies the sharedresource + format: uri + pattern: ^crn://.+$ + example: >- + crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic + cdx.v1.ProviderShare: type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' - ObjectMeta: - description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' - required: - - self + description: >- + `ProviderShare` object respresents the share that you have created + through Stream Sharing. + + + + Related guide: [Provider Stream Shares in Confluent + Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). + + + ## The Provider Shares Model + + properties: - self: - description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + api_version: type: string - format: uri + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true - example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' - resource_name: - description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + kind: type: string - format: uri + description: Kind defines the object this REST resource represents. readOnly: true - example: 'crn://confluent.cloud/kafka=lkc-f3a90de' - created_at: + enum: + - ProviderShare + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' + maxLength: 255 readOnly: true - description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. - updated_at: + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + consumer_user_name: type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' + description: Name of the consumer + example: John Doe readOnly: true - description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. - deleted_at: - type: string - format: date-time - example: '2006-01-02T15:04:05-07:00' - readOnly: true - description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. - readOnly: true - cdx.v1.Schema: - type: object - properties: - subject: - type: string - description: Name of the subject - example: User - version: - type: integer - description: Version number - format: int32 - example: 1 - id: - type: integer - description: Globally unique identifier of the schema - format: int32 - example: 100001 - schema_type: - type: string - description: Schema type - example: AVRO - schema: - type: string - description: Schema definition string - example: '{"schema": "{"type": "string"}"}' - description: Schema - EnvScopedObjectReference: - type: object - description: ObjectReference provides information for you to locate the referred object - required: - - id - - related - - resource_name - properties: - id: - type: string - description: ID of the referred resource - minLength: 1 - maxLength: 255 - environment: - type: string - description: 'Environment of the referred resource, if env-scoped' - minLength: 1 - maxLength: 255 - related: - type: string - format: uri - description: API URL for accessing or modifying the referred object - minLength: 1 - readOnly: true - resource_name: - type: string - format: uri - description: CRN reference to the referred resource - minLength: 1 - readOnly: true - Error: - type: object - description: Describes a particular error encountered while performing an operation. - properties: - id: - description: A unique identifier for this particular occurrence of the problem. - type: string - maxLength: 255 - status: - description: 'The HTTP status code applicable to this problem, expressed as a string value.' - type: string - code: - description: 'An application-specific error code, expressed as a string value.' - type: string - title: - description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' - type: string - detail: - description: A human-readable explanation specific to this occurrence of the problem. - type: string - source: - type: object - description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' - properties: - pointer: - description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' - type: string - parameter: - description: A string indicating which query parameter caused the error. - type: string - error_code: - type: integer - format: int32 - message: - type: string - nullable: true - additionalProperties: false - ProduceRequestHeader: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - format: byte - nullable: true - ProduceRequestData: - type: object - properties: - type: - type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - data: - $ref: '#/components/schemas/AnyValue' - nullable: true - ConfigData: - example: - name: name - value: value - properties: - name: - type: string - value: - nullable: true - type: string - required: - - name - - value - BrokerReplicaExclusionRequestData: - type: object - required: - - broker_id - - reason - properties: - broker_id: - type: integer - reason: - type: string - AnyValue: - nullable: true - cdx.v1.ProviderSharedResourceUpdate: - type: object - description: |- - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. - - - ## The Provider Shared Resources Model - - properties: - api_version: - type: string - enum: - - cdx/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - ProviderSharedResource - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/cdx/v1/provider-shared-resources/psr-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/provider-shared-resource=psr-12345' - resources: - type: array - minItems: 1 - description: List of resource crns that are shared together - items: - type: string - description: crn that specifies the shared resource - format: uri - pattern: '^crn://.+$' - example: 'crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic' - display_name: - type: string - description: Shared resource display name - example: Stock Trades - organization_description: - type: string - description: Shared resource's organization description - example: ABC Corp is the biggest online retailer - organization_contact: - type: string - format: email - example: jane.doe@example.com - description: Email of contact person from the organization - logo_url: - type: string - format: uri - description: Resource logo url - example: 'https://confluent.cloud/api/cdx/v1/provider-shared-resources/sr-123/images/logo' - readOnly: true - cdx.v1.ProviderShareList: - type: object - description: |- - `ProviderShare` object respresents the share that you have created through Stream Sharing. - - - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). - - ## The Provider Shares Model - - required: - - api_version - - kind - - metadata - - data - properties: - api_version: - type: string - enum: - - cdx/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - ProviderShareList - metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/cdx/v1/provider-shares' - last: - example: 'https://api.confluent.cloud/cdx/v1/provider-shares?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/cdx/v1/provider-shares?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/cdx/v1/provider-shares?page_token=UvmDWOB1iwfAIBPj6EYb' - data: - type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. - items: - allOf: - - $ref: '#/components/schemas/cdx.v1.ProviderShare' - - type: object - required: - - id - - metadata - - provider_user_name - - delivery_method - - invited_at - - invite_expires_at - - provider_user - - cloud_cluster - - status - uniqueItems: true - cdx.v1.ProviderShare: - type: object - description: |- - `ProviderShare` object respresents the share that you have created through Stream Sharing. - - - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). - - ## The Provider Shares Model - - properties: - api_version: - type: string - enum: - - cdx/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - ProviderShare - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/cdx/v1/provider-shares/ps-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/provider-share=ps-12345' - consumer_user_name: - type: string - description: Name of the consumer - example: John Doe - readOnly: true - consumer_organization_name: + consumer_organization_name: type: string description: Consumer organization name example: Nasdaq @@ -1922,9 +5443,21 @@ components: propertyName: kind mapping: Email: '#/components/schemas/cdx.v1.EmailConsumerRestriction' - oneOf: - - $ref: '#/components/schemas/cdx.v1.EmailConsumerRestriction' x-immutable: true + type: object + required: + - kind + - email + properties: + kind: + description: The resource kind + type: string + enum: + - Email + email: + type: string + format: email + description: Email based matching for the consumers invited_at: type: string format: date-time @@ -1934,7 +5467,9 @@ components: invite_expires_at: type: string format: date-time - description: The date and time at which the invitation will expire. Only for invited shares + description: >- + The date and time at which the invitation will expire. Only for + invited shares example: '2006-01-02T15:04:05-07:00' readOnly: true redeemed_at: @@ -1944,143 +5479,104 @@ components: example: '2006-01-02T15:04:05-07:00' readOnly: true provider_user: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' description: The provider user/inviter readOnly: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true service_account: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' description: The service account associated with this object. x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true cloud_cluster: - allOf: - - $ref: '#/components/schemas/EnvScopedObjectReference' description: The cloud cluster to which this belongs. x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true status: $ref: '#/components/schemas/cdx.v1.ProviderShareStatus' - cdx.v1.EmailConsumerRestriction: - type: object - description: Consumer restrictions limits by authenticated user's email - required: - - kind - - email - properties: - kind: - description: The resource kind - type: string - enum: - - Email - email: - type: string - format: email - description: Email based matching for the consumers - GlobalObjectReference: - type: object - description: ObjectReference provides information for you to locate the referred object - required: - - id - - related - - resource_name - properties: - id: - type: string - description: ID of the referred resource - minLength: 1 - maxLength: 255 - related: - type: string - format: uri - description: API URL for accessing or modifying the referred object - minLength: 1 - readOnly: true - resource_name: - type: string - format: uri - description: CRN reference to the referred resource - minLength: 1 - readOnly: true - cdx.v1.ProviderShareStatus: - type: object - required: - - phase - description: The status of the Provider Share - properties: - phase: - type: string - x-extensible-enum: - - INVITED - - EXPIRED - - ACTIVE - - DEACTIVATED - description: Status of share - example: ACTIVE - readOnly: true - readOnly: true - cdx.v1.CreateProviderShareRequest: - type: object - description: Create share request - properties: - api_version: - type: string - enum: - - cdx/v1 - description: APIVersion defines the schema version of this representation of a resource. - readOnly: true - kind: - type: string - description: Kind defines the object this REST resource represents. - readOnly: true - enum: - - CreateProviderShareRequest - id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' - type: string - maxLength: 255 - readOnly: true - example: dlz-f3a90de - metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/cdx/v1/create-provider-share-requests/cpsr-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/create-provider-share-request=cpsr-12345' - delivery_method: - type: string - description: Method by which the invite will be delivered - x-extensible-enum: - - EMAIL - example: EMAIL - consumer_restriction: - description: Restrictions on the consumer that can redeem this token - discriminator: - propertyName: kind - mapping: - Email: '#/components/schemas/cdx.v1.EmailConsumerRestriction' - oneOf: - - $ref: '#/components/schemas/cdx.v1.EmailConsumerRestriction' - resources: - type: array - minItems: 1 - description: List of resource crns to be shared - items: - type: string - description: crn that specifies the sharedresource - format: uri - pattern: '^crn://.+$' - example: 'crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic' cdx.v1.ConsumerSharedResourceList: type: object - description: |- + description: >- `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + (topic, schema registry subjects, sharing metadata) that you received + through Stream Sharing. + ## The Consumer Shared Resources Model - + + required: - api_version - kind @@ -2091,7 +5587,9 @@ components: type: string enum: - cdx/v1 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string @@ -2100,46 +5598,291 @@ components: enum: - ConsumerSharedResourceList metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/cdx/v1/consumer-shared-resources' - last: - example: 'https://api.confluent.cloud/cdx/v1/consumer-shared-resources?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/cdx/v1/consumer-shared-resources?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/cdx/v1/consumer-shared-resources?page_token=UvmDWOB1iwfAIBPj6EYb' + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 data: type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. items: - allOf: - - $ref: '#/components/schemas/cdx.v1.ConsumerSharedResource' - - type: object + type: object + description: >- + `ConsumerSharedResource` object contains details of the data + stream + + (topic, schema registry subjects, sharing metadata) that you + received through Stream Sharing. + + + + ## The Consumer Shared Resources Model + + + properties: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ConsumerSharedResource + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. required: - - id - - metadata - - cloud - - display_name - - organization_name + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + cloud: + type: string + description: The cloud service provider of the provider shared cluster. + x-extensible-enum: + - AWS + - AZURE + - GCP + example: AWS + x-immutable: true + readOnly: true + network_connection_types: + type: array + description: > + The network connection types of the provider shared cluster. + If the shared cluster is on public internet, + + then the list will be empty + items: + $ref: '#/components/schemas/cdx.v1.ConnectionType' + uniqueItems: true + x-immutable: true + readOnly: true + display_name: + type: string + description: Consumer resource display name + example: Stock Trades + x-immutable: true + readOnly: true + description: + type: string + description: Description of consumer resource + example: >- + This topic provides realtime data for the orders placed + through the website + x-immutable: true + readOnly: true + tags: + type: array + items: + type: string + description: list of tags + example: + - recent + - pending + x-immutable: true + readOnly: true + schemas: + type: array + items: + type: object + properties: + subject: + type: string + description: Name of the subject + example: User + version: + type: integer + description: Version number + format: int32 + example: 1 + id: + type: integer + description: Globally unique identifier of the schema + format: int32 + example: 100001 + schema_type: + type: string + description: Schema type + example: AVRO + schema: + type: string + description: Schema definition string + example: '{"schema": "{"type": "string"}"}' + description: Schema + description: >- + List of schemas in JSON format. This field is work in progress + and subject to changes. + x-immutable: true + readOnly: true + organization_name: + type: string + description: Shared resource's organization name + example: ABC Corp + x-immutable: true + readOnly: true + organization_description: + type: string + description: Shared resource's organization description + example: ABC Corp is the biggest online retailer + x-immutable: true + readOnly: true + organization_contact: + type: string + format: email + example: jane.doe@example.com + description: Email of the shared resource's organization contact + x-immutable: true + readOnly: true + logo_url: + type: string + format: uri + description: Resource logo url + example: >- + https://confluent.cloud/api/cdx/v1/consumer-shared-resources/sr-123/images/logo + x-immutable: true + readOnly: true + required: + - id + - metadata + - cloud + - display_name + - organization_name uniqueItems: true cdx.v1.ConsumerSharedResource: type: object - description: |- + description: >- `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. + + (topic, schema registry subjects, sharing metadata) that you received + through Stream Sharing. + ## The Consumer Shared Resources Model - + + properties: api_version: type: string enum: - cdx/v1 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string @@ -2148,19 +5891,69 @@ components: enum: - ConsumerSharedResource id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). type: string maxLength: 255 readOnly: true example: dlz-f3a90de metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/cdx/v1/consumer-shared-resources/csr-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/consumer-shared-resource=csr-12345' + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object cloud: type: string description: The cloud service provider of the provider shared cluster. @@ -2173,8 +5966,10 @@ components: readOnly: true network_connection_types: type: array - description: | - The network connection types of the provider shared cluster. If the shared cluster is on public internet, + description: > + The network connection types of the provider shared cluster. If the + shared cluster is on public internet, + then the list will be empty items: $ref: '#/components/schemas/cdx.v1.ConnectionType' @@ -2190,7 +5985,9 @@ components: description: type: string description: Description of consumer resource - example: This topic provides realtime data for the orders placed through the website + example: >- + This topic provides realtime data for the orders placed through the + website x-immutable: true readOnly: true tags: @@ -2206,10 +6003,34 @@ components: schemas: type: array items: - allOf: - - $ref: '#/components/schemas/cdx.v1.Schema' - - type: object - description: List of schemas in JSON format. This field is work in progress and subject to changes. + type: object + properties: + subject: + type: string + description: Name of the subject + example: User + version: + type: integer + description: Version number + format: int32 + example: 1 + id: + type: integer + description: Globally unique identifier of the schema + format: int32 + example: 100001 + schema_type: + type: string + description: Schema type + example: AVRO + schema: + type: string + description: Schema definition string + example: '{"schema": "{"type": "string"}"}' + description: Schema + description: >- + List of schemas in JSON format. This field is work in progress and + subject to changes. x-immutable: true readOnly: true organization_name: @@ -2235,24 +6056,23 @@ components: type: string format: uri description: Resource logo url - example: 'https://confluent.cloud/api/cdx/v1/consumer-shared-resources/sr-123/images/logo' + example: >- + https://confluent.cloud/api/cdx/v1/consumer-shared-resources/sr-123/images/logo x-immutable: true readOnly: true - cdx.v1.ConnectionType: - type: string - description: Network connection type. - x-extensible-enum: - - PRIVATELINK - example: PRIVATELINK cdx.v1.Network: type: object - description: The shared cluster's network configurations for consumer to setup private link + description: >- + The shared cluster's network configurations for consumer to setup + private link properties: api_version: type: string enum: - cdx/v1 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string @@ -2261,24 +6081,74 @@ components: enum: - Network id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). type: string maxLength: 255 readOnly: true example: dlz-f3a90de metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/cdx/v1/networks/n-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/network=n-12345' + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object kafka_bootstrap_url: type: string format: uri description: The kafka cluster bootstrap url - example: 'SASL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092' + example: SASL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092 x-immutable: true readOnly: true zones: @@ -2288,17 +6158,24 @@ components: uniqueItems: true minItems: 3 maxItems: 3 - description: | - The 3 availability zones for this network. They can optionally be specified for AWS networks - used with PrivateLink. Otherwise, they are automatically chosen by Confluent Cloud. + description: > + The 3 availability zones for this network. They can optionally be + specified for AWS networks + + used with PrivateLink. Otherwise, they are automatically chosen by + Confluent Cloud. - On AWS, zones are AWS [AZ IDs](https://docs.aws.amazon.com/ram/latest/userguide/working-with-az-ids.html) + + On AWS, zones are AWS [AZ + IDs](https://docs.aws.amazon.com/ram/latest/userguide/working-with-az-ids.html) (e.g. use1-az3) - On GCP, zones are GCP [zones](https://cloud.google.com/compute/docs/regions-zones) + On GCP, zones are GCP + [zones](https://cloud.google.com/compute/docs/regions-zones) (e.g. us-central1-c). - On Azure, zones are Confluent-chosen names (e.g. 1, 2, 3) since Azure does not + On Azure, zones are Confluent-chosen names (e.g. 1, 2, 3) since + Azure does not have universal zone identifiers. example: - use1-az1 @@ -2314,8 +6191,10 @@ components: type: object additionalProperties: type: string - description: | - The DNS subdomain for each zone. Present on networks that support PrivateLink. Keys are zones and + description: > + The DNS subdomain for each zone. Present on networks that support + PrivateLink. Keys are zones and + values are DNS domains. example: use1-az1: use1-az1.00000.us-east-1.aws.confluent.cloud @@ -2323,11 +6202,9 @@ components: use1-az5: use1-az5.00000.us-east-1.aws.confluent.cloud readOnly: true cloud: - oneOf: - - $ref: '#/components/schemas/cdx.v1.AwsNetwork' - - $ref: '#/components/schemas/cdx.v1.AzureNetwork' - - $ref: '#/components/schemas/cdx.v1.GcpNetwork' - description: The cloud-specific network details. These will be populated when the network reaches the READY state. + description: >- + The cloud-specific network details. These will be populated when the + network reaches the READY state. discriminator: propertyName: kind mapping: @@ -2335,81 +6212,77 @@ components: AzureNetwork: '#/components/schemas/cdx.v1.AzureNetwork' GcpNetwork: '#/components/schemas/cdx.v1.GcpNetwork' readOnly: true - cdx.v1.AwsNetwork: - type: object - description: The AWS network details. - required: - - kind - properties: - kind: - description: Network kind type. - type: string - enum: - - AwsNetwork - private_link_endpoint_service: - type: string - description: The AWS VPC endpoint service for the network (used for PrivateLink) if available. - example: com.amazonaws.vpce.eu-west-3.vpce-00000000000000000 - readOnly: true - cdx.v1.AzureNetwork: - type: object - description: The Azure network details. - required: - - kind - properties: - kind: - description: Network kind type. - type: string - enum: - - AzureNetwork - private_link_service_aliases: - type: object - description: | - The mapping of zones to PrivateLink Service Aliases if available. Keys are zones - and values are [Azure PrivateLink Service - Aliases](https://docs.microsoft.com/en-us/azure/private-link/private-link-service-overview#share-your-service) - additionalProperties: - type: string - example: - '1': 0-00000-privatelink-1.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice - '2': 0-00000-privatelink-2.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice - '3': 0-00000-privatelink-3.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice - readOnly: true - cdx.v1.GcpNetwork: - type: object - description: The GCP network details. - required: - - kind - properties: - kind: - description: Network kind type. - type: string - enum: - - GcpNetwork - private_service_connect_service_attachments: type: object - description: | - The mapping of zones to Private Service Connect Service - Attachments if available. Keys are zones and values are - [GCP Private Service Connect Service - Attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7) - additionalProperties: - type: string - example: - us-central1-a: projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-a - us-central1-b: projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-b - us-central1-c: projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-c - readOnly: true + required: + - kind + properties: + kind: + description: Network kind type. + type: string + enum: + - AwsNetwork + private_link_endpoint_service: + type: string + description: >- + The AWS VPC endpoint service for the network (used for + PrivateLink) if available. + example: com.amazonaws.vpce.eu-west-3.vpce-00000000000000000 + readOnly: true + private_link_service_aliases: + type: object + description: > + The mapping of zones to PrivateLink Service Aliases if + available. Keys are zones + + and values are [Azure PrivateLink Service + + Aliases](https://docs.microsoft.com/en-us/azure/private-link/private-link-service-overview#share-your-service) + additionalProperties: + type: string + example: + '1': >- + 0-00000-privatelink-1.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice + '2': >- + 0-00000-privatelink-2.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice + '3': >- + 0-00000-privatelink-3.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice + readOnly: true + private_service_connect_service_attachments: + type: object + description: > + The mapping of zones to Private Service Connect Service + + Attachments if available. Keys are zones and values are + + [GCP Private Service Connect Service + + Attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7) + additionalProperties: + type: string + example: + us-central1-a: >- + projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-a + us-central1-b: >- + projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-b + us-central1-c: >- + projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-c + readOnly: true cdx.v1.ConsumerShareList: type: object - description: |- - `ConsumerShare` object respresents the share that you received through Stream Sharing. + description: >- + `ConsumerShare` object respresents the share that you received through + Stream Sharing. - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + Related guide: [Consumer Stream Shares in Confluent + Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + ## The Consumer Shares Model - + + required: - api_version - kind @@ -2420,7 +6293,9 @@ components: type: string enum: - cdx/v1 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string @@ -2429,48 +6304,245 @@ components: enum: - ConsumerShareList metadata: - allOf: - - $ref: '#/components/schemas/ListMeta' - - properties: - first: - example: 'https://api.confluent.cloud/cdx/v1/consumer-shares' - last: - example: 'https://api.confluent.cloud/cdx/v1/consumer-shares?page_token=bcAOehAY8F16YD84Z1wT' - prev: - example: 'https://api.confluent.cloud/cdx/v1/consumer-shares?page_token=YIXRY97wWYmwzrax4dld' - next: - example: 'https://api.confluent.cloud/cdx/v1/consumer-shares?page_token=UvmDWOB1iwfAIBPj6EYb' + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 data: type: array - description: A data property that contains an array of resource items. Each entry in the array is a separate resource. + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. items: - allOf: - - $ref: '#/components/schemas/cdx.v1.ConsumerShare' - - type: object - required: - - id - - metadata - - provider_organization_name - - provider_user_name - - consumer_user - - status + type: object + description: >- + `ConsumerShare` object respresents the share that you received + through Stream Sharing. + + + + Related guide: [Consumer Stream Shares in Confluent + Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + + + ## The Consumer Shares Model + + + properties: + api_version: + type: string + enum: + - cdx/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ConsumerShare + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + provider_organization_name: + type: string + description: Provider organization name + example: Nasdaq + readOnly: true + provider_user_name: + type: string + description: Name or email of the provider user + example: Jane Doe + readOnly: true + invite_expires_at: + type: string + format: date-time + description: >- + The date and time at which the invitation will expire. Only + for invited shares + example: '2006-01-02T15:04:05-07:00' + readOnly: true + consumer_organization_name: + type: string + description: Consumer organization name. Deprecated + example: Nasdaq + readOnly: true + consumer_user_name: + type: string + description: Name of the consumer. Deprecated + example: John Doe + readOnly: true + consumer_user: + description: The consumer user/invitee + readOnly: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + status: + $ref: '#/components/schemas/cdx.v1.ConsumerShareStatus' + required: + - id + - metadata + - provider_organization_name + - provider_user_name + - consumer_user + - status uniqueItems: true cdx.v1.ConsumerShare: type: object - description: |- - `ConsumerShare` object respresents the share that you received through Stream Sharing. + description: >- + `ConsumerShare` object respresents the share that you received through + Stream Sharing. + - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + Related guide: [Consumer Stream Shares in Confluent + Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). + ## The Consumer Shares Model - + + properties: api_version: type: string enum: - cdx/v1 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string @@ -2479,19 +6551,69 @@ components: enum: - ConsumerShare id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). type: string maxLength: 255 readOnly: true example: dlz-f3a90de metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/cdx/v1/consumer-shares/cs-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/consumer-share=cs-12345' + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object provider_organization_name: type: string description: Provider organization name @@ -2505,7 +6627,9 @@ components: invite_expires_at: type: string format: date-time - description: The date and time at which the invitation will expire. Only for invited shares + description: >- + The date and time at which the invitation will expire. Only for + invited shares example: '2006-01-02T15:04:05-07:00' readOnly: true consumer_organization_name: @@ -2519,29 +6643,33 @@ components: example: John Doe readOnly: true consumer_user: - allOf: - - $ref: '#/components/schemas/GlobalObjectReference' description: The consumer user/invitee readOnly: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true status: $ref: '#/components/schemas/cdx.v1.ConsumerShareStatus' - cdx.v1.ConsumerShareStatus: - type: object - required: - - phase - description: The status of the Consumer Share - properties: - phase: - type: string - description: Status of share - x-extensible-enum: - - INVITED - - EXPIRED - - ACTIVE - - DEACTIVATED - example: ACTIVE - readOnly: true - readOnly: true cdx.v1.SharedToken: type: object description: |- @@ -2555,7 +6683,9 @@ components: type: string enum: - cdx/v1 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string @@ -2564,19 +6694,69 @@ components: enum: - SharedToken id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). type: string maxLength: 255 readOnly: true example: dlz-f3a90de metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/cdx/v1/shared-tokens/st-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/shared-token=st-12345' + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object token: type: string description: The encrypted token @@ -2588,7 +6768,9 @@ components: type: string enum: - cdx/v1 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string @@ -2597,19 +6779,69 @@ components: enum: - RedeemTokenRequest id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). type: string maxLength: 255 readOnly: true example: dlz-f3a90de metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/cdx/v1/redeem-token-requests/rtr-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/redeem-token-request=rtr-12345' + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object token: type: string description: The encrypted token @@ -2633,7 +6865,9 @@ components: type: string enum: - cdx/v1 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string @@ -2642,19 +6876,69 @@ components: enum: - RedeemTokenResponse id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). type: string maxLength: 255 readOnly: true example: dlz-f3a90de metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/cdx/v1/redeem-token-responses/rtr-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/redeem-token-response=rtr-12345' + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object api_key: type: string description: The api key @@ -2668,7 +6952,7 @@ components: type: string format: uri description: The kafka cluster bootstrap url - example: 'SASL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092' + example: SASL://pkc-xxxxx.us-west-2.aws.confluent.cloud:9092 x-immutable: true readOnly: true schema_registry_api_key: @@ -2684,7 +6968,7 @@ components: type: string format: uri description: The schema registry endpoint url - example: 'https://psrc-xxxxx.us-west-2.aws.confluent.cloud' + example: https://psrc-xxxxx.us-west-2.aws.confluent.cloud x-immutable: true readOnly: true resources: @@ -2703,51 +6987,6 @@ components: - $ref: '#/components/schemas/cdx.v1.SharedTopic' - $ref: '#/components/schemas/cdx.v1.SharedGroup' - $ref: '#/components/schemas/cdx.v1.SharedSubject' - cdx.v1.SharedTopic: - type: object - description: The shared resource details - required: - - kind - - topic - properties: - kind: - description: The shared resource kind - type: string - enum: - - Topic - topic: - type: string - description: The topic name - cdx.v1.SharedGroup: - type: object - description: The shared consumer group - required: - - kind - - group_prefix - properties: - kind: - description: The resource kind - type: string - enum: - - Group - group_prefix: - type: string - description: The consumer group prefix - cdx.v1.SharedSubject: - type: object - description: The shared resource details - required: - - kind - - subject - properties: - kind: - description: The shared resource kind - type: string - enum: - - Subject - subject: - type: string - description: The subject name cdx.v1.OptIn: type: object description: |- @@ -2760,7 +6999,9 @@ components: type: string enum: - cdx/v1 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string @@ -2771,408 +7012,608 @@ components: stream_share_enabled: type: boolean description: Enable stream sharing for the organization - parameters: - AclHost: - name: host - description: The ACL host. - in: query - required: false - schema: - type: string - AclOperation: - name: operation - description: The ACL operation. - in: query - required: false - schema: - $ref: '#/components/schemas/AclOperation' - AclOperationRequired: - name: operation - description: The ACL operation. - in: query - required: true - schema: - $ref: '#/components/schemas/AclOperation' - AclPatternType: - name: pattern_type - description: The ACL pattern type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPatternType' - AclPatternTypeRequired: - name: pattern_type - description: The ACL pattern type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPatternType' - AclPermission: - name: permission - description: The ACL permission. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPermission' - AclPermissionRequired: - name: permission - description: The ACL permission. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPermission' - AclPrincipal: - name: principal - description: The ACL principal. This is the Service Account name or user name. - in: query - required: false - schema: - type: string - AclResourceName: - name: resource_name - description: The ACL resource name. - in: query - required: false - schema: - type: string - AclResourceType: - name: resource_type - description: The ACL resource type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclResourceType' - AclResourceTypeRequired: - name: resource_type - description: The ACL resource type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclResourceType' - BrokerId: - name: broker_id - description: The Kafka broker ID. - in: path - required: true - schema: - type: integer - example: 1 - ClusterId: - name: cluster_id - description: The Kafka cluster ID. - in: path - required: true - schema: - type: string - example: cluster-1 - ConfigName: - name: name - description: The configuration parameter name. - in: path - required: true - schema: - type: string - example: compression.type - ConsumerGroupId: - name: consumer_group_id - description: The consumer group ID. - in: path - required: true - schema: - type: string - example: consumer-group-1 - ConsumerId: - name: consumer_id - description: The consumer ID. - in: path - required: true - schema: - type: string - example: consumer-1 - IncludeAuthorizedOperations: - name: include_authorized_operations - description: Specify if authorized operations should be included in the response. - in: query - required: false - schema: - type: boolean - PartitionId: - name: partition_id - description: The partition ID. - in: path - required: true - schema: - type: integer - example: 0 - TopicName: - name: topic_name - description: The topic name. - in: path - required: true - schema: - type: string - example: topic-1 - BrokerTaskType: - name: task_type - description: The Kafka broker task type. - in: path - required: true - schema: - $ref: '#/components/schemas/BrokerTaskType' - example: remove-broker - ShouldShutdown: - name: should_shutdown - description: 'To shutdown the broker or not, Default: true' - in: query - required: false - schema: - type: boolean - example: true - ValidateOnly: - name: validate_only - description: 'To validate the action can be performed successfully or not. Default: false' - in: query - required: false - schema: - type: boolean - example: false - ValidateLink: - name: validate_link - description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' - in: query - required: false - schema: - type: boolean - example: false - IncludeTasks: - name: include_tasks - description: 'Whether to include cluster linking tasks in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludeStateTransitionErrors: - name: include_state_transition_errors - description: 'Whether to include mirror state transition errors in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - Force: - name: force - description: 'Force the action. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludePartitionLevelTruncationData: - name: include_partition_level_truncation_data - description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - LinkName: - name: link_name - description: The link name - in: path - required: true - schema: - type: string - example: link-sb1 - LinkConfigName: - name: config_name - description: The link config name - in: path - required: true - schema: - type: string - example: consumer.offset.sync.enable - MirrorTopicStatus: - name: mirror_status - description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' - in: query - required: false - schema: - $ref: '#/components/schemas/MirrorTopicStatus' - example: ACTIVE - MirrorTopicName: - name: mirror_topic_name - description: Cluster Linking mirror topic name - in: path - required: true - schema: - type: string - example: topic-1 - QueryParamLinkName: - name: link_name - description: The link name - in: query - required: true - schema: - type: string - example: link-sb1 - responses: - BadRequestError: - description: Bad Request - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '400' - code: invalid_filter - title: Invalid Filter - detail: The 'delorean' resource can't be filtered by 'num_doors' - source: - parameter: num_doors - UnauthenticatedError: - x-summary: Unauthorized - description: The request lacks valid authentication credentials for this resource. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - WWW-Authenticate: - schema: - type: string - description: The unique identifier for the API request. - example: 'Basic error="invalid_key", error_description="The API Key is invalid"' - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '401' - code: user_unauthenticated - title: Authentication Required - detail: Valid authentication credentials must be provided - UnauthorizedError: - x-summary: Forbidden - description: The access credentials were considered insufficient to grant access - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '403' - code: user_unauthorized - title: User Access Unauthorized - detail: The user 'mcfly' is not allowed to access the 'delorean' resource without the 'plutonium' role. - RateLimitError: - description: Rate Limit Exceeded - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - Retry-After: - schema: - type: integer - description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. - DefaultSystemError: - description: 'Oops, something went wrong!' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '500' - code: out_of_gas - title: DeLorean Out Of Gas - detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' - NotFoundError: - description: Not Found - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' - example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '404' - title: Not Found - ConflictError: - x-summary: Conflict - description: The request is in conflict with the current server state - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - Location: - schema: + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not contain + a first link, then direct navigation to the first page is not + supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not contain a + last link, then direct navigation to the last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not contain a + next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + Failure: + type: object + description: >- + Provides information about problems encountered while performing an + operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + ObjectMeta: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. It + is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + cdx.v1.Schema: + type: object + properties: + subject: + type: string + description: Name of the subject + example: User + version: + type: integer + description: Version number + format: int32 + example: 1 + id: + type: integer + description: Globally unique identifier of the schema + format: int32 + example: 100001 + schema_type: + type: string + description: Schema type + example: AVRO + schema: + type: string + description: Schema definition string + example: '{"schema": "{"type": "string"}"}' + description: Schema + EnvScopedObjectReference: + type: object + description: >- + ObjectReference provides information for you to locate the referred + object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + cdx.v1.EmailConsumerRestriction: + type: object + description: Consumer restrictions limits by authenticated user's email + required: + - kind + - email + properties: + kind: + description: The resource kind + type: string + enum: + - Email + email: + type: string + format: email + description: Email based matching for the consumers + GlobalObjectReference: + type: object + description: >- + ObjectReference provides information for you to locate the referred + object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + cdx.v1.ProviderShareStatus: + type: object + required: + - phase + description: The status of the Provider Share + properties: + phase: + type: string + x-extensible-enum: + - INVITED + - EXPIRED + - ACTIVE + - DEACTIVATED + description: Status of share + example: ACTIVE + readOnly: true + readOnly: true + cdx.v1.ConnectionType: + type: string + description: Network connection type. + x-extensible-enum: + - PRIVATELINK + example: PRIVATELINK + cdx.v1.AwsNetwork: + type: object + description: The AWS network details. + required: + - kind + properties: + kind: + description: Network kind type. + type: string + enum: + - AwsNetwork + private_link_endpoint_service: + type: string + description: >- + The AWS VPC endpoint service for the network (used for PrivateLink) + if available. + example: com.amazonaws.vpce.eu-west-3.vpce-00000000000000000 + readOnly: true + cdx.v1.AzureNetwork: + type: object + description: The Azure network details. + required: + - kind + properties: + kind: + description: Network kind type. + type: string + enum: + - AzureNetwork + private_link_service_aliases: + type: object + description: > + The mapping of zones to PrivateLink Service Aliases if available. + Keys are zones + + and values are [Azure PrivateLink Service + + Aliases](https://docs.microsoft.com/en-us/azure/private-link/private-link-service-overview#share-your-service) + additionalProperties: type: string - format: uri - example: 'https://api.confluent.cloud/{object}/{id}' - description: Resource URI of conflicting resource - content: - application/json: - schema: - $ref: '#/components/schemas/Failure' example: - errors: - - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d - status: '409' - code: resource_already_exists - title: Resource Already exists - detail: The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already exists. - ValidationError: - description: Validation Failed - headers: - X-Request-Id: - schema: + '1': >- + 0-00000-privatelink-1.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice + '2': >- + 0-00000-privatelink-2.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice + '3': >- + 0-00000-privatelink-3.00000000-0000-0000-0000-000000000000.westeurope.azure.privatelinkservice + readOnly: true + cdx.v1.GcpNetwork: + type: object + description: The GCP network details. + required: + - kind + properties: + kind: + description: Network kind type. + type: string + enum: + - GcpNetwork + private_service_connect_service_attachments: + type: object + description: > + The mapping of zones to Private Service Connect Service + + Attachments if available. Keys are zones and values are + + [GCP Private Service Connect Service + + Attachment](https://cloud.google.com/vpc/docs/configure-private-service-connect-producer#api_7) + additionalProperties: type: string - description: The unique identifier for the API request. - content: + example: + us-central1-a: >- + projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-a + us-central1-b: >- + projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-b + us-central1-c: >- + projects/cc-prod/regions/us-central1/serviceAttachments/s-7jjm9-service-attachment-us-central1-c + readOnly: true + cdx.v1.ConsumerShareStatus: + type: object + required: + - phase + description: The status of the Consumer Share + properties: + phase: + type: string + description: Status of share + x-extensible-enum: + - INVITED + - EXPIRED + - ACTIVE + - DEACTIVATED + example: ACTIVE + readOnly: true + readOnly: true + cdx.v1.SharedTopic: + type: object + description: The shared resource details + required: + - kind + - topic + properties: + kind: + description: The shared resource kind + type: string + enum: + - Topic + topic: + type: string + description: The topic name + cdx.v1.SharedGroup: + type: object + description: The shared consumer group + required: + - kind + - group_prefix + properties: + kind: + description: The resource kind + type: string + enum: + - Group + group_prefix: + type: string + description: The consumer group prefix + cdx.v1.SharedSubject: + type: object + description: The shared resource details + required: + - kind + - subject + properties: + kind: + description: The shared resource kind + type: string + enum: + - Subject + subject: + type: string + description: The subject name + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. + type: string + code: + description: An application-specific error code, expressed as a string value. + type: string + title: + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. + type: string + detail: + description: >- + A human-readable explanation specific to this occurrence of the + problem. + type: string + source: + type: object + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. + properties: + pointer: + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: >- + Basic error="invalid_key", error_description="The API Key is + invalid" + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: >- + The user 'mcfly' is not allowed to access the 'delorean' + resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. + Retry-After: + schema: + type: integer + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. + DefaultSystemError: + description: Oops, something went wrong! + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/{object}/{id} + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: >- + The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already + exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: application/json: schema: $ref: '#/components/schemas/Failure' @@ -3182,678 +7623,426 @@ components: code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - status: '422' code: invalid_configuration id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d title: Validation Failed - detail: 'The property ''/cluster/storage_size'' of type string did not match the following type: integer' + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer source: pointer: /cluster/storage_size - securitySchemes: - cloud-api-key: - type: http - scheme: basic - description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. - confluent-sts-access-token: - type: oauth2 - description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' - scopes: {} - api-key: - type: http - scheme: basic - description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. - resource-api-key: - type: http - scheme: basic - description: | - Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID - as the username and resource-specific API Key Secret as the password. - external-access-token: - type: oauth2 - description: Authenticate with OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https:///token' - scopes: {} - oauth: - type: oauth2 - description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. - flows: - clientCredentials: - tokenUrl: /oauth2/token - scopes: - 'partner:alter': enables partners to alter entitlements - 'partner:create': enables partners to create entitlements and signup on behalf of customers - 'partner:delete': enables partners to delete entitlements and organizations - 'partner:describe': enables partners to read and list entitlements and organizations - requestBodies: - AlterBrokerConfigBatchRequest: - description: The alter broker configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterClusterConfigBatchRequest: - description: The alter cluster configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterTopicConfigBatchRequest: - description: The alter topic configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - examples: - batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only_batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only: true - CreateAclRequest: - description: The ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestData' - example: - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - BatchCreateAclRequest: - description: The batch ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestDataList' - example: - data: - - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - - resource_type: TOPIC - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: READ - permission: ALLOW - CreateTopicRequest: - description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTopicRequestData' - examples: - uniform_replication: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - configs: - - name: cleanup.policy - value: compact - - name: compression.type - value: gzip - dry_run_create_topic: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - validate_only: true - ProduceRequest: - description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' - content: - application/json: - schema: - $ref: '#/components/schemas/ProduceRequest' - examples: - binary_and_json: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - partition_id: 1 - headers: - - name: Header-1 - value: SGVhZGVyLTE= - - name: Header-2 - value: SGVhZGVyLTI= - key: - type: BINARY - data: Zm9vYmFy - value: - type: JSON - data: - foo: bar - timestamp: '2021-02-05T19:14:42Z' - string: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - value: - type: STRING - data: My message - empty_value: - description: key or value can be omitted entirely. - value: - key: - data: 1000 - UpdateBrokerConfigRequest: - description: The broker configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateClusterConfigRequest: - description: The cluster configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateTopicConfigRequest: - description: The topic configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - CreateLinkRequest: - description: Create a cluster link - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLinkRequestData' - examples: - destination_initiated_link: - description: Create a destination initiated cluster link - value: - source_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: acl.sync.enable - value: 'false' - - name: consumer.offset.sync.ms - value: '30000' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_source_cluster: - description: Create a source initiated cluster link at source cluster - value: - destination_cluster_id: cluster-2 - configs: - - name: bootstrap.servers - value: cluster-2-bootstrap-server - - name: link.mode - value: SOURCE - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_destination_cluster: - description: Create a source initiated cluster link at destination cluster - value: - destination_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: link.mode - value: DESTINATION - - name: connection.mode - value: INBOUND - - name: acl.sync.enable - value: 'false' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_east: - description: Create a bidirectional cluster link in east - value: - remote_cluster_id: cluster-west - configs: - - name: bootstrap.servers - value: cluster-west-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: west. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_west: - description: Create a bidirectional cluster link in west - value: - remote_cluster_id: cluster-east - cluster_link_id: eEBkTffYSESld6EO898x3w - configs: - - name: bootstrap.servers - value: cluster-east-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: east. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - UpdateLinkConfigRequest: - content: - application/json: - example: - value: '300000' - schema: - $ref: '#/components/schemas/UpdateLinkConfigRequestData' - description: Link config value to update - AlterLinkConfigBatchRequest: - content: - application/json: - example: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - CreateMirrorTopicRequest: - description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateMirrorTopicRequestData' - examples: - generic_example: - description: Generic example of creating a mirror topic - value: - source_topic_name: topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 1 - example_with_mirror_topic_name: - description: Example using optional mirror_topic_name flag - value: - source_topic_name: topic-1 - mirror_topic_name: link1_topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 3 - AlterMirrorsRequest: - description: Mirror topics to be altered. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterMirrorsRequestData' - examples: - mirror_topic_names: - description: Example using mirror topic names - value: - mirror_topic_names: - - topic-1 - - topic-2 - mirror_topic_name_pattern: - description: Example using mirror topic name pattern - value: - mirror_topic_name_pattern: .* - RemoveBrokersRequest: - content: - application/json: - example: - broker_ids: - - 1 - - 2 - - 3 - schema: - $ref: '#/components/schemas/RemoveBrokersRequestData' - description: Broker ids to remove - BrokerReplicaExclusionBatchRequest: - description: Alter Broker Replica Exclusions. - content: - application/json: - schema: - $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' - example: - data: - - broker_id: 1 - reason: The broker is to be removed. - - broker_id: 2 - reason: The broker is to be removed. x-stackQL-resources: provider_shared_resources: id: confluent.stream_sharing.provider_shared_resources name: provider_shared_resources title: Provider Shared Resources methods: - list_cdx_v1provider_shared_resources: + list_cdx_v1_provider_shared_resources: operation: $ref: '#/paths/~1cdx~1v1~1provider-shared-resources/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - get_cdx_v1provider_shared_resource: + get_cdx_v1_provider_shared_resource: operation: $ref: '#/paths/~1cdx~1v1~1provider-shared-resources~1{id}/get' response: mediaType: application/json openAPIDocKey: '200' - update_cdx_v1provider_shared_resource: + update_cdx_v1_provider_shared_resource: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1cdx~1v1~1provider-shared-resources~1{id}/patch' response: mediaType: application/json openAPIDocKey: '200' - upload_image_cdx_v1provider_shared_resource: + upload_image_cdx_v1_provider_shared_resource: + config: + requestBodyTranslate: + algorithm: naive operation: - $ref: '#/paths/~1cdx~1v1~1provider-shared-resources~1{id}~1images~1{file_name}/post' + $ref: >- + #/paths/~1cdx~1v1~1provider-shared-resources~1{id}~1images~1{file_name}/post response: mediaType: application/json openAPIDocKey: '201' - view_image_cdx_v1provider_shared_resource: + view_image_cdx_v1_provider_shared_resource: operation: - $ref: '#/paths/~1cdx~1v1~1provider-shared-resources~1{id}~1images~1{file_name}/get' + $ref: >- + #/paths/~1cdx~1v1~1provider-shared-resources~1{id}~1images~1{file_name}/get response: - mediaType: null + mediaType: image/* openAPIDocKey: '200' - delete_image_cdx_v1provider_shared_resource: + delete_image_cdx_v1_provider_shared_resource: operation: - $ref: '#/paths/~1cdx~1v1~1provider-shared-resources~1{id}~1images~1{file_name}/delete' + $ref: >- + #/paths/~1cdx~1v1~1provider-shared-resources~1{id}~1images~1{file_name}/delete response: mediaType: application/json openAPIDocKey: '204' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/provider_shared_resources/methods/get_cdx_v1provider_shared_resource' - - $ref: '#/components/x-stackQL-resources/provider_shared_resources/methods/list_cdx_v1provider_shared_resources' + - $ref: >- + #/components/x-stackQL-resources/provider_shared_resources/methods/get_cdx_v1_provider_shared_resource + - $ref: >- + #/components/x-stackQL-resources/provider_shared_resources/methods/list_cdx_v1_provider_shared_resources insert: [] update: - - $ref: '#/components/x-stackQL-resources/provider_shared_resources/methods/update_cdx_v1provider_shared_resource' - replace: [] + - $ref: >- + #/components/x-stackQL-resources/provider_shared_resources/methods/update_cdx_v1_provider_shared_resource delete: - - $ref: '#/components/x-stackQL-resources/provider_shared_resources/methods/delete_image_cdx_v1provider_shared_resource' + - $ref: >- + #/components/x-stackQL-resources/provider_shared_resources/methods/delete_image_cdx_v1_provider_shared_resource + replace: [] provider_shares: id: confluent.stream_sharing.provider_shares name: provider_shares title: Provider Shares methods: - list_cdx_v1provider_shares: + list_cdx_v1_provider_shares: operation: $ref: '#/paths/~1cdx~1v1~1provider-shares/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - create_cdx_v1provider_share: + create_cdx_v1_provider_share: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1cdx~1v1~1provider-shares/post' response: mediaType: application/json openAPIDocKey: '201' - schemaRef: '#/components/schemas/cdx.v1.ProviderShare' - get_cdx_v1provider_share: + get_cdx_v1_provider_share: operation: $ref: '#/paths/~1cdx~1v1~1provider-shares~1{id}/get' response: mediaType: application/json openAPIDocKey: '200' - delete_cdx_v1provider_share: + delete_cdx_v1_provider_share: operation: $ref: '#/paths/~1cdx~1v1~1provider-shares~1{id}/delete' response: mediaType: application/json openAPIDocKey: '204' - resend_cdx_v1provider_share: + resend_cdx_v1_provider_share: operation: $ref: '#/paths/~1cdx~1v1~1provider-shares~1{id}:resend/post' response: @@ -3861,72 +8050,91 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/provider_shares/methods/get_cdx_v1provider_share' - - $ref: '#/components/x-stackQL-resources/provider_shares/methods/list_cdx_v1provider_shares' + - $ref: >- + #/components/x-stackQL-resources/provider_shares/methods/get_cdx_v1_provider_share + - $ref: >- + #/components/x-stackQL-resources/provider_shares/methods/list_cdx_v1_provider_shares insert: - - $ref: '#/components/x-stackQL-resources/provider_shares/methods/create_cdx_v1provider_share' + - $ref: >- + #/components/x-stackQL-resources/provider_shares/methods/create_cdx_v1_provider_share update: [] - replace: [] delete: - - $ref: '#/components/x-stackQL-resources/provider_shares/methods/delete_cdx_v1provider_share' + - $ref: >- + #/components/x-stackQL-resources/provider_shares/methods/delete_cdx_v1_provider_share + replace: [] consumer_shared_resources: id: confluent.stream_sharing.consumer_shared_resources name: consumer_shared_resources title: Consumer Shared Resources methods: - list_cdx_v1consumer_shared_resources: + list_cdx_v1_consumer_shared_resources: operation: $ref: '#/paths/~1cdx~1v1~1consumer-shared-resources/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - get_cdx_v1consumer_shared_resource: + get_cdx_v1_consumer_shared_resource: operation: $ref: '#/paths/~1cdx~1v1~1consumer-shared-resources~1{id}/get' response: mediaType: application/json openAPIDocKey: '200' - image_cdx_v1consumer_shared_resource: + image_cdx_v1_consumer_shared_resource: operation: - $ref: '#/paths/~1cdx~1v1~1consumer-shared-resources~1{id}~1images~1{file_name}/get' + $ref: >- + #/paths/~1cdx~1v1~1consumer-shared-resources~1{id}~1images~1{file_name}/get response: - mediaType: null + mediaType: image/* openAPIDocKey: '200' - network_cdx_v1consumer_shared_resource: + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/consumer_shared_resources/methods/get_cdx_v1_consumer_shared_resource + - $ref: >- + #/components/x-stackQL-resources/consumer_shared_resources/methods/list_cdx_v1_consumer_shared_resources + insert: [] + update: [] + delete: [] + replace: [] + shared_resources_network_config: + id: confluent.stream_sharing.shared_resources_network_config + name: shared_resources_network_config + title: Shared Resources Network Config + methods: + network_cdx_v1_consumer_shared_resource: operation: $ref: '#/paths/~1cdx~1v1~1consumer-shared-resources~1{id}:network/get' response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/schemas/cdx.v1.Network' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/consumer_shared_resources/methods/get_cdx_v1consumer_shared_resource' - - $ref: '#/components/x-stackQL-resources/consumer_shared_resources/methods/list_cdx_v1consumer_shared_resources' + - $ref: >- + #/components/x-stackQL-resources/shared_resources_network_config/methods/network_cdx_v1_consumer_shared_resource insert: [] update: [] - replace: [] delete: [] + replace: [] consumer_shares: id: confluent.stream_sharing.consumer_shares name: consumer_shares title: Consumer Shares methods: - list_cdx_v1consumer_shares: + list_cdx_v1_consumer_shares: operation: $ref: '#/paths/~1cdx~1v1~1consumer-shares/get' response: mediaType: application/json openAPIDocKey: '200' objectKey: $.data - get_cdx_v1consumer_share: + get_cdx_v1_consumer_share: operation: $ref: '#/paths/~1cdx~1v1~1consumer-shares~1{id}/get' response: mediaType: application/json openAPIDocKey: '200' - delete_cdx_v1consumer_share: + delete_cdx_v1_consumer_share: operation: $ref: '#/paths/~1cdx~1v1~1consumer-shares~1{id}/delete' response: @@ -3934,49 +8142,60 @@ components: openAPIDocKey: '204' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/consumer_shares/methods/get_cdx_v1consumer_share' - - $ref: '#/components/x-stackQL-resources/consumer_shares/methods/list_cdx_v1consumer_shares' + - $ref: >- + #/components/x-stackQL-resources/consumer_shares/methods/get_cdx_v1_consumer_share + - $ref: >- + #/components/x-stackQL-resources/consumer_shares/methods/list_cdx_v1_consumer_shares insert: [] update: [] - replace: [] delete: - - $ref: '#/components/x-stackQL-resources/consumer_shares/methods/delete_cdx_v1consumer_share' + - $ref: >- + #/components/x-stackQL-resources/consumer_shares/methods/delete_cdx_v1_consumer_share + replace: [] shared_tokens: id: confluent.stream_sharing.shared_tokens name: shared_tokens title: Shared Tokens methods: - resources_cdx_v1shared_token: + resources_cdx_v1_shared_token: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1cdx~1v1~1shared-tokens:resources/post' response: mediaType: application/json openAPIDocKey: '200' - redeem_cdx_v1shared_token: + redeem_cdx_v1_shared_token: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1cdx~1v1~1shared-tokens:redeem/post' response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/schemas/cdx.v1.RedeemTokenResponse' sqlVerbs: select: [] insert: [] update: [] - replace: [] delete: [] + replace: [] opt_ins: id: confluent.stream_sharing.opt_ins name: opt_ins title: Opt Ins methods: - get_cdx_v1opt_in: + get_cdx_v1_opt_in: operation: $ref: '#/paths/~1cdx~1v1~1opt-in/get' response: mediaType: application/json openAPIDocKey: '200' - update_cdx_v1opt_in: + update_cdx_v1_opt_in: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1cdx~1v1~1opt-in/patch' response: @@ -3984,3253 +8203,12 @@ components: openAPIDocKey: '200' sqlVerbs: select: - - $ref: '#/components/x-stackQL-resources/opt_ins/methods/get_cdx_v1opt_in' + - $ref: '#/components/x-stackQL-resources/opt_ins/methods/get_cdx_v1_opt_in' insert: [] update: - - $ref: '#/components/x-stackQL-resources/opt_ins/methods/update_cdx_v1opt_in' - replace: [] + - $ref: >- + #/components/x-stackQL-resources/opt_ins/methods/update_cdx_v1_opt_in delete: [] -paths: - /cdx/v1/provider-shared-resources: - get: - operationId: listCdxV1ProviderSharedResources - summary: List of Provider Shared Resources - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all provider shared resources. - parameters: - - name: stream_share - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: ss-1234 - description: Filter the results by exact match for stream_share. - - name: crn - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: 'crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic' - description: Filter the results by exact match for crn. - - name: include_deleted - in: query - required: false - schema: - $ref: '#/components/schemas/BooleanFilter' - description: Include deactivated shared resources - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Provider Shared Resources (cdx/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Provider Shared Resource. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/cdx.v1.ProviderSharedResourceList' - - type: object - properties: - data: - type: array - items: - properties: - cloud_cluster: - example: - id: lkc-00000 - related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/cdx/v1/provider-shared-resources?stream_share=ss-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cdx/v1/provider-shared-resources?stream_share=ss-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/provider-shared-resources?stream_share=ss-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/cdx/v1/provider-shared-resources?stream_share=ss-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cdx/v1/provider-shared-resources?stream_share=ss-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/provider-shared-resources?stream_share=ss-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cdx/v1/provider-shared-resources?stream_share=ss-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/cdx/v1/provider-shared-resources/{id}': - get: - operationId: getCdxV1ProviderSharedResource - summary: Read a Provider Shared Resource - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read a provider shared resource. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the provider shared resource. - tags: - - Provider Shared Resources (cdx/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Provider Shared Resource. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/cdx.v1.ProviderSharedResource' - - type: object - required: - - api_version - - kind - - id - - display_name - - organization_name - - environment_name - - cluster_name - - cloud_cluster - - type: object - properties: - cloud_cluster: - example: - id: lkc-00000 - related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/cdx/v1/provider-shared-resources/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cdx/v1/provider-shared-resources/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - operationId: updateCdxV1ProviderSharedResource - summary: Update a Provider Shared Resource - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to update a provider shared resource. - - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the provider shared resource. - tags: - - Provider Shared Resources (cdx/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/cdx.v1.ProviderSharedResourceUpdate' - responses: - '200': - description: Provider Shared Resource. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/cdx.v1.ProviderSharedResource' - - type: object - required: - - api_version - - kind - - id - - display_name - - organization_name - - environment_name - - cluster_name - - cloud_cluster - - type: object - properties: - cloud_cluster: - example: - id: lkc-00000 - related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url 'https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"crn":"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-1111aaa/kafka=lkc-111aaa/topic=my.topic","resources":["crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic"],"display_name":"Stock Trades","organization_description":"ABC Corp is the biggest online retailer","organization_contact":"jane.doe@example.com","cloud_cluster":{"id":"string","environment":"string"}}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"crn\":\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-1111aaa/kafka=lkc-111aaa/topic=my.topic\",\"resources\":[\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic\"],\"display_name\":\"Stock Trades\",\"organization_description\":\"ABC Corp is the biggest online retailer\",\"organization_contact\":\"jane.doe@example.com\",\"cloud_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}\"\n\n\tpayload := strings.NewReader(\"{\\\"crn\\\":\\\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-1111aaa/kafka=lkc-111aaa/topic=my.topic\\\",\\\"resources\\\":[\\\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic\\\"],\\\"display_name\\\":\\\"Stock Trades\\\",\\\"organization_description\\\":\\\"ABC Corp is the biggest online retailer\\\",\\\"organization_contact\\\":\\\"jane.doe@example.com\\\",\\\"cloud_cluster\\\":{\\\"id\\\":\\\"string\\\",\\\"environment\\\":\\\"string\\\"}}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"crn\":\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-1111aaa/kafka=lkc-111aaa/topic=my.topic\",\"resources\":[\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic\"],\"display_name\":\"Stock Trades\",\"organization_description\":\"ABC Corp is the biggest online retailer\",\"organization_contact\":\"jane.doe@example.com\",\"cloud_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/cdx/v1/provider-shared-resources/{id}", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cdx/v1/provider-shared-resources/{id}", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - crn: 'crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-1111aaa/kafka=lkc-111aaa/topic=my.topic', - resources: [ - 'crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic' - ], - display_name: 'Stock Trades', - organization_description: 'ABC Corp is the biggest online retailer', - organization_contact: 'jane.doe@example.com', - cloud_cluster: {id: 'string', environment: 'string'} - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"crn\":\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-1111aaa/kafka=lkc-111aaa/topic=my.topic\",\"resources\":[\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic\"],\"display_name\":\"Stock Trades\",\"organization_description\":\"ABC Corp is the biggest online retailer\",\"organization_contact\":\"jane.doe@example.com\",\"cloud_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"crn\":\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-1111aaa/kafka=lkc-111aaa/topic=my.topic\",\"resources\":[\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic\"],\"display_name\":\"Stock Trades\",\"organization_description\":\"ABC Corp is the biggest online retailer\",\"organization_contact\":\"jane.doe@example.com\",\"cloud_cluster\":{\"id\":\"string\",\"environment\":\"string\"}}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/cdx/v1/provider-shared-resources/{id}/images/{file_name}': - post: - summary: Upload image for shared resource - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Upload the image file for the shared resource - requestBody: - content: - image/*: - schema: - type: string - format: base64 - x-name: cdx.v1.ProviderSharedResource - operationId: upload_imageCdxV1ProviderSharedResource - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the provider shared resource. - - name: file_name - in: path - required: true - schema: - type: string - description: The File Name - tags: - - Provider Shared Resources (cdx/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '201': - description: image uploaded - headers: - Location: - schema: - type: string - format: uri - example: 'https://some-subdomain.confluent.cloud/path/to/resource' - description: A URL that allows access to the image file - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url 'https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: image/*' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}") - .post(null) - .addHeader("content-type", "image/*") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"content-type\", \"image/*\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { - 'content-type': "image/*", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/cdx/v1/provider-shared-resources/{id}/images/{file_name}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cdx/v1/provider-shared-resources/{id}/images/{file_name}", - "headers": { - "content-type": "image/*", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: image/*"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "image/*"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - get: - summary: Get image for shared resource - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Returns the image file for the shared resource - x-name: cdx.v1.ProviderSharedResource - operationId: view_imageCdxV1ProviderSharedResource - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the provider shared resource. - - name: file_name - in: path - required: true - schema: - type: string - description: The File Name - tags: - - Provider Shared Resources (cdx/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: returns the image file - content: - image/*: - schema: - type: string - format: binary - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/cdx/v1/provider-shared-resources/{id}/images/{file_name}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cdx/v1/provider-shared-resources/{id}/images/{file_name}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - delete: - summary: Delete the shared resource's image - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Deletes the image file for the shared resource - x-name: cdx.v1.ProviderSharedResource - operationId: delete_imageCdxV1ProviderSharedResource - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the provider shared resource. - - name: file_name - in: path - required: true - schema: - type: string - description: The File Name - tags: - - Provider Shared Resources (cdx/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: No Content - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/cdx/v1/provider-shared-resources/{id}/images/{file_name}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cdx/v1/provider-shared-resources/{id}/images/{file_name}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cdx/v1/provider-shared-resources/{id}/images/{file_name}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /cdx/v1/provider-shares: - get: - operationId: listCdxV1ProviderShares - summary: List of Provider Shares - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all provider shares. - parameters: - - name: shared_resource - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: sr-1234 - description: Filter the results by exact match for shared_resource. - - name: crn - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: 'crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic' - description: Filter the results by exact match for crn. - - name: include_deleted - in: query - required: false - schema: - $ref: '#/components/schemas/BooleanFilter' - description: Include deactivated shares - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Provider Shares (cdx/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Provider Share. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/cdx.v1.ProviderShareList' - - type: object - properties: - data: - type: array - items: - properties: - service_account: - example: - id: sa-4voj5e - related: 'https://api.confluent.cloud/iam/v2/service-accounts/sa-4voj5e' - resource_name: 'https://api.confluent.cloud/service-account=sa-4voj5e' - cloud_cluster: - example: - id: lkc-00000 - related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/cdx/v1/provider-shares?shared_resource=sr-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cdx/v1/provider-shares?shared_resource=sr-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/provider-shares?shared_resource=sr-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/cdx/v1/provider-shares?shared_resource=sr-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cdx/v1/provider-shares?shared_resource=sr-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/provider-shares?shared_resource=sr-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cdx/v1/provider-shares?shared_resource=sr-1234&crn=crn://confluent.cloud/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic&include_deleted=SOME_BOOLEAN_VALUE"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - post: - summary: Create a provider share - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Creates a share based on delivery method. - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/cdx.v1.CreateProviderShareRequest' - - type: object - required: - - delivery_method - - consumer_restriction - - resources - operationId: createCdxV1ProviderShare - tags: - - Provider Shares (cdx/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '201': - description: | - Response is the provider share - headers: - Location: - schema: - type: string - format: uri - example: 'https://some-subdomain.confluent.cloud/path/to/resource' - description: A URL that allows access to the resourced named by the crn - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - content: - application/json: - schema: - $ref: '#/components/schemas/cdx.v1.ProviderShare' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/cdx/v1/provider-shares \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"delivery_method":"EMAIL","consumer_restriction":{"kind":"Email","email":"user@example.com"},"resources":["crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic"]}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"delivery_method\":\"EMAIL\",\"consumer_restriction\":{\"kind\":\"Email\",\"email\":\"user@example.com\"},\"resources\":[\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic\"]}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cdx/v1/provider-shares") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/provider-shares\"\n\n\tpayload := strings.NewReader(\"{\\\"delivery_method\\\":\\\"EMAIL\\\",\\\"consumer_restriction\\\":{\\\"kind\\\":\\\"Email\\\",\\\"email\\\":\\\"user@example.com\\\"},\\\"resources\\\":[\\\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic\\\"]}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"delivery_method\":\"EMAIL\",\"consumer_restriction\":{\"kind\":\"Email\",\"email\":\"user@example.com\"},\"resources\":[\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic\"]}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/cdx/v1/provider-shares", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cdx/v1/provider-shares", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - delivery_method: 'EMAIL', - consumer_restriction: {kind: 'Email', email: 'user@example.com'}, - resources: [ - 'crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic' - ] - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/provider-shares"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"delivery_method\":\"EMAIL\",\"consumer_restriction\":{\"kind\":\"Email\",\"email\":\"user@example.com\"},\"resources\":[\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic\"]}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cdx/v1/provider-shares"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"delivery_method\":\"EMAIL\",\"consumer_restriction\":{\"kind\":\"Email\",\"email\":\"user@example.com\"},\"resources\":[\"crn://confluent.cloud/environment=env-123/cloud-cluster=lkc-111aaa/kafka=lkc-111aaa/topic=my.topic\"]}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/cdx/v1/provider-shares/{id}': - get: - operationId: getCdxV1ProviderShare - summary: Read a Provider Share - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read a provider share. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the provider share. - tags: - - Provider Shares (cdx/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Provider Share. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/cdx.v1.ProviderShare' - - type: object - required: - - api_version - - kind - - id - - provider_user_name - - delivery_method - - invited_at - - invite_expires_at - - provider_user - - cloud_cluster - - status - - type: object - properties: - service_account: - example: - id: sa-4voj5e - related: 'https://api.confluent.cloud/iam/v2/service-accounts/sa-4voj5e' - resource_name: 'https://api.confluent.cloud/service-account=sa-4voj5e' - cloud_cluster: - example: - id: lkc-00000 - related: 'https://api.confluent.cloud/cmk/v2/clusters/lkc-00000' - resource_name: 'https://api.confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/environment=env-abc123/cloud-cluster=lkc-00000' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/cdx/v1/provider-shares/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cdx/v1/provider-shares/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/provider-shares/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/cdx/v1/provider-shares/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cdx/v1/provider-shares/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/provider-shares/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cdx/v1/provider-shares/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteCdxV1ProviderShare - summary: Delete a Provider Share - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to delete a provider share. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the provider share. - tags: - - Provider Shares (cdx/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: A Provider Share is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/cdx/v1/provider-shares/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cdx/v1/provider-shares/{id}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/provider-shares/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/cdx/v1/provider-shares/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cdx/v1/provider-shares/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/provider-shares/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cdx/v1/provider-shares/{id}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/cdx/v1/provider-shares/{id}:resend': - post: - summary: Resend - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Resend provider share - x-name: cdx.v1.ProviderShare - operationId: resendCdxV1ProviderShare - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the provider share. - tags: - - Provider Shares (cdx/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '204': - description: No Content - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url 'https://api.confluent.cloud/cdx/v1/provider-shares/{id}:resend' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cdx/v1/provider-shares/{id}:resend") - .post(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/provider-shares/{id}:resend\"\n\n\treq, _ := http.NewRequest(\"POST\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("POST", "/cdx/v1/provider-shares/{id}:resend", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cdx/v1/provider-shares/{id}:resend", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/provider-shares/{id}:resend"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cdx/v1/provider-shares/{id}:resend"); - var request = new RestRequest(Method.POST); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /cdx/v1/consumer-shared-resources: - get: - operationId: listCdxV1ConsumerSharedResources - summary: List of Consumer Shared Resources - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all consumer shared resources. - parameters: - - name: stream_share - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: ss-1234 - description: Filter the results by exact match for stream_share. - - name: include_deleted - in: query - required: false - schema: - $ref: '#/components/schemas/BooleanFilter' - description: Include deactivated shared resources - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Consumer Shared Resources (cdx/v1) - security: - - cloud-api-key: [] - responses: - '200': - description: Consumer Shared Resource. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/cdx.v1.ConsumerSharedResourceList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/cdx/v1/consumer-shared-resources?stream_share=ss-1234&include_deleted=SOME_BOOLEAN_VALUE' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cdx/v1/consumer-shared-resources?stream_share=ss-1234&include_deleted=SOME_BOOLEAN_VALUE") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/consumer-shared-resources?stream_share=ss-1234&include_deleted=SOME_BOOLEAN_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/cdx/v1/consumer-shared-resources?stream_share=ss-1234&include_deleted=SOME_BOOLEAN_VALUE", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cdx/v1/consumer-shared-resources?stream_share=ss-1234&include_deleted=SOME_BOOLEAN_VALUE", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/consumer-shared-resources?stream_share=ss-1234&include_deleted=SOME_BOOLEAN_VALUE"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cdx/v1/consumer-shared-resources?stream_share=ss-1234&include_deleted=SOME_BOOLEAN_VALUE"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/cdx/v1/consumer-shared-resources/{id}': - get: - operationId: getCdxV1ConsumerSharedResource - summary: Read a Consumer Shared Resource - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read a consumer shared resource. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the consumer shared resource. - tags: - - Consumer Shared Resources (cdx/v1) - security: - - cloud-api-key: [] - responses: - '200': - description: Consumer Shared Resource. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/cdx.v1.ConsumerSharedResource' - - type: object - required: - - api_version - - kind - - id - - cloud - - display_name - - organization_name - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/cdx/v1/consumer-shared-resources/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cdx/v1/consumer-shared-resources/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/cdx/v1/consumer-shared-resources/{id}/images/{file_name}': - get: - summary: Get image for shared resource - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Returns the image file for the shared resource - x-name: cdx.v1.ConsumerSharedResource - operationId: imageCdxV1ConsumerSharedResource - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the consumer shared resource. - - name: file_name - in: path - required: true - schema: - type: string - description: The File Name - tags: - - Consumer Shared Resources (cdx/v1) - security: - - cloud-api-key: [] - responses: - '200': - description: Returns the image file's binary content - content: - image/*: - schema: - type: string - format: binary - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}/images/{file_name}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}/images/{file_name}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}/images/{file_name}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/cdx/v1/consumer-shared-resources/{id}/images/{file_name}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cdx/v1/consumer-shared-resources/{id}/images/{file_name}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}/images/{file_name}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}/images/{file_name}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/cdx/v1/consumer-shared-resources/{id}:network': - get: - summary: Get shared resource's network configuration - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Returns network information of the shared resource - x-name: cdx.v1.ConsumerSharedResource - operationId: networkCdxV1ConsumerSharedResource - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the consumer shared resource. - tags: - - Consumer Shared Resources (cdx/v1) - security: - - cloud-api-key: [] - responses: - '200': - description: The network information of the shared resource - content: - application/json: - schema: - $ref: '#/components/schemas/cdx.v1.Network' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}:network' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}:network") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}:network\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/cdx/v1/consumer-shared-resources/{id}:network", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cdx/v1/consumer-shared-resources/{id}:network", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}:network"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cdx/v1/consumer-shared-resources/{id}:network"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - /cdx/v1/consumer-shares: - get: - operationId: listCdxV1ConsumerShares - summary: List of Consumer Shares - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Retrieve a sorted, filtered, paginated list of all consumer shares. - parameters: - - name: shared_resource - in: query - required: false - schema: - $ref: '#/components/schemas/SearchFilter' - example: sr-1234 - description: Filter the results by exact match for shared_resource. - - name: include_deleted - in: query - required: false - schema: - $ref: '#/components/schemas/BooleanFilter' - description: Include deactivated shares - - name: page_size - in: query - required: false - schema: - type: integer - default: 10 - maximum: 100 - x-max-page-items: 500 - description: A pagination size for collection requests. - - name: page_token - in: query - required: false - schema: - type: string - maxLength: 255 - description: An opaque pagination token for collection requests. - tags: - - Consumer Shares (cdx/v1) - security: - - cloud-api-key: [] - responses: - '200': - description: Consumer Share. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/cdx.v1.ConsumerShareList' - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/cdx/v1/consumer-shares?shared_resource=sr-1234&include_deleted=SOME_BOOLEAN_VALUE' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cdx/v1/consumer-shares?shared_resource=sr-1234&include_deleted=SOME_BOOLEAN_VALUE") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/consumer-shares?shared_resource=sr-1234&include_deleted=SOME_BOOLEAN_VALUE\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/cdx/v1/consumer-shares?shared_resource=sr-1234&include_deleted=SOME_BOOLEAN_VALUE", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cdx/v1/consumer-shares?shared_resource=sr-1234&include_deleted=SOME_BOOLEAN_VALUE", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/consumer-shares?shared_resource=sr-1234&include_deleted=SOME_BOOLEAN_VALUE"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cdx/v1/consumer-shares?shared_resource=sr-1234&include_deleted=SOME_BOOLEAN_VALUE"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/cdx/v1/consumer-shares/{id}': - get: - operationId: getCdxV1ConsumerShare - summary: Read a Consumer Share - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to read a consumer share. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the consumer share. - tags: - - Consumer Shares (cdx/v1) - security: - - cloud-api-key: [] - responses: - '200': - description: Consumer Share. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/cdx.v1.ConsumerShare' - - type: object - required: - - api_version - - kind - - id - - provider_organization_name - - provider_user_name - - consumer_user - - status - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url 'https://api.confluent.cloud/cdx/v1/consumer-shares/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cdx/v1/consumer-shares/{id}") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/consumer-shares/{id}\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/cdx/v1/consumer-shares/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cdx/v1/consumer-shares/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/consumer-shares/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cdx/v1/consumer-shares/{id}"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - delete: - operationId: deleteCdxV1ConsumerShare - summary: Delete a Consumer Share - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Make a request to delete a consumer share. - parameters: - - name: id - in: path - required: true - schema: - type: string - description: The unique identifier for the consumer share. - tags: - - Consumer Shares (cdx/v1) - security: - - cloud-api-key: [] - responses: - '204': - description: A Consumer Share is being deleted. - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request DELETE \ - --url 'https://api.confluent.cloud/cdx/v1/consumer-shares/{id}' \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cdx/v1/consumer-shares/{id}") - .delete(null) - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/consumer-shares/{id}\"\n\n\treq, _ := http.NewRequest(\"DELETE\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("DELETE", "/cdx/v1/consumer-shares/{id}", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "DELETE", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cdx/v1/consumer-shares/{id}", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "DELETE"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/consumer-shares/{id}"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cdx/v1/consumer-shares/{id}"); - var request = new RestRequest(Method.DELETE); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - '/cdx/v1/shared-tokens:resources': - post: - summary: Validate token to view shared resources - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Validate and decrypt the shared token and view token's shared resources - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/cdx.v1.SharedToken' - - type: object - required: - - token - x-name: cdx.v1.SharedToken - operationId: resourcesCdxV1SharedToken - tags: - - Shared Tokens (cdx/v1) - security: - - cloud-api-key: [] - responses: - '200': - description: | - Consumer validates share token and view consumer resources before redeeming in the workflow - content: - application/json: - schema: - type: object - properties: - consumer_shared_resources: - type: array - items: - $ref: '#/components/schemas/cdx.v1.ConsumerSharedResource' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/cdx/v1/shared-tokens:resources \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"token":"string"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"token\":\"string\"}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cdx/v1/shared-tokens:resources") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/shared-tokens:resources\"\n\n\tpayload := strings.NewReader(\"{\\\"token\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"token\":\"string\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/cdx/v1/shared-tokens:resources", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cdx/v1/shared-tokens:resources", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({token: 'string'})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/shared-tokens:resources"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"token\":\"string\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cdx/v1/shared-tokens:resources"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"token\":\"string\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - '/cdx/v1/shared-tokens:redeem': - post: - summary: Redeem token - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Redeem the shared token for shared topic and cluster access information - requestBody: - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/cdx.v1.RedeemTokenRequest' - - type: object - required: - - token - x-name: cdx.v1.SharedToken - operationId: redeemCdxV1SharedToken - tags: - - Shared Tokens (cdx/v1) - security: - - cloud-api-key: [] - responses: - '200': - description: | - Consumer redeems shared token - content: - application/json: - schema: - $ref: '#/components/schemas/cdx.v1.RedeemTokenResponse' - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/cdx/v1/shared-tokens:redeem \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"token":"string","aws_account":"000000000000","azure_subscription":"00000000-0000-0000-0000-000000000000","gcp_project":"string"}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"token\":\"string\",\"aws_account\":\"000000000000\",\"azure_subscription\":\"00000000-0000-0000-0000-000000000000\",\"gcp_project\":\"string\"}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cdx/v1/shared-tokens:redeem") - .post(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/shared-tokens:redeem\"\n\n\tpayload := strings.NewReader(\"{\\\"token\\\":\\\"string\\\",\\\"aws_account\\\":\\\"000000000000\\\",\\\"azure_subscription\\\":\\\"00000000-0000-0000-0000-000000000000\\\",\\\"gcp_project\\\":\\\"string\\\"}\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"token\":\"string\",\"aws_account\":\"000000000000\",\"azure_subscription\":\"00000000-0000-0000-0000-000000000000\",\"gcp_project\":\"string\"}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("POST", "/cdx/v1/shared-tokens:redeem", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cdx/v1/shared-tokens:redeem", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({ - token: 'string', - aws_account: '000000000000', - azure_subscription: '00000000-0000-0000-0000-000000000000', - gcp_project: 'string' - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/shared-tokens:redeem"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"token\":\"string\",\"aws_account\":\"000000000000\",\"azure_subscription\":\"00000000-0000-0000-0000-000000000000\",\"gcp_project\":\"string\"}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cdx/v1/shared-tokens:redeem"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"token\":\"string\",\"aws_account\":\"000000000000\",\"azure_subscription\":\"00000000-0000-0000-0000-000000000000\",\"gcp_project\":\"string\"}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); - /cdx/v1/opt-in: - get: - summary: Read the organization's stream sharing opt-in settings - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Returns the organization's stream sharing opt-in settings. - operationId: getCdxV1OptIn - tags: - - Opt Ins (cdx/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - responses: - '200': - description: Opt In. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/cdx.v1.OptIn' - - type: object - required: - - api_version - - kind - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request GET \ - --url https://api.confluent.cloud/cdx/v1/opt-in \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cdx/v1/opt-in") - .get() - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/opt-in\"\n\n\treq, _ := http.NewRequest(\"GET\", url, nil)\n\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - headers = { 'Authorization': "Basic REPLACE_BASIC_AUTH" } - - conn.request("GET", "/cdx/v1/opt-in", headers=headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "GET", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cdx/v1/opt-in", - "headers": { - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/opt-in"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cdx/v1/opt-in"); - var request = new RestRequest(Method.GET); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - IRestResponse response = client.Execute(request); - patch: - summary: Set the organization's stream sharing opt-in settings - description: |+ - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Updates the organization's stream sharing opt-in settings. - - - operationId: updateCdxV1OptIn - tags: - - Opt Ins (cdx/v1) - security: - - cloud-api-key: [] - - confluent-sts-access-token: [] - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/cdx.v1.OptIn' - responses: - '200': - description: Opt In. - content: - application/json: - schema: - allOf: - - $ref: '#/components/schemas/cdx.v1.OptIn' - - type: object - required: - - api_version - - kind - headers: - X-Request-Id: - schema: - type: string - description: The unique identifier for the API request. - X-RateLimit-Limit: - schema: - type: integer - description: The maximum number of requests you're permitted to make per time period. - X-RateLimit-Remaining: - schema: - type: integer - description: The number of requests remaining in the current rate limit window. - X-RateLimit-Reset: - schema: - type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. - - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. - '400': - $ref: '#/components/responses/BadRequestError' - '401': - $ref: '#/components/responses/UnauthenticatedError' - '403': - $ref: '#/components/responses/UnauthorizedError' - '404': - $ref: '#/components/responses/NotFoundError' - '409': - $ref: '#/components/responses/ConflictError' - '422': - $ref: '#/components/responses/ValidationError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request PATCH \ - --url https://api.confluent.cloud/cdx/v1/opt-in \ - --header 'Authorization: Basic REPLACE_BASIC_AUTH' \ - --header 'content-type: application/json' \ - --data '{"stream_share_enabled":true}' - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/json"); - RequestBody body = RequestBody.create(mediaType, "{\"stream_share_enabled\":true}"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/cdx/v1/opt-in") - .patch(body) - .addHeader("content-type", "application/json") - .addHeader("Authorization", "Basic REPLACE_BASIC_AUTH") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/cdx/v1/opt-in\"\n\n\tpayload := strings.NewReader(\"{\\\"stream_share_enabled\\\":true}\")\n\n\treq, _ := http.NewRequest(\"PATCH\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/json\")\n\treq.Header.Add(\"Authorization\", \"Basic REPLACE_BASIC_AUTH\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "{\"stream_share_enabled\":true}" - - headers = { - 'content-type': "application/json", - 'Authorization': "Basic REPLACE_BASIC_AUTH" - } - - conn.request("PATCH", "/cdx/v1/opt-in", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const http = require("https"); - - const options = { - "method": "PATCH", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/cdx/v1/opt-in", - "headers": { - "content-type": "application/json", - "Authorization": "Basic REPLACE_BASIC_AUTH" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(JSON.stringify({stream_share_enabled: true})); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "PATCH"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/cdx/v1/opt-in"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/json"); - headers = curl_slist_append(headers, "Authorization: Basic REPLACE_BASIC_AUTH"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\"stream_share_enabled\":true}"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/cdx/v1/opt-in"); - var request = new RestRequest(Method.PATCH); - request.AddHeader("content-type", "application/json"); - request.AddHeader("Authorization", "Basic REPLACE_BASIC_AUTH"); - request.AddParameter("application/json", "{\"stream_share_enabled\":true}", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/streams_group.yaml b/providers/src/confluent/v00.00.00000/services/streams_group.yaml new file mode 100644 index 00000000..fee4f300 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/streams_group.yaml @@ -0,0 +1,1413 @@ +openapi: 3.0.0 +info: + title: streams_group API + description: confluent streams_group API + version: 1.0.0 +paths: + /kafka/v3/clusters/{cluster_id}/streams-groups: + get: + summary: List Streams Groups + operationId: listKafkaStreamsGroups + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the list of streams groups that belong to the specified Kafka + cluster + tags: + - Streams Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListStreamsGroupsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + /kafka/v3/clusters/{cluster_id}/streams-groups/{group_id}: + get: + summary: Get Streams Group + operationId: getKafkaStreamsGroup + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the streams group specified by the ``group_id``. + tags: + - Streams Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetStreamsGroupResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/GroupId' + /kafka/v3/clusters/{cluster_id}/streams-groups/{group_id}/subtopologies: + get: + summary: List Streams Group Subtopologies + operationId: listKafkaStreamsGroupSubtopologies + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return a list of subtopologies that belong to the specified streams + group. + tags: + - Streams Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListStreamsGroupSubtopologiesResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/GroupId' + /kafka/v3/clusters/{cluster_id}/streams-groups/{group_id}/subtopologies/{subtopology_id}: + get: + summary: Get Streams Group Subtopology + operationId: getKafkaStreamsGroupSubtopology + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the subtopology specified by the ``subtopology_id``. + tags: + - Streams Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetStreamsGroupSubtopologyResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/GroupId' + - $ref: '#/components/parameters/SubtopologyId' + /kafka/v3/clusters/{cluster_id}/streams-groups/{group_id}/members: + get: + summary: List Streams Group Members + operationId: listKafkaStreamsGroupMembers + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return a list of members that belong to the specified streams group. + tags: + - Streams Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListStreamsGroupMembersResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/GroupId' + /kafka/v3/clusters/{cluster_id}/streams-groups/{group_id}/members/{member_id}: + get: + summary: Get Streams Group Member + operationId: getKafkaStreamsGroupMember + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the members specified by the ``member_id``. + tags: + - Streams Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetStreamsGroupMemberResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/GroupId' + - $ref: '#/components/parameters/MemberId' + /kafka/v3/clusters/{cluster_id}/streams-groups/{group_id}/members/{member_id}/assignments: + get: + summary: Get Streams Group Member Assignments + operationId: getKafkaStreamsGroupMemberAssignments + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the assignments of the member specified by the ``member_id``. + tags: + - Streams Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetStreamsGroupMemberAssignmentsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/GroupId' + - $ref: '#/components/parameters/MemberId' + /kafka/v3/clusters/{cluster_id}/streams-groups/{group_id}/members/{member_id}/target-assignments: + get: + summary: Get Streams Group Member Target Assignments + operationId: getKafkaStreamsGroupMemberTargetAssignments + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the target assignments of the member specified by the + ``member_id``. + tags: + - Streams Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetStreamsGroupMemberAssignmentsResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/GroupId' + - $ref: '#/components/parameters/MemberId' + /kafka/v3/clusters/{cluster_id}/streams-groups/{group_id}/members/{member_id}/assignments/{assignments_type}: + get: + summary: List Streams Group Assignments of a Specific Type + operationId: listKafkaStreamsGroupMemberAssignmentTasks + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the tasks of the member specified by the ``member_id``, and the + type ``assignments_type``. + tags: + - Streams Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListStreamsTasksResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/GroupId' + - $ref: '#/components/parameters/MemberId' + - $ref: '#/components/parameters/AssignmentsType' + /kafka/v3/clusters/{cluster_id}/streams-groups/{group_id}/members/{member_id}/target-assignments/{assignments_type}: + get: + summary: List Streams Group Target Assignments of a Specific Type + operationId: listKafkaStreamsGroupMemberTargetAssignmentTasks + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the target tasks of the member specified by the ``member_id``, + and the type ``assignments_type``. + tags: + - Streams Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/ListStreamsTasksResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/GroupId' + - $ref: '#/components/parameters/MemberId' + - $ref: '#/components/parameters/AssignmentsType' + /kafka/v3/clusters/{cluster_id}/streams-groups/{group_id}/members/{member_id}/assignments/{assignments_type}/subtopologies/{subtopology_id}: + get: + summary: >- + List Streams Group Assignments Task Partitions of a Specific Type and + Subtopology + operationId: getKafkaStreamsGroupMemberAssignmentTaskPartitions + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the tasks of the member specified by the ``member_id``, and the + type ``assignments_type``. + tags: + - Streams Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetStreamsTaskResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/GroupId' + - $ref: '#/components/parameters/MemberId' + - $ref: '#/components/parameters/AssignmentsType' + - $ref: '#/components/parameters/SubtopologyId' + /kafka/v3/clusters/{cluster_id}/streams-groups/{group_id}/members/{member_id}/target-assignments/{assignments_type}/subtopologies/{subtopology_id}: + get: + summary: >- + List Streams Group Target Assignments Task Partitions of a Specific Type + and Subtopology + operationId: getKafkaStreamsGroupMemberTargetAssignmentTaskPartitions + description: >- + [![Early + Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + Return the tasks of the member specified by the ``member_id``, and the + type ``assignments_type``. + tags: + - Streams Group (v3) + security: + - resource-api-key: [] + - external-access-token: [] + responses: + '200': + $ref: '#/components/responses/GetStreamsTaskResponse' + '400': + $ref: '#/components/responses/BadRequestErrorResponse' + '401': + $ref: '#/components/responses/UnauthorizedErrorResponse' + '403': + $ref: '#/components/responses/ForbiddenErrorResponse' + '429': + $ref: '#/components/responses/TooManyRequestsErrorResponse' + 5XX: + $ref: '#/components/responses/ServerErrorResponse' + servers: + - url: https://pkc-00000.region.provider.confluent.cloud + x-audience: business-unit-internal + description: >- + Confluent Cloud REST Endpoint. For example + https://pkc-00000.region.provider.confluent.cloud + parameters: + - $ref: '#/components/parameters/ClusterId' + - $ref: '#/components/parameters/GroupId' + - $ref: '#/components/parameters/MemberId' + - $ref: '#/components/parameters/AssignmentsType' + - $ref: '#/components/parameters/SubtopologyId' +components: + schemas: + StreamsGroupDataList: + description: The list of Streams groups. + type: object + required: + - kind + - metadata + - data + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + data: + type: array + description: The array of Streams group details. + items: + $ref: '#/components/schemas/StreamsGroupData' + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. + type: string + code: + description: An application-specific error code, expressed as a string value. + type: string + title: + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. + type: string + detail: + description: >- + A human-readable explanation specific to this occurrence of the + problem. + type: string + source: + type: object + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. + properties: + pointer: + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + StreamsGroupData: + description: The details of a Streams group. + type: object + required: + - kind + - metadata + - cluster_id + - group_id + - state + - member_count + - subtopology_count + - group_epoch + - topology_epoch + - target_assignment_epoch + - members + - subtopologies + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceMetadata' + cluster_id: + type: string + description: The unique identifier of the Kafka cluster. + group_id: + type: string + description: The unique identifier of the Streams group. + state: + $ref: '#/components/schemas/StreamsGroupState' + member_count: + type: integer + description: The number of members in the Streams group. + subtopology_count: + type: integer + description: The number of subtopologies in the Streams group. + group_epoch: + type: integer + description: The epoch of the Streams group. + topology_epoch: + type: integer + description: The epoch of the Streams topology. + target_assignment_epoch: + type: integer + description: The epoch of the target assignment. + members: + $ref: '#/components/schemas/Relationship' + subtopologies: + $ref: '#/components/schemas/Relationship' + StreamsGroupSubtopologyDataList: + description: The list of Streams group subtopologies. + type: object + required: + - kind + - metadata + - data + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + data: + type: array + description: The array of Streams group subtopology details. + items: + $ref: '#/components/schemas/StreamsGroupSubtopologyData' + StreamsGroupSubtopologyData: + description: The details of a Streams group subtopology. + type: object + required: + - kind + - metadata + - cluster_id + - group_id + - subtopology_id + - source_topics + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceMetadata' + cluster_id: + type: string + description: The unique identifier of the Kafka cluster. + group_id: + type: string + description: The unique identifier of the Streams group. + subtopology_id: + type: string + description: The unique identifier of the Streams subtopology. + source_topics: + type: array + description: The list of source topics for the subtopology. + items: + type: string + description: The name of a source topic. + StreamsGroupMemberDataList: + description: The list of Streams group members. + type: object + required: + - kind + - metadata + - data + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + data: + type: array + description: The array of Streams group member details. + items: + $ref: '#/components/schemas/StreamsGroupMemberData' + StreamsGroupMemberData: + description: The details of a Streams group member. + type: object + required: + - kind + - metadata + - cluster_id + - group_id + - member_id + - process_id + - client_id + - instance_id + - member_epoch + - topology_epoch + - is_classic + - assignments + - target_assignment + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceMetadata' + cluster_id: + type: string + description: The unique identifier of the Kafka cluster. + group_id: + type: string + description: The unique identifier of the Streams group. + member_id: + type: string + description: The unique identifier of the Streams group member. + process_id: + type: string + description: The process identifier of the Streams group member. + client_id: + type: string + description: The client identifier of the Streams group member. + instance_id: + type: string + description: The instance identifier of the Streams group member. + member_epoch: + type: integer + description: The epoch of the Streams group member. + topology_epoch: + type: integer + description: The epoch of the Streams topology for the member. + is_classic: + type: boolean + description: The flag indicating if the member is a classic consumer. + assignments: + $ref: '#/components/schemas/Relationship' + target_assignment: + $ref: '#/components/schemas/Relationship' + StreamsGroupMemberAssignmentData: + description: The assignment details of a Streams group member. + type: object + required: + - kind + - metadata + - cluster_id + - group_id + - member_id + - active_tasks + - standby_tasks + - warmup_tasks + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceMetadata' + cluster_id: + type: string + description: The unique identifier of the Kafka cluster. + group_id: + type: string + description: The unique identifier of the Streams group. + member_id: + type: string + description: The unique identifier of the Streams group member. + active_tasks: + $ref: '#/components/schemas/Relationship' + standby_tasks: + $ref: '#/components/schemas/Relationship' + warmup_tasks: + $ref: '#/components/schemas/Relationship' + AssignmentsType: + description: The type of the Streams task assignments. + type: string + x-extensible-enum: + - ACTIVE + - STANDBY + - WARMUP + StreamsTaskDataList: + description: The list of Streams tasks. + type: object + required: + - kind + - metadata + - data + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + data: + type: array + description: The array of Streams task details. + items: + $ref: '#/components/schemas/StreamsTaskData' + StreamsTaskData: + description: The details of a Streams task. + type: object + required: + - kind + - metadata + - subtopology_id + - partition_ids + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceMetadata' + subtopology_id: + type: string + description: The unique identifier of the Streams subtopology. + partition_ids: + type: array + description: The list of partition IDs assigned to the Streams task. + items: + type: integer + description: The partition ID. + ResourceCollection: + type: object + required: + - kind + - metadata + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceCollectionMetadata' + Resource: + type: object + required: + - kind + - metadata + properties: + kind: + type: string + metadata: + $ref: '#/components/schemas/ResourceMetadata' + StreamsGroupState: + description: The state of the Streams group. + type: string + x-extensible-enum: + - UNKNOWN + - PREPARING_REBALANCE + - COMPLETING_REBALANCE + - STABLE + - DEAD + - EMPTY + - ASSIGNING + - RECONCILING + - NOT_READY + Relationship: + type: object + required: + - related + properties: + related: + type: string + ResourceCollectionMetadata: + type: object + required: + - self + properties: + self: + type: string + next: + type: string + nullable: true + ResourceMetadata: + type: object + required: + - self + properties: + self: + type: string + resource_name: + type: string + nullable: true + responses: + ListStreamsGroupsResponse: + description: The list of streams groups. + content: + application/json: + schema: + $ref: '#/components/schemas/StreamsGroupDataList' + example: + kind: KafkaStreamsGroupList + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups + next: null + data: + - kind: KafkaStreamsGroup + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1 + resource_name: crn:///kafka=cluster-1/streams-group=streams-group-1 + cluster_id: cluster-1 + group_id: streams-group-1 + group_epoch: 1 + target_assignment_epoch: 1 + topology_epoch: 1 + state: STABLE + member_count: 2 + subtopology_count: 1 + members: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members + subtopologies: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/subtopologies + BadRequestErrorResponse: + description: >- + Indicates a bad request error. It could be caused by an unexpected + request body format or other forms of request validation failure. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + bad_request_cannot_deserialize: + description: >- + Thrown when trying to deserialize an integer from non-integer + data. + value: + error_code: 400 + message: >- + Cannot deserialize value of type `java.lang.Integer` from + String "A": not a valid `java.lang.Integer` value + unsupported_version_exception: + description: >- + Thrown when the version of this API is not supported in the + underlying Kafka cluster. + value: + error_code: 40035 + message: >- + The version of this API is not supported in the underlying + Kafka cluster. + UnauthorizedErrorResponse: + description: >- + Indicates a client authentication error. Kafka authentication failures + will contain error code 40101 in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + kafka_authentication_failed: + description: >- + Thrown when using Basic authentication with wrong Kafka + credentials. + value: + error_code: 40101 + message: Authentication failed + ForbiddenErrorResponse: + description: >- + Indicates a client authorization error. Kafka authorization failures + will contain error code 40301 in the response body. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + kafka_authorization_failed: + description: >- + Thrown when the caller is not authorized to perform the + underlying operation. + value: + error_code: 40301 + message: Request is not authorized + TooManyRequestsErrorResponse: + description: >- + Indicates that a rate limit threshold has been reached, and the client + should retry again later. + content: + text/html: + schema: + type: string + example: + description: A sample response from Jetty's DoSFilter. + value: >- + Error 429 Too Many + Requests

HTTP ERROR 429 Too Many + Requests

+ + +
URI:/v3/clusters/my-cluster
STATUS:429
MESSAGE: Too Many + Requests
SERVLET: default
+ ServerErrorResponse: + description: >- + A server-side problem that might not be addressable from the client + side. Retriable Kafka errors will contain error code 50003 in the + response body. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' + examples: + generic_internal_server_error: + description: Thrown for generic HTTP 500 errors. + value: + error_code: 500 + message: Internal Server Error + GetStreamsGroupResponse: + description: The streams group. + content: + application/json: + schema: + $ref: '#/components/schemas/StreamsGroupData' + example: + kind: KafkaStreamsGroup + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1 + resource_name: crn:///kafka=cluster-1/streams-group=streams-group-1 + cluster_id: cluster-1 + group_id: streams-group-1 + group_epoch: 1 + target_assignment_epoch: 1 + topology_epoch: 1 + state: STABLE + member_count: 2 + subtopology_count: 1 + members: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members + subtopologies: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/subtopologies + ListStreamsGroupSubtopologiesResponse: + description: The list of subtoplogies of the streams group + content: + application/json: + schema: + $ref: '#/components/schemas/StreamsGroupSubtopologyDataList' + example: + kind: KafkaStreamsGroupSubtopologyList + metadata: + self: >- + http://localhost:8082/v3/clusters/cluster-1/streams-groups/streams-group-1/subtopologies + data: + - kind: KafkaStreamsSubtopology + metadata: + self: >- + http://localhost:8082/v3/clusters/cluster-1/streams-groups/streams-group-1/subtopologies/subtopology-1 + resource_name: >- + crn:///kafka=cluster-1/streams-group=streams-group-1/subtopology=subtopology-1 + cluster_id: cluster-1 + group_id: streams-group-1 + subtopology_id: subtopology-1 + source_topics: + - topic-1 + - topic-2 + GetStreamsGroupSubtopologyResponse: + description: The streams group subtopology. + content: + application/json: + schema: + $ref: '#/components/schemas/StreamsGroupSubtopologyData' + example: + kind: KafkaStreamsGroupSubtopology + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/subtopologies/subtopology-1 + resource_name: >- + crn:///kafka=cluster-1/streams-group=streams-group-1/subtopology=subtopology-1 + cluster_id: cluster-1 + group_id: streams-group-1 + subtopology_id: subtopology-1 + source_topics: + - topic-1 + - topic-2 + ListStreamsGroupMembersResponse: + description: The list of members of the streams group + content: + application/json: + schema: + $ref: '#/components/schemas/StreamsGroupMemberDataList' + example: + kind: KafkaStreamsGroupMemberList + metadata: + self: >- + http://localhost:8082/v3/clusters/cluster-1/streams-groups/streams-group-1/members + data: + - kind: KafkaStreamsMember + metadata: + self: >- + http://localhost:8082/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1 + resource_name: >- + crn:///kafka=cluster-1/streams-group=streams-group-1/member=member-1 + cluster_id: cluster-1 + group_id: streams-group-1 + member_id: member-1 + process_id: process-1 + client_id: client-1 + instance_id: instance-1 + member_epoch: 2 + topology_epoch: 1 + is_classic: false + assignments: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1/assignments + target_assignment: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1/target-assignment + GetStreamsGroupMemberResponse: + description: The streams group member. + content: + application/json: + schema: + $ref: '#/components/schemas/StreamsGroupMemberData' + example: + kind: KafkaStreamsGroupMember + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1 + resource_name: >- + crn:///kafka=cluster-1/streams-group=streams-group-1/member=member-1 + cluster_id: cluster-1 + group_id: streams-group-1 + member_id: member-1 + process_id: process-1 + client_id: client-1 + instance_id: instance-1 + member_epoch: 2 + topology_epoch: 1 + is_classic: false + assignments: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1/assignments + target_assignment: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1/target-assignment + GetStreamsGroupMemberAssignmentsResponse: + description: The streams group member assignments. + content: + application/json: + schema: + $ref: '#/components/schemas/StreamsGroupMemberAssignmentData' + example: + kind: KafkaStreamsGroupMemberAssignments + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1/assignments + resource_name: >- + crn:///kafka=cluster-1/streams-group=streams-group-1/member=member-1/assignments + cluster_id: cluster-1 + group_id: streams-group-1 + member_id: member-1 + active_tasks: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1/assignments/active + standby_tasks: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1/assignment/standby + warmup_tasks: + related: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1/assignment/warmup + ListStreamsTasksResponse: + description: The streams group member assignments of specific type. + content: + application/json: + schema: + $ref: '#/components/schemas/StreamsTaskDataList' + example: + kind: KafkaStreamsGroupMemberAssignments + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1/assignments/active/subtopologies/subtopology-1 + resource_name: >- + crn:///kafka=cluster-1/streams-group=streams-group-1/member=member-1/assignments=active/subtopology=subtopology-1 + data: + - kind: GetStreamsTaskResponse + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1/assignments/active/subtopologies/subtopology-1 + resource_name: >- + crn:///kafka=cluster-1/streams-group=streams-group-1/member=member-1/assignments=active/subtopology=subtopology-1 + subtopology_id: subtopology-1 + partition_ids: + - 0 + - 1 + - 2 + GetStreamsTaskResponse: + description: The partitions of a streams member task. + content: + application/json: + schema: + $ref: '#/components/schemas/StreamsTaskData' + example: + kind: KafkaStreamsGroupMemberAssignments + metadata: + self: >- + https://pkc-00000.region.provider.confluent.cloud/kafka/v3/clusters/cluster-1/streams-groups/streams-group-1/members/member-1/assignments/active/subtopologies/subtopology-1 + resource_name: >- + crn:///kafka=cluster-1/streams-group=streams-group-1/member=member-1/assignments=active/subtopology=subtopology-1 + subtopology_id: subtopology-1 + partition_ids: + - 0 + - 1 + - 2 + parameters: + ClusterId: + name: cluster_id + description: The Kafka cluster ID. + in: path + required: true + schema: + type: string + example: cluster-1 + GroupId: + name: group_id + description: The group ID. + in: path + required: true + schema: + type: string + example: group-1 + SubtopologyId: + name: subtopology_id + description: The streams subtopology ID. + in: path + required: true + schema: + type: string + example: subtopology-1 + MemberId: + name: member_id + description: The streams member ID. + in: path + required: true + schema: + type: string + example: member-1 + AssignmentsType: + name: assignments_type + description: The streams member Assignment type. + in: path + required: true + schema: + $ref: '#/components/schemas/AssignmentsType' + example: active + x-stackQL-resources: + streams_groups: + id: confluent.streams_group.streams_groups + name: streams_groups + title: Streams Groups + methods: + list_kafka_streams_groups: + operation: + $ref: '#/paths/~1kafka~1v3~1clusters~1{cluster_id}~1streams-groups/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + get_kafka_streams_group: + operation: + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1streams-groups~1{group_id}/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/streams_groups/methods/get_kafka_streams_group + - $ref: >- + #/components/x-stackQL-resources/streams_groups/methods/list_kafka_streams_groups + insert: [] + update: [] + delete: [] + replace: [] + subtopologies: + id: confluent.streams_group.subtopologies + name: subtopologies + title: Subtopologies + methods: + list_kafka_streams_group_subtopologies: + operation: + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1streams-groups~1{group_id}~1subtopologies/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + get_kafka_streams_group_subtopology: + operation: + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1streams-groups~1{group_id}~1subtopologies~1{subtopology_id}/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/subtopologies/methods/get_kafka_streams_group_subtopology + - $ref: >- + #/components/x-stackQL-resources/subtopologies/methods/list_kafka_streams_group_subtopologies + insert: [] + update: [] + delete: [] + replace: [] + members: + id: confluent.streams_group.members + name: members + title: Members + methods: + list_kafka_streams_group_members: + operation: + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1streams-groups~1{group_id}~1members/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + get_kafka_streams_group_member: + operation: + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1streams-groups~1{group_id}~1members~1{member_id}/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/members/methods/get_kafka_streams_group_member + - $ref: >- + #/components/x-stackQL-resources/members/methods/list_kafka_streams_group_members + insert: [] + update: [] + delete: [] + replace: [] + member_assignments: + id: confluent.streams_group.member_assignments + name: member_assignments + title: Member Assignments + methods: + get_kafka_streams_group_member_assignments: + operation: + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1streams-groups~1{group_id}~1members~1{member_id}~1assignments/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/member_assignments/methods/get_kafka_streams_group_member_assignments + insert: [] + update: [] + delete: [] + replace: [] + member_target_assignments: + id: confluent.streams_group.member_target_assignments + name: member_target_assignments + title: Member Target Assignments + methods: + get_kafka_streams_group_member_target_assignments: + operation: + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1streams-groups~1{group_id}~1members~1{member_id}~1target-assignments/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/member_target_assignments/methods/get_kafka_streams_group_member_target_assignments + insert: [] + update: [] + delete: [] + replace: [] + member_assignment_tasks: + id: confluent.streams_group.member_assignment_tasks + name: member_assignment_tasks + title: Member Assignment Tasks + methods: + list_kafka_streams_group_member_assignment_tasks: + operation: + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1streams-groups~1{group_id}~1members~1{member_id}~1assignments~1{assignments_type}/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/member_assignment_tasks/methods/list_kafka_streams_group_member_assignment_tasks + insert: [] + update: [] + delete: [] + replace: [] + member_target_assignment_tasks: + id: confluent.streams_group.member_target_assignment_tasks + name: member_target_assignment_tasks + title: Member Target Assignment Tasks + methods: + list_kafka_streams_group_member_target_assignment_tasks: + operation: + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1streams-groups~1{group_id}~1members~1{member_id}~1target-assignments~1{assignments_type}/get + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/member_target_assignment_tasks/methods/list_kafka_streams_group_member_target_assignment_tasks + insert: [] + update: [] + delete: [] + replace: [] + member_assignment_task_partitions: + id: confluent.streams_group.member_assignment_task_partitions + name: member_assignment_task_partitions + title: Member Assignment Task Partitions + methods: + get_kafka_streams_group_member_assignment_task_partitions: + operation: + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1streams-groups~1{group_id}~1members~1{member_id}~1assignments~1{assignments_type}~1subtopologies~1{subtopology_id}/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/member_assignment_task_partitions/methods/get_kafka_streams_group_member_assignment_task_partitions + insert: [] + update: [] + delete: [] + replace: [] + member_target_assignment_task_partitions: + id: confluent.streams_group.member_target_assignment_task_partitions + name: member_target_assignment_task_partitions + title: Member Target Assignment Task Partitions + methods: + get_kafka_streams_group_member_target_assignment_task_partitions: + operation: + $ref: >- + #/paths/~1kafka~1v3~1clusters~1{cluster_id}~1streams-groups~1{group_id}~1members~1{member_id}~1target-assignments~1{assignments_type}~1subtopologies~1{subtopology_id}/get + response: + mediaType: application/json + openAPIDocKey: '200' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/member_target_assignment_task_partitions/methods/get_kafka_streams_group_member_target_assignment_task_partitions + insert: [] + update: [] + delete: [] + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/sts.yaml b/providers/src/confluent/v00.00.00000/services/sts.yaml index 70b7c78d..3fa2d1eb 100644 --- a/providers/src/confluent/v00.00.00000/services/sts.yaml +++ b/providers/src/confluent/v00.00.00000/services/sts.yaml @@ -1,1095 +1,191 @@ openapi: 3.0.0 -servers: - - url: 'https://api.confluent.cloud' - description: Confluent Cloud API -info: - version: '' - contact: - name: Confluent Cloud - url: 'https://www.confluent.io/cloud-contact-us/' - email: support@confluent.io - x-api-id: 46234552-5833-42eb-ba0f-883ad3f70d2b - x-audience: external-public - x-logo: - url: 'https://assets.confluent.io/m/5ec23aa91903c00b/' - title: Confluent Cloud APIs - sts - description: sts -tags: - - name: API Keys (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ApiKey` objects represent access to different parts of Confluent Cloud. Some types - of API keys represent access to a single cluster/resource such as a Kafka cluster, - Schema Registry cluster or a ksqlDB cluster. Cloud API Keys represent access to resources within an organization - that are not tied to a specific cluster, such as the Org API, IAM API, Metrics API or Connect API. - - The API allows you to list, create, update and delete your API Keys. - - - Related guide: [API Keys in Confluent Cloud](https://docs.confluent.io/cloud/current/client-apps/api-keys.html). - - ## The API Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `apikeys_per_org` | API Keys in one Confluent Cloud organization | - - name: Environments (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Environment` objects represent an isolated namespace for your Confluent resources - for organizational purposes. - - The API allows you to create, delete, and update your environments. You can retrieve - individual environments as well as a list of all your environments. - - - Related guide: [Environments in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/environments.html). - - ## The Environments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `environments_per_org` | Environments in one Confluent Cloud organization | - - name: Organizations (org/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Organization` objects represent a customer organization. An organization contains all customer - resources (e.g., Environments, Kafka Clusters, Service Accounts, API Keys) and is tied to a billing - agreement (including any annual commitment or support plan). - - The API allows you to list, view, and update your organizations. - - - Related guide: [Organizations for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/hierarchy/organizations/cloud-organization.html). - - ## The Organizations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `organizations_per_user` | Confluent Cloud organizations a user belongs to | - - name: Users (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `User` objects represent individuals who may access your Confluent resources. - - The API allows you to retrieve, update, and delete individual users, as well as list of all your - users. This API cannot be used to create new user accounts. - - - Related guide: [Users in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/user-account.html). - - ## The Users Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `users_per_org` | Users in one Confluent Cloud organization | - - name: Service Accounts (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ServiceAccount` objects are typically used to represent applications and other non-human principals - that may access your Confluent resources. - - The API allows you to create, retrieve, update, and delete individual service accounts, as well as - list all your service accounts. - - - Related guide: [Service Accounts in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/service-account.html). - - ## The Service Accounts Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `service_accounts_per_org` | Service Accounts in one Confluent Cloud organization | - - name: Invitations (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Invitation` objects represent invitations to invite users to join your organizations in Confluent Cloud. - - The API allows you to list all your invitations, as well as create, read, and delete a specified invitation. - - - Related guide: [User invitations in Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/identity/user-accounts.html). - - ## The Invitations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `invitations_per_org` | Invitations in a Confluent Cloud organization | - - name: IP Groups (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Groups API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Groups%20API-%23bc8540)](mailto:cloud-support@confluent.io?subject=Request%20to%20join%20IP%20Filtering%20API%20Limited%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Access%20for%20IP%20Filtering.%0AMy%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.%0A) - - Definitions of networks which can be named and referred by IP blocks, commonly used to attach to IP Filter rules. - - - ## The IP Groups Model - - - name: IP Filters (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To IP Filters API](https://img.shields.io/badge/-Request%20Access%20To%20IP%20Filters%20API-%23bc8540)](mailto:ccloud-api-access+iam-v2-limited-availability@confluent.io?subject=Request%20to%20join%20iam/v2%20API%20Limited%20Availability&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Limited%20Availability%20for%20iam/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `IP Filter` objects are bindings between IP Groups and Confluent resource(s). - For example, a binding between "CorpNet" and "Management APIs" will enforce that - access must come from one of the CIDR blocks associated with CorpNet. - If there are multiple IP filters bound to a resource, a request matching any of the CIDR blocks - for any of the IP Group will allow the request. - If there are no IP Filters for a resource, then access will be granted to requests originating - from any IP Address. - - - ## The IP Filters Model - - - name: Role Bindings (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A role binding grants a Principal a role on resources that match a pattern. - - The API allows you to perform create, delete, and list operations on role bindings. - - - Related guide: [Role-Based Access Control (RBAC)](https://docs.confluent.io/cloud/current/access-management/access-control/cloud-rbac.html). - - ## The Role Bindings Model - - - name: Subscriptions (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Subscription` objects represent the intent of the customers to get notifications of particular types. - A subscription is created for a particular `NotificationType` and the user will get notifications on the - `Integrations` that are provided while creating the subscription. - - This API allows you to create, retrieve, and update subscriptions, - as well as to view the list of all your subscriptions. You can also delete subscriptions - with RECOMMENDED or OPTIONAL notification types. Subscriptions with REQUIRED notification types cannot be deleted. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Subscriptions Model - - - name: Integrations (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - You can create an `Integration` to specify how we can notify you when we receive an alert/notification for - a subscription. Please note that you can only perform create, update and delete operations for integrations - of type `Webhook`, `Slack` and `MsTeams`. You cannot create, update or delete integrations of type `RoleEmail` - and `UserEmail`. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Integrations Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `integrations_per_org` | Maximum number of integrations in one Confluent Cloud organization | - - name: Notification Types (notifications/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The type of notifications (and their corresponding metadata) supported by Confluent. - - - Related guide: [Cloud Notifications](https://docs.confluent.io/cloud/current/monitoring/configure-notifications.html#notifications-for-ccloud). - - ## The Notification Types Model - - - name: Clusters (cmk/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Apache Kafka Clusters on Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Kafka clusters. - - - Related guide: [Confluent Cloud Cluster Management for Apache Kafka APIs](https://docs.confluent.io/cloud/current/clusters/cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `kafka_clusters_per_environment` | Number of clusters in one Confluent Cloud environment | - - name: Clusters (ksqldbcm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cluster` represents a ksqlDB runtime that you can issue queries to using its API endpoint. - It executes SQL statements and queries which under the hood get built into corresponding - Kafka Streams topologies. The API allows you to list, create, read, and delete your ksqlDB clusters. - - - Related guide: [ksqlDB in Confluent Cloud](https://docs.confluent.io/cloud/current/ksqldb/ksqldb-cluster-api.html). - - ## The Clusters Model - - - ## Quotas and Limits - This resource is subject to the following quotas: - - | Quota | Description | - | --- | --- | - | `ksql.limits.max_apps_per_cluster` | Clusters in one Confluent Cloud Kafka Cluster. | - - name: Connectors (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for Managed Connectors or Custom Connectors in Confluent Cloud. - - The API allows you to list, create, get, update and delete a Managed Connector or Custom Connector in Confluent Cloud. - - Connect metrics are available through the [Metrics v2 API](https://api.telemetry.confluent.cloud/docs#tag/Version-2). - - Related guide: [Confluent Cloud API and Managed Connectors](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - name: Lifecycle (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the lifecycle for a Managed Connector or Custom Connector in Confluent Cloud. Operations currently supported are Pause and Resume. - - name: Status (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for requesting the status or the tasks for a Managed Connector or Custom Connector in Confluent Cloud. - - name: Managed Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for Managed connectors in Confluent Cloud. - - name: Offsets (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - API for managing the offsets for a Managed Connector. - - Related guide: [Manage Connector Offsets](https://docs.confluent.io/cloud/current/connectors/offsets.html#manage-offsets-for-fully-managed-connectors-in-ccloud) - - name: Custom Connector Plugins (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - CustomConnectorPlugins objects represent Custom Connector Plugins on Confluent Cloud. - The API allows you to list, create, read, update, and delete your Custom Connector Plugins. - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Custom Connector Plugins Model - - - name: Presigned Urls (connect/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Request a presigned upload URL for new Custom Connector Plugin. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - - Related guide: - [Custom Connector Plugin API](https://docs.confluent.io/cloud/current/connectors/connect-api-section.html). - - - ## The Presigned Urls Model - - - name: Cluster (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Configs (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: ACL (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Consumer Group (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Partition (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Topic (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Records (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Cluster Linking (v3) - description: '[![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy)' - - name: Applied Quotas (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A `quota` object represents a quota configuration for a specific Confluent Cloud resource. - Use this API to retrieve an individual quota or list of quotas for a given scope. - - - Related guide: [Service Quotas for Confluent Cloud](https://docs.confluent.io/cloud/current/quotas/index.html). - - ## The Applied Quotas Model - - - name: Scopes (service-quota/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Gets a list of all available scopes for applied quotas. - - - Related guide: [Quota Scopes](https://docs.confluent.io/cloud/current/quotas/quotas.html#query-for-scopes). - - ## The Scopes Model - - - name: Entitlements (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Entitlement` objects represent metadata about a marketplace entitlement. - - An entitlement includes metadata about a marketplace purchase - (start date, end date, billing information, partner IDs, etc). - The API allows partners to create, read, and list entitlements. (Unless you - need entitlement creation and customer registration to be separate, - we recommend using the Signup API to create an organization and entitlement - at the same time) - - The API only allows authorized partners to interact with the Entitlements API. - - name: Regions (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Schema Registry clusters. - The API allows you to list Schema Registry regions. - - - Related guides: - * [Confluent Cloud providers and region support](https://docs.confluent.io/cloud/current/stream-governance/packages.html#cloud-providers-and-region-support). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Regions Model - - - name: Clusters (srcm/v2) - description: |- - [![Deprecated](https://img.shields.io/badge/Lifecycle%20Stage-Deprecated-%23ff005c)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list, create, read, and delete your Schema Registry clusters. - - - Related guides: - * [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - * [srcm/v3 Migration Guide](https://docs.confluent.io/cloud/current/stream-governance/packages.html#deprecation-of-srcm-v2-clusters-and-regions-apis-and-upgrade-guide). - - - ## The Clusters Model - - - name: Clusters (srcm/v3) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Clusters` objects represent Schema Registry Clusters on Confluent Cloud. - - The API allows you to list and read your Schema Registry clusters. - - - Related guide: [Confluent Cloud Schema Registry Cluster APIs](https://docs.confluent.io/cloud/current/stream-governance/clusters-regions-api.html#schema-registry-cluster-management). - - ## The Clusters Model - - - name: Compatibility (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to test schema compatibility. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Config (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to manage and query schema compatibility settings and cluster configurations. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Contexts (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to retrieve information about schema contexts. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Exporters (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete exporters. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Modes (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects modes of operation. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Schemas (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schemas. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Subjects (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete schema subjects and versions. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Key Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete key encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Data Encryption Keys (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete data encryption keys. - - Related guide: [Manage Schemas in Confluent Cloud](https://docs.confluent.io/cloud/current/sr/schemas-manage.html#manage-schemas-in-ccloud). - - name: Entity (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Search (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to search for entities. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Types (v1) - description: |- - [![Generally Available](https://img.shields.io/badge/Lifecycle%20Stage-Generally%20Available-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - The API allows you to create, retrieve, update, and delete catalog types such as tag definitions. - - Related guide: [Catalog API Documentation](https://docs.confluent.io/cloud/current/stream-governance/stream-catalog.html#catalog-api-documentation). - - name: Provider Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you have shared through Stream Sharing. - - - ## The Provider Shared Resources Model - - - name: Provider Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ProviderShare` object respresents the share that you have created through Stream Sharing. - - - Related guide: [Provider Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/produce-shared-data.html#stream-shares). - - ## The Provider Shares Model - - - name: Consumer Shared Resources (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerSharedResource` object contains details of the data stream - (topic, schema registry subjects, sharing metadata) that you received through Stream Sharing. - - - ## The Consumer Shared Resources Model - - - name: Consumer Shares (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ConsumerShare` object respresents the share that you received through Stream Sharing. - - - Related guide: [Consumer Stream Shares in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-sharing/consume-shared-data.html). - - ## The Consumer Shares Model - - - name: Shared Tokens (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Encrypted Token shared with consumer - - - ## The Shared Tokens Model - - - name: Opt Ins (cdx/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Stream sharing opt in options - - ## The Opt Ins Model - - - name: Organizations (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Organizations` objects represent an entire Confluent Cloud organization. - Partners are allowed to get an organization they have signed up or - list all organizations they have signed up. - - name: Signup (partner/v2) - description: | - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Partner v2](https://img.shields.io/badge/-Request%20Access%20To%20Partner%20v2-%23bc8540)](mailto:ccloud-api-access+partner-v2-early-access@confluent.io?subject=Request%20to%20join%20partner/v2%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20partner/v2%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Signup` APIs can only be performed by partners. - - name: Networks (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Network` represents a network (VPC) in Confluent Cloud. All Networks exist within Confluent-managed cloud - provider accounts. Dedicated networks support more networking options but can only contain Dedicated clusters. - Shared networks can contain any cluster type. - - The API allows you to list, create, read, update, and delete your networks. - - - Related guide: [APIs to manage networks in Confluent Cloud](https://docs.confluent.io/cloud/current/networking/overview.html). - - ## The Networks Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `dedicated_networks_per_environment` | Number of dedicated networks per Confluent Cloud environment | - - name: Peerings (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove VPC/VNet peering connections between your VPC/VNet and Confluent Cloud. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - * [Use VPC peering connections with Confluent Cloud on Google Cloud](https://docs.confluent.io/cloud/current/networking/peering/gcp-peering.html). - - - ## The Peerings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `peerings_per_network` | Number of peerings per network | - - name: Transit Gateway Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AWS Transit Gateway Attachments - - Related guide: [APIs to manage AWS Transit Gateway Attachments](https://docs.confluent.io/cloud/current/networking/aws-transit-gateway.html). - - ## The Transit Gateway Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `tgw_attachments_per_network` | Number of TGW attachments per network | - - name: Private Link Accesses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add or remove access to PrivateLink endpoints by AWS account, Azure subscription and GCP project ID. - - Related guides: - * [Use Google Cloud Private Service Connect with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/gcp-private-service-connect.html). - * [Use Azure Private Link with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/azure-privatelink.html). - * [Use AWS PrivateLink with Confluent Cloud](https://docs.confluent.io/cloud/current/networking/private-links/aws-privatelink.html). - - - ## The Private Link Accesses Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_accounts_per_network` | Number of AWS accounts per network | - | `private_link_subscriptions_per_network` | Number of Azure subscriptions per network | - | `private_service_connect_projects_per_network` | Number of GCP projects per network | - - name: Network Link Services (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Network Link Service is associated with a Private Link Confluent Cloud Network. - It enables connectivity from other Private Link Confluent Cloud Networks based on - the configured accept policies. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Services Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_service_per_network` | Number of network link services per network | - - name: Network Link Endpoints (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Network Link Enpoint is associated with a Private Link Confluent Cloud Network at the origin and a - Network Link Service (associated with another Private Link Confluent Cloud Network) at the target. - It enables connectivity between the origin network and the target network. - It can only be associated with a Private Link network. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Endpoints Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `network_link_endpoints_per_network` | Number of network link endpoints per network | - - name: Network Link Service Associations (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - List of incoming Network Link Enpoints associated with the Network Link Service. - - - Related guide: [Network Linking Overview](https://docs.confluent.io/cloud/current/networking/network-linking.html). - - ## The Network Link Service Associations Model - - - name: Gateways (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A gateway is a resource that defines network access to Confluent cloud resources. - - - ## The Gateways Model - - - name: IP Addresses (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - IP Addresses - - Related guide: [Use Public Egress IP addresses on Confluent Cloud](https://docs.confluent.io/cloud/current/networking/static-egress-ip-addresses.html) - - ## The IP Addresses Model - - - name: Private Link Attachments (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment objects represent reservations to establish PrivateLink connections - to a cloud region in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachments. - - - ## The Private Link Attachments Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `private_link_attachments_per_environment` | Number of PrivateLink Attachments per environment | - - name: Private Link Attachment Connections (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - PrivateLink attachment connection objects represent connections established to a cloud region - in order to access resources that belong to a Confluent Cloud Environment. - The API allows you to list, create, read update and delete your PrivateLink attachment connections. - - - ## The Private Link Attachment Connections Model - - - name: Identity Providers (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityProvider` objects represent external OAuth-OIDC providers in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Identity Provider. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Identity Providers Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_providers_per_org` | Number of OAuth identity providers per organization | - | `public_keys_per_provider` | Number of public keys saved per identity provider | - - name: Jwks (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `JWKS` objects represent public key sets for a specific OAuth/OpenID Connect provider within - Confluent Cloud. - - The API allows you to refresh JWKS public key data. - - - Related guide: [OAuth for Confluent Cloud](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/overview.html). - - ## The Jwks Model - - - name: Identity Pools (iam/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `IdentityPool` objects represent groups of identities tied to a given a `IdentityProvider` - that authorizes them to Confluent Cloud resources. - - It provides a mapping functionality of your `Identity Provider` user to a Confluent identity pool that - is then used to provide access to Confluent Resources. - - - Related guide: [Use identity pools with your OAuth provider](https://docs.confluent.io/cloud/current/access-management/authenticate/oauth/identity-pools.html). - - ## The Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_provider` | Number of Identity Pools per Identity Provider | - - name: OAuth Tokens (sts/v1) - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - OAuth Token is a [JSON Web Token (JWT)](https://www.rfc-editor.org/rfc/rfc7519) that enables the use of - external identities to access Confluent Cloud APIs - - name: Client Quotas (kafka-quotas/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `ClientQuota` objects represent Client Quotas you can set at the service account level. - - The API allows you to list, create, read, update, and delete your client quotas. - - - Related guide: [Client Quotas in Confluent Cloud](https://docs.confluent.io/cloud/current/clusters/client-quotas.html). - - ## The Client Quotas Model - - - name: Pipelines (sd/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Pipeline` objects represent information about a user-defined pipeline of Confluent Cloud components. - The pipeline's content is available separately. - - The API allows you to create, retrieve, update, and delete your pipelines, - as well as list all of your pipelines for the particular environment and Kafka cluster. - - - Related guide: [Pipelines in Confluent Cloud](https://docs.confluent.io/cloud/current/stream-designer/). - - ## The Pipelines Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `pipelines_per_org` | Pipelines in one Confluent Cloud organization | - | `pipelines_per_cluster` | Pipelines in one Confluent Cloud Kafka cluster | - - name: Keys (byok/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Key` objects represent customer managed keys on dedicated Confluent Cloud clusters. - - Keys are used to protect data at rest stored in your dedicated Confluent Cloud clusters on AWS, Azure, and GCP. - This API allows you to upload and retrieve self-managed keys on Confluent Cloud. - - - Related guide: [Confluent Cloud Bring Your Own Key (BYOK) Management API](https://docs.confluent.io/cloud/current/clusters/byok/index.html). - - ## The Keys Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `byok.max_keys.per_org` | BYOK keys in one Confluent Cloud organisation. | - - name: Costs (billing/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Cost` objects represent the aggregated billing costs for an organization - - - Related guide: [Retrieve costs for a range of dates](https://docs.confluent.io/cloud/current/billing/overview.html#retrieve-costs-for-a-range-of-dates). - - ## The Costs Model - - - name: Group Mappings (iam/v2/sso) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `GroupMapping` objects establish relationships between user groups in your SSO - identity provider and specific RBAC roles in Confluent Cloud. - - Group mappings enable automated and secure access control to Confluent Cloud resources, - reducing administrative workload by streamlining user provisioning and authorization. - - - Related guide: [Use group mappings with your SSO identity provider](https://docs.confluent.io/cloud/current/access-management/authenticate/sso/group-mapping/overview.html). - - ## The Group Mappings Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `group_mappings_per_org` | Number of group mappings per organization | - - name: Compute Pools (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - A Compute Pool represents a set of compute resources that is used to run your Queries. - The resources (CPUs, memory,…) provided by a Compute Pool are shared between all Queries that use it. - - - ## The Compute Pools Model - - - name: Regions (fcpm/v2) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Region` objects represent cloud provider regions available when placing Flink compute pools. - The API allows you to list Flink regions. - - - ## The Regions Model - - - name: Statements (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Statement` represents a core resource used to model SQL statements for execution. - A statement generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your statements. - ## The Statements Model - - - name: Statement Results (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementResult` represents a result of a `Statement` resource. - The API allows you to read your statement's results. - ## The Statement Results Model - - - name: Statement Exceptions (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `StatementException` represents an exception of a `Statement` resource. - The API allows you to read your statement's exceptions. - ## The Statement Exceptions Model - - - name: Connections (sql/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Connection` represents a core resource used to model SQL connections for execution. - A connection generalizes DDL, DML, DQL, etc., but doesn’t attempt to handle session - management or any higher-level functionality. - The API allows you to list, create, read, and delete your connections. - ## The Connections Model - - - name: DNS Forwarders (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Add, remove, and update DNS forwarder for your gateway. - - Related guides: - * [Use VPC peering connections with Confluent Cloud on AWS](https://docs.confluent.io/cloud/current/networking/peering/aws-peering.html). - * [Use VNet peering connections with Confluent Cloud on Azure](https://docs.confluent.io/cloud/current/networking/peering/azure-peering.html). - - - ## The DNS Forwarders Model - - - name: Access Points (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - AccessPoint objects represent network connections in and out of Gateways. - This API allows you to list, create, read, update, and delete your access points. - - - ## The Access Points Model - - - name: DNS Records (networking/v1) - description: |- - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - DNS record objects are associated with Confluent Cloud networking resources. This API allows you to list, create, read, update, and delete your DNS records. - - ## The DNS Records Model - - - name: Certificate Authorities (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `CertificateAuthority` objects represent signing certificate authorities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your Certificate Authority. - - - Related guide: [Manage certificate authorities used for client authentication with X.509 certificates.](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/overview.html). - - ## The Certificate Authorities Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `certificate_authorities_per_org` | Number of certificate authorities per organization | - - name: Certificate Identity Pools (iam/v2) - description: |- - [![Limited Availability](https://img.shields.io/badge/Lifecycle%20Stage-Limited%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - `Identitypool` objects represent workload identities in Confluent Cloud. - - The API allows you to list, create, read, update, and delete your identity pools associated - with Certificate Authorities - - - Related guide: [Manage Certificate Identity Pools for Granular Client Access Management](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/configure.html#step-2-create-certificate-identity-pools-for-granular-access-control). - - ## The Certificate Identity Pools Model - - - ## Quotas and Limits - This resource is subject to the [following quotas](https://docs.confluent.io/cloud/current/quotas/overview.html): - - | Quota | Description | - | --- | --- | - | `identity_pools_per_certificate_authority` | Number of Identity Pools per Certificate Authority | - - name: Integrations (pim/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Provider Integration](https://img.shields.io/badge/-Request%20Access%20To%20Provider%20Integration-%23bc8540)](mailto:ccloud-api-access+pim-v1-early-access@confluent.io?subject=Request%20to%20join%20pim/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20pim/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - `Provider Integration` objects represent access to public cloud service provider (CSP) resources - that may be accessed by Confluent resources (for example, connectors). - - The API allows you to create, retrieve, and delete individual integrations, and also obtain a - list of all your provider integrations. - - - Related guide: [Provider Integration in Confluent Cloud](https://docs.confluent.io/home/overview.html). - - ## The Integrations Model - - - name: Flink Artifacts (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - FlinkArtifact objects represent Flink Artifacts on Confluent Cloud. - - - ## The Flink Artifacts Model - - - name: Presigned Urls (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - - Request a presigned upload URL for new Flink Artifact. Note that - the URL policy expires in one hour. If the policy expires, you can request - a new presigned upload URL. - +info: + title: sts API + description: confluent sts API + version: 1.0.0 +paths: + /sts/v1/oauth2/token: + post: + description: > + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - ## The Presigned Urls Model - - - name: Flink Artifact Versions (artifact/v1) - description: |- - [![Early Access](https://img.shields.io/badge/Lifecycle%20Stage-Early%20Access-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) [![Request Access To Flink Artifact API EA](https://img.shields.io/badge/-Request%20Access%20To%20Flink%20Artifact%20API%20EA-%23bc8540)](mailto:ccloud-api-access+artifact-v1-early-access@confluent.io?subject=Request%20to%20join%20artifact/v1%20API%20Early%20Access&body=I%E2%80%99d%20like%20to%20join%20the%20Confluent%20Cloud%20API%20Early%20Access%20for%20artifact/v1%20to%20provide%20early%20feedback%21%20My%20Cloud%20Organization%20ID%20is%20%3Cretrieve%20from%20https%3A//confluent.cloud/settings/billing/payment%3E.) - FlinkArtifactVersion objects represent Flink Artifact Versions on Confluent Cloud. + Use this operation to exchange an access token (JWT) issued by an + external identity provider for + an access token (JWT) issued by Confluent.This enables the use of + external identities - ## The Flink Artifact Versions Model - + to access Confluent Cloud APIs. + requestBody: + content: + application/x-www-form-urlencoded: + schema: + type: object + description: token exchange request parameters + properties: + api_version: + type: string + enum: + - sts/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - TokenExchangeRequest + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + grant_type: + type: string + x-extensible-enum: + - urn:ietf:params:oauth:grant-type:token-exchange + description: > + The grant type. Must be + urn:ietf:params:oauth:grant-type:token-exchange, which + indicates a token exchange. + example: urn:ietf:params:oauth:grant-type:token-exchange + subject_token: + type: string + description: >- + Confluent Cloud only accepts JSON Web Token (JWT) access + tokens from customer identity provider + example: test_jwt_token + identity_pool_id: + type: string + description: > + Identity pool is a group of external identities that are + assigned a certain level of access based on policy + example: pool_1 + subject_token_type: + type: string + x-extensible-enum: + - urn:ietf:params:oauth:token-type:jwt + description: > + An identifier for the type of requested security token. + Supported values + + is urn:ietf:params:oauth:token-type:jwt. + example: urn:ietf:params:oauth:token-type:jwt + requested_token_type: + type: string + x-extensible-enum: + - urn:ietf:params:oauth:token-type:access_token + description: > + An identifier for the type of requested security token. + + Supported values is + urn:ietf:params:oauth:token-type:access_token. + example: urn:ietf:params:oauth:token-type:access_token + expires_in: + type: integer + format: int32 + description: > + The amount of time, in seconds, between the time when the + access token was issued + + and the time when the access token will expire + default: 900 + maximum: 900 + required: + - subject_token + - grant_type + - identity_pool_id + - subject_token_type + - requested_token_type + x-lifecycle-stage: General Availability + x-self-access: true + x-name: sts.v1.OauthToken + operationId: exchangeStsV1OauthToken + summary: Exchange an OAuth Token + tags: + - OAuth Tokens (sts/v1) + responses: + '200': + description: | + access token used to access public control plane api + content: + application/json: + schema: + $ref: '#/components/schemas/sts.v1.TokenExchangeReply' + '400': + $ref: '#/components/responses/BadRequestError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true components: schemas: sts.v1.TokenExchangeRequest: @@ -1100,7 +196,9 @@ components: type: string enum: - sts/v1 - description: APIVersion defines the schema version of this representation of a resource. + description: >- + APIVersion defines the schema version of this representation of a + resource. readOnly: true kind: type: string @@ -1109,56 +207,115 @@ components: enum: - TokenExchangeRequest id: - description: 'ID is the "natural identifier" for an object within its scope/namespace; it is normally unique across time but not space. That is, you can assume that the ID will not be reclaimed and reused after an object is deleted ("time"); however, it may collide with IDs for other object `kinds` or objects of the same `kind` within a different scope/namespace ("space").' + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). type: string maxLength: 255 readOnly: true example: dlz-f3a90de metadata: - allOf: - - $ref: '#/components/schemas/ObjectMeta' - - properties: - self: - example: 'https://api.confluent.cloud/sts/v1/token-exchange-requests/ter-12345' - resource_name: - example: 'crn://confluent.cloud/organization=9bb441c4-edef-46ac-8a41-c49e44a3fd9a/token-exchange-request=ter-12345' + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object grant_type: type: string x-extensible-enum: - - 'urn:ietf:params:oauth:grant-type:token-exchange' - description: | - The grant type. Must be urn:ietf:params:oauth:grant-type:token-exchange, which indicates a token exchange. - example: 'urn:ietf:params:oauth:grant-type:token-exchange' + - urn:ietf:params:oauth:grant-type:token-exchange + description: > + The grant type. Must be + urn:ietf:params:oauth:grant-type:token-exchange, which indicates a + token exchange. + example: urn:ietf:params:oauth:grant-type:token-exchange subject_token: type: string - description: Confluent Cloud only accepts JSON Web Token (JWT) access tokens from customer identity provider + description: >- + Confluent Cloud only accepts JSON Web Token (JWT) access tokens from + customer identity provider example: test_jwt_token identity_pool_id: type: string - description: | - Identity pool is a group of external identities that are assigned a certain level of access based on policy + description: > + Identity pool is a group of external identities that are assigned a + certain level of access based on policy example: pool_1 subject_token_type: type: string x-extensible-enum: - - 'urn:ietf:params:oauth:token-type:jwt' - description: | - An identifier for the type of requested security token. Supported values + - urn:ietf:params:oauth:token-type:jwt + description: > + An identifier for the type of requested security token. Supported + values + is urn:ietf:params:oauth:token-type:jwt. - example: 'urn:ietf:params:oauth:token-type:jwt' + example: urn:ietf:params:oauth:token-type:jwt requested_token_type: type: string x-extensible-enum: - - 'urn:ietf:params:oauth:token-type:access_token' + - urn:ietf:params:oauth:token-type:access_token description: | An identifier for the type of requested security token. Supported values is urn:ietf:params:oauth:token-type:access_token. - example: 'urn:ietf:params:oauth:token-type:access_token' + example: urn:ietf:params:oauth:token-type:access_token expires_in: type: integer format: int32 - description: | - The amount of time, in seconds, between the time when the access token was issued + description: > + The amount of time, in seconds, between the time when the access + token was issued + and the time when the access token will expire default: 900 maximum: 900 @@ -1173,126 +330,90 @@ components: properties: access_token: type: string - description: | - An JWT access token, issued by Confluent, in response to the token exchange request. - Client application could use the access token to access confluent public api + description: > + An JWT access token, issued by Confluent, in response to the token + exchange request. + + Client application could use the access token to access confluent + public api issued_token_type: type: string x-extensible-enum: - - 'urn:ietf:params:oauth:token-type:access_token' - description: The token type. Always matches the value of requested_token_type from the request. - example: 'urn:ietf:params:oauth:token-type:access_token' + - urn:ietf:params:oauth:token-type:access_token + description: >- + The token type. Always matches the value of requested_token_type + from the request. + example: urn:ietf:params:oauth:token-type:access_token token_type: type: string x-extensible-enum: - Bearer - description: Indicates the token type value. The only type that Confluent supports is Bearer + description: >- + Indicates the token type value. The only type that Confluent + supports is Bearer example: Bearer expires_in: type: integer format: int32 - description: 'The length of time, in seconds, that the access token is valid.' + description: The length of time, in seconds, that the access token is valid. example: 3600 ObjectMeta: - description: 'ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.' + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. required: - self properties: self: - description: 'Self is a Uniform Resource Locator (URL) at which an object can be addressed. This URL encodes the service location, API version, and other particulars necessary to locate the resource at a point in time' + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time type: string format: uri readOnly: true - example: 'https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de' + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de resource_name: - description: Resource Name is a Uniform Resource Identifier (URI) that is globally unique across space and time. It is represented as a Confluent Resource Name + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name type: string format: uri readOnly: true - example: 'crn://confluent.cloud/kafka=lkc-f3a90de' + example: crn://confluent.cloud/kafka=lkc-f3a90de created_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was created. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. updated_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was last updated. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. deleted_at: type: string format: date-time example: '2006-01-02T15:04:05-07:00' readOnly: true - description: The date and time at which this object was (or will be) deleted. It is represented in RFC3339 format and is in UTC. + description: >- + The date and time at which this object was (or will be) deleted. It + is represented in RFC3339 format and is in UTC. readOnly: true - AclOperation: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - ALL - - READ - - WRITE - - CREATE - - DELETE - - ALTER - - DESCRIBE - - CLUSTER_ACTION - - DESCRIBE_CONFIGS - - ALTER_CONFIGS - - IDEMPOTENT_WRITE - AclPatternType: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - MATCH - - LITERAL - - PREFIXED - AclPermission: - type: string - x-extensible-enum: - - UNKNOWN - - ANY - - DENY - - ALLOW - AclResourceType: - type: string - enum: - - UNKNOWN - - ANY - - TOPIC - - GROUP - - CLUSTER - - TRANSACTIONAL_ID - - DELEGATION_TOKEN - BrokerTaskType: - type: string - enum: - - add-broker - - remove-broker - MirrorTopicStatus: - enum: - - ACTIVE - - FAILED - - LINK_FAILED - - LINK_PAUSED - - PAUSED - - PENDING_STOPPED - - SOURCE_UNAVAILABLE - - STOPPED - - PENDING_MIRROR - - PENDING_SYNCHRONIZE - - PENDING_SETUP_FOR_RESTORE - - PENDING_RESTORE - type: string + type: object Failure: type: object - description: Provides information about problems encountered while performing an operation. + description: >- + Provides information about problems encountered while performing an + operation. required: - errors properties: @@ -1302,184 +423,6 @@ components: items: $ref: '#/components/schemas/Error' uniqueItems: true - AlterConfigBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - operation: - type: string - x-extensible-enum: - - SET - - DELETE - nullable: true - validate_only: - type: boolean - CreateAclRequestData: - type: object - required: - - resource_type - - resource_name - - pattern_type - - principal - - host - - operation - - permission - properties: - resource_type: - $ref: '#/components/schemas/AclResourceType' - resource_name: - type: string - pattern_type: - $ref: '#/components/schemas/AclPatternType' - principal: - type: string - host: - type: string - operation: - $ref: '#/components/schemas/AclOperation' - permission: - $ref: '#/components/schemas/AclPermission' - CreateAclRequestDataList: - allOf: - - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/CreateAclRequestData' - CreateTopicRequestData: - type: object - required: - - topic_name - properties: - topic_name: - type: string - partitions_count: - type: integer - replication_factor: - type: integer - configs: - type: array - items: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - nullable: true - validate_only: - type: boolean - ProduceRequest: - type: object - properties: - partition_id: - type: integer - nullable: true - format: int32 - headers: - type: array - items: - $ref: '#/components/schemas/ProduceRequestHeader' - key: - $ref: '#/components/schemas/ProduceRequestData' - value: - $ref: '#/components/schemas/ProduceRequestData' - timestamp: - type: string - format: date-time - nullable: true - UpdateConfigRequestData: - type: object - properties: - value: - type: string - nullable: true - CreateLinkRequestData: - properties: - source_cluster_id: - type: string - destination_cluster_id: - type: string - remote_cluster_id: - description: The expected remote cluster ID. - type: string - cluster_link_id: - description: 'The expected cluster link ID. Can be provided when creating the second side of a bidirectional link for validating the link ID is as expected. If it''s not provided, it''s inferred from the remote cluster.' - type: string - configs: - items: - $ref: '#/components/schemas/ConfigData' - type: array - type: object - UpdateLinkConfigRequestData: - properties: - value: - type: string - required: - - value - type: object - CreateMirrorTopicRequestData: - properties: - source_topic_name: - type: string - mirror_topic_name: - type: string - replication_factor: - type: integer - configs: - type: array - items: - $ref: '#/components/schemas/ConfigData' - required: - - source_topic_name - type: object - AlterMirrorsRequestData: - properties: - mirror_topic_names: - description: The mirror topics specified as a list of topic names. - type: array - items: - type: string - mirror_topic_name_pattern: - description: The mirror topics specified as a pattern. - type: string - type: object - RemoveBrokersRequestData: - properties: - broker_ids: - type: array - items: - type: integer - required: - - broker_ids - type: object - BrokerReplicaExclusionBatchRequestData: - type: object - required: - - data - properties: - data: - type: array - items: - $ref: '#/components/schemas/BrokerReplicaExclusionRequestData' Error: type: object description: Describes a particular error encountered while performing an operation. @@ -1489,23 +432,36 @@ components: type: string maxLength: 255 status: - description: 'The HTTP status code applicable to this problem, expressed as a string value.' + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. type: string code: - description: 'An application-specific error code, expressed as a string value.' + description: An application-specific error code, expressed as a string value. type: string title: - description: 'A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization.' + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. type: string detail: - description: A human-readable explanation specific to this occurrence of the problem. + description: >- + A human-readable explanation specific to this occurrence of the + problem. type: string source: type: object - description: 'If this error was caused by a particular part of the API request, the source will point to the query string parameter or request body property that caused it.' + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. properties: pointer: - description: 'A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. "/spec" for a spec object, or "/spec/title" for a specific field].' + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. type: string parameter: description: A string indicating which query parameter caused the error. @@ -1517,299 +473,6 @@ components: type: string nullable: true additionalProperties: false - ProduceRequestHeader: - type: object - required: - - name - properties: - name: - type: string - value: - type: string - format: byte - nullable: true - ProduceRequestData: - type: object - properties: - type: - type: string - x-extensible-enum: - - BINARY - - JSON - - STRING - data: - $ref: '#/components/schemas/AnyValue' - nullable: true - ConfigData: - example: - name: name - value: value - properties: - name: - type: string - value: - nullable: true - type: string - required: - - name - - value - BrokerReplicaExclusionRequestData: - type: object - required: - - broker_id - - reason - properties: - broker_id: - type: integer - reason: - type: string - AnyValue: - nullable: true - parameters: - AclHost: - name: host - description: The ACL host. - in: query - required: false - schema: - type: string - AclOperation: - name: operation - description: The ACL operation. - in: query - required: false - schema: - $ref: '#/components/schemas/AclOperation' - AclOperationRequired: - name: operation - description: The ACL operation. - in: query - required: true - schema: - $ref: '#/components/schemas/AclOperation' - AclPatternType: - name: pattern_type - description: The ACL pattern type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPatternType' - AclPatternTypeRequired: - name: pattern_type - description: The ACL pattern type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPatternType' - AclPermission: - name: permission - description: The ACL permission. - in: query - required: false - schema: - $ref: '#/components/schemas/AclPermission' - AclPermissionRequired: - name: permission - description: The ACL permission. - in: query - required: true - schema: - $ref: '#/components/schemas/AclPermission' - AclPrincipal: - name: principal - description: The ACL principal. This is the Service Account name or user name. - in: query - required: false - schema: - type: string - AclResourceName: - name: resource_name - description: The ACL resource name. - in: query - required: false - schema: - type: string - AclResourceType: - name: resource_type - description: The ACL resource type. - in: query - required: false - schema: - $ref: '#/components/schemas/AclResourceType' - AclResourceTypeRequired: - name: resource_type - description: The ACL resource type. - in: query - required: true - schema: - $ref: '#/components/schemas/AclResourceType' - BrokerId: - name: broker_id - description: The Kafka broker ID. - in: path - required: true - schema: - type: integer - example: 1 - ClusterId: - name: cluster_id - description: The Kafka cluster ID. - in: path - required: true - schema: - type: string - example: cluster-1 - ConfigName: - name: name - description: The configuration parameter name. - in: path - required: true - schema: - type: string - example: compression.type - ConsumerGroupId: - name: consumer_group_id - description: The consumer group ID. - in: path - required: true - schema: - type: string - example: consumer-group-1 - ConsumerId: - name: consumer_id - description: The consumer ID. - in: path - required: true - schema: - type: string - example: consumer-1 - IncludeAuthorizedOperations: - name: include_authorized_operations - description: Specify if authorized operations should be included in the response. - in: query - required: false - schema: - type: boolean - PartitionId: - name: partition_id - description: The partition ID. - in: path - required: true - schema: - type: integer - example: 0 - TopicName: - name: topic_name - description: The topic name. - in: path - required: true - schema: - type: string - example: topic-1 - BrokerTaskType: - name: task_type - description: The Kafka broker task type. - in: path - required: true - schema: - $ref: '#/components/schemas/BrokerTaskType' - example: remove-broker - ShouldShutdown: - name: should_shutdown - description: 'To shutdown the broker or not, Default: true' - in: query - required: false - schema: - type: boolean - example: true - ValidateOnly: - name: validate_only - description: 'To validate the action can be performed successfully or not. Default: false' - in: query - required: false - schema: - type: boolean - example: false - ValidateLink: - name: validate_link - description: 'To synchronously validate that the source cluster ID is expected and the dest cluster has the permission to read topics in the source cluster. Default: true' - in: query - required: false - schema: - type: boolean - example: false - IncludeTasks: - name: include_tasks - description: 'Whether to include cluster linking tasks in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludeStateTransitionErrors: - name: include_state_transition_errors - description: 'Whether to include mirror state transition errors in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - Force: - name: force - description: 'Force the action. Default: false' - in: query - required: false - schema: - type: boolean - example: false - IncludePartitionLevelTruncationData: - name: include_partition_level_truncation_data - description: 'Whether to include partition level truncation information when truncating and restoring a topic in the response. Default: false' - in: query - required: false - schema: - type: boolean - example: false - LinkName: - name: link_name - description: The link name - in: path - required: true - schema: - type: string - example: link-sb1 - LinkConfigName: - name: config_name - description: The link config name - in: path - required: true - schema: - type: string - example: consumer.offset.sync.enable - MirrorTopicStatus: - name: mirror_status - description: 'The status of the mirror topic. If not specified, all mirror topics will be returned.' - in: query - required: false - schema: - $ref: '#/components/schemas/MirrorTopicStatus' - example: ACTIVE - MirrorTopicName: - name: mirror_topic_name - description: Cluster Linking mirror topic name - in: path - required: true - schema: - type: string - example: topic-1 - QueryParamLinkName: - name: link_name - description: The link name - in: query - required: true - schema: - type: string - example: link-sb1 responses: BadRequestError: description: Bad Request @@ -1841,7 +504,9 @@ components: X-RateLimit-Limit: schema: type: integer - description: The maximum number of requests you're permitted to make per time period. + description: >- + The maximum number of requests you're permitted to make per time + period. X-RateLimit-Remaining: schema: type: integer @@ -1849,16 +514,21 @@ components: X-RateLimit-Reset: schema: type: integer - description: |- - The relative time in seconds until the current rate-limit window resets. + description: >- + The relative time in seconds until the current rate-limit window + resets. - **Important:** This differs from Github and Twitter's same-named header which uses UTC epoch seconds. We use relative time to avoid client/server time synchronization issues. + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. Retry-After: schema: type: integer - description: The number of seconds to wait until the rate limit window resets. Only sent when the rate limit is reached. + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. DefaultSystemError: - description: 'Oops, something went wrong!' + description: Oops, something went wrong! headers: X-Request-Id: schema: @@ -1874,546 +544,29 @@ components: status: '500' code: out_of_gas title: DeLorean Out Of Gas - detail: 'The DeLorean has run out of gas, but Doc Brown will fill ''er up for you asap' - securitySchemes: - cloud-api-key: - type: http - scheme: basic - description: Authenticate with Cloud API Keys using HTTP Basic Auth. Treat the Cloud API Key ID as the username and Cloud API Key Secret as the password. - confluent-sts-access-token: - type: oauth2 - description: Authenticate with Confluent API using this credentials (JSON Web Tokens) following OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https://api.confluent.cloud/sts/v1/oauth2/token' - scopes: {} - api-key: - type: http - scheme: basic - description: Authenticate with API Keys using HTTP Basic Auth. Treat the API Key ID as the username and API Key Secret as the password. - resource-api-key: - type: http - scheme: basic - description: | - Authenticate with resource-specific API Keys using HTTP Basic Auth. Treat the resource-specific API Key ID - as the username and resource-specific API Key Secret as the password. - external-access-token: - type: oauth2 - description: Authenticate with OAuth 2.0. - flows: - clientCredentials: - tokenUrl: 'https:///token' - scopes: {} - oauth: - type: oauth2 - description: Authenticate with OAuth 2.0. Currently this is only supported for partner APIs. - flows: - clientCredentials: - tokenUrl: /oauth2/token - scopes: - 'partner:alter': enables partners to alter entitlements - 'partner:create': enables partners to create entitlements and signup on behalf of customers - 'partner:delete': enables partners to delete entitlements and organizations - 'partner:describe': enables partners to read and list entitlements and organizations - requestBodies: - AlterBrokerConfigBatchRequest: - description: The alter broker configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterClusterConfigBatchRequest: - description: The alter cluster configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - example: - data: - - name: max.connections - operation: DELETE - - name: compression.type - value: gzip - AlterTopicConfigBatchRequest: - description: The alter topic configuration parameter batch request. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - examples: - batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only_batch_alter_topic_configs: - value: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - validate_only: true - CreateAclRequest: - description: The ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestData' - example: - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - BatchCreateAclRequest: - description: The batch ACL creation request. - content: - application/json: - schema: - $ref: '#/components/schemas/CreateAclRequestDataList' - example: - data: - - resource_type: CLUSTER - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: DESCRIBE - permission: DENY - - resource_type: TOPIC - resource_name: kafka-cluster - pattern_type: LITERAL - principal: 'principalType:principalName' - host: '*' - operation: READ - permission: ALLOW - CreateTopicRequest: - description: 'The topic creation request. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateTopicRequestData' - examples: - uniform_replication: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - configs: - - name: cleanup.policy - value: compact - - name: compression.type - value: gzip - dry_run_create_topic: - value: - topic_name: topic-X - partitions_count: 64 - replication_factor: 3 - validate_only: true - ProduceRequest: - description: 'A single record to be produced to Kafka. To produce multiple records in the same request, simply concatenate the records. The delivery reports are concatenated in the same order as the records are sent.' - content: - application/json: - schema: - $ref: '#/components/schemas/ProduceRequest' - examples: - binary_and_json: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - partition_id: 1 - headers: - - name: Header-1 - value: SGVhZGVyLTE= - - name: Header-2 - value: SGVhZGVyLTI= - key: - type: BINARY - data: Zm9vYmFy - value: - type: JSON - data: - foo: bar - timestamp: '2021-02-05T19:14:42Z' - string: - description: 'If using type, one of "BINARY", "JSON" or "STRING" is required.' - value: - value: - type: STRING - data: My message - empty_value: - description: key or value can be omitted entirely. - value: - key: - data: 1000 - UpdateBrokerConfigRequest: - description: The broker configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateClusterConfigRequest: - description: The cluster configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - UpdateTopicConfigRequest: - description: The topic configuration parameter update request. - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateConfigRequestData' - example: - value: gzip - CreateLinkRequest: - description: Create a cluster link - content: - application/json: - schema: - $ref: '#/components/schemas/CreateLinkRequestData' - examples: - destination_initiated_link: - description: Create a destination initiated cluster link - value: - source_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: acl.sync.enable - value: 'false' - - name: consumer.offset.sync.ms - value: '30000' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_source_cluster: - description: Create a source initiated cluster link at source cluster - value: - destination_cluster_id: cluster-2 - configs: - - name: bootstrap.servers - value: cluster-2-bootstrap-server - - name: link.mode - value: SOURCE - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - source_initiated_link_at_destination_cluster: - description: Create a source initiated cluster link at destination cluster - value: - destination_cluster_id: cluster-1 - configs: - - name: bootstrap.servers - value: cluster-1-bootstrap-server - - name: link.mode - value: DESTINATION - - name: connection.mode - value: INBOUND - - name: acl.sync.enable - value: 'false' - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_east: - description: Create a bidirectional cluster link in east - value: - remote_cluster_id: cluster-west - configs: - - name: bootstrap.servers - value: cluster-west-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: west. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - bidirectional_link_west: - description: Create a bidirectional cluster link in west - value: - remote_cluster_id: cluster-east - cluster_link_id: eEBkTffYSESld6EO898x3w - configs: - - name: bootstrap.servers - value: cluster-east-bootstrap-server - - name: link.mode - value: BIDIRECTIONAL - - name: cluster.link.prefix - value: east. - - name: sasl.mechanism - value: PLAIN - - name: sasl.protocol - value: SASL_SSL - - name: sasl.jaas.config - value: sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username='' password=''; - UpdateLinkConfigRequest: - content: - application/json: - example: - value: '300000' - schema: - $ref: '#/components/schemas/UpdateLinkConfigRequestData' - description: Link config value to update - AlterLinkConfigBatchRequest: - content: - application/json: - example: - data: - - name: cleanup.policy - operation: DELETE - - name: compression.type - value: gzip - schema: - $ref: '#/components/schemas/AlterConfigBatchRequestData' - CreateMirrorTopicRequest: - description: 'Name and configs of the topics mirroring from and mirroring to. Note that Confluent Cloud allows only specific replication factor values. Because of that the replication factor field should either be omitted or it should use one of the allowed values (see https://docs.confluent.io/cloud/current/client-apps/optimizing/durability.html).' - content: - application/json: - schema: - $ref: '#/components/schemas/CreateMirrorTopicRequestData' - examples: - generic_example: - description: Generic example of creating a mirror topic - value: - source_topic_name: topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 1 - example_with_mirror_topic_name: - description: Example using optional mirror_topic_name flag - value: - source_topic_name: topic-1 - mirror_topic_name: link1_topic-1 - configs: - - name: unclean.leader.election.enable - value: 'true' - replication_factor: 3 - AlterMirrorsRequest: - description: Mirror topics to be altered. - content: - application/json: - schema: - $ref: '#/components/schemas/AlterMirrorsRequestData' - examples: - mirror_topic_names: - description: Example using mirror topic names - value: - mirror_topic_names: - - topic-1 - - topic-2 - mirror_topic_name_pattern: - description: Example using mirror topic name pattern - value: - mirror_topic_name_pattern: .* - RemoveBrokersRequest: - content: - application/json: - example: - broker_ids: - - 1 - - 2 - - 3 - schema: - $ref: '#/components/schemas/RemoveBrokersRequestData' - description: Broker ids to remove - BrokerReplicaExclusionBatchRequest: - description: Alter Broker Replica Exclusions. - content: - application/json: - schema: - $ref: '#/components/schemas/BrokerReplicaExclusionBatchRequestData' - example: - data: - - broker_id: 1 - reason: The broker is to be removed. - - broker_id: 2 - reason: The broker is to be removed. + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap x-stackQL-resources: oauth_tokens: id: confluent.sts.oauth_tokens name: oauth_tokens title: Oauth Tokens methods: - exchange_sts_v1oauth_token: + exchange_sts_v1_oauth_token: + config: + requestBodyTranslate: + algorithm: naive operation: $ref: '#/paths/~1sts~1v1~1oauth2~1token/post' response: mediaType: application/json openAPIDocKey: '200' - schemaRef: '#/components/schemas/sts.v1.TokenExchangeReply' sqlVerbs: select: [] insert: [] update: [] - replace: [] delete: [] -paths: - /sts/v1/oauth2/token: - post: - description: | - [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) - - Use this operation to exchange an access token (JWT) issued by an external identity provider for - an access token (JWT) issued by Confluent.This enables the use of external identities - to access Confluent Cloud APIs. - requestBody: - content: - application/x-www-form-urlencoded: - schema: - allOf: - - $ref: '#/components/schemas/sts.v1.TokenExchangeRequest' - - type: object - required: - - subject_token - - grant_type - - identity_pool_id - - subject_token_type - - requested_token_type - x-name: sts.v1.OauthToken - operationId: exchangeStsV1OauthToken - summary: Exchange an OAuth Token - tags: - - OAuth Tokens (sts/v1) - responses: - '200': - description: | - access token used to access public control plane api - content: - application/json: - schema: - $ref: '#/components/schemas/sts.v1.TokenExchangeReply' - '400': - $ref: '#/components/responses/BadRequestError' - '429': - $ref: '#/components/responses/RateLimitError' - '500': - $ref: '#/components/responses/DefaultSystemError' - x-codeSamples: - - lang: Shell - source: |- - curl --request POST \ - --url https://api.confluent.cloud/sts/v1/oauth2/token \ - --header 'content-type: application/x-www-form-urlencoded' \ - --data grant_type=urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Atoken-exchange \ - --data subject_token=test_jwt_token \ - --data identity_pool_id=pool_1 \ - --data subject_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Ajwt \ - --data requested_token_type=urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Aaccess_token \ - --data expires_in=900 - - lang: Java - source: |- - OkHttpClient client = new OkHttpClient(); - - MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded"); - RequestBody body = RequestBody.create(mediaType, "grant_type=urn%253Aietf%253Aparams%253Aoauth%253Agrant-type%253Atoken-exchange&subject_token=test_jwt_token&identity_pool_id=pool_1&subject_token_type=urn%253Aietf%253Aparams%253Aoauth%253Atoken-type%253Ajwt&requested_token_type=urn%253Aietf%253Aparams%253Aoauth%253Atoken-type%253Aaccess_token&expires_in=900"); - Request request = new Request.Builder() - .url("https://api.confluent.cloud/sts/v1/oauth2/token") - .post(body) - .addHeader("content-type", "application/x-www-form-urlencoded") - .build(); - - Response response = client.newCall(request).execute(); - - lang: Go - source: "package main\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\t\"net/http\"\n\t\"io/ioutil\"\n)\n\nfunc main() {\n\n\turl := \"https://api.confluent.cloud/sts/v1/oauth2/token\"\n\n\tpayload := strings.NewReader(\"grant_type=urn%253Aietf%253Aparams%253Aoauth%253Agrant-type%253Atoken-exchange&subject_token=test_jwt_token&identity_pool_id=pool_1&subject_token_type=urn%253Aietf%253Aparams%253Aoauth%253Atoken-type%253Ajwt&requested_token_type=urn%253Aietf%253Aparams%253Aoauth%253Atoken-type%253Aaccess_token&expires_in=900\")\n\n\treq, _ := http.NewRequest(\"POST\", url, payload)\n\n\treq.Header.Add(\"content-type\", \"application/x-www-form-urlencoded\")\n\n\tres, _ := http.DefaultClient.Do(req)\n\n\tdefer res.Body.Close()\n\tbody, _ := ioutil.ReadAll(res.Body)\n\n\tfmt.Println(res)\n\tfmt.Println(string(body))\n\n}" - - lang: Python - source: |- - import http.client - - conn = http.client.HTTPSConnection("api.confluent.cloud") - - payload = "grant_type=urn%253Aietf%253Aparams%253Aoauth%253Agrant-type%253Atoken-exchange&subject_token=test_jwt_token&identity_pool_id=pool_1&subject_token_type=urn%253Aietf%253Aparams%253Aoauth%253Atoken-type%253Ajwt&requested_token_type=urn%253Aietf%253Aparams%253Aoauth%253Atoken-type%253Aaccess_token&expires_in=900" - - headers = { 'content-type': "application/x-www-form-urlencoded" } - - conn.request("POST", "/sts/v1/oauth2/token", payload, headers) - - res = conn.getresponse() - data = res.read() - - print(data.decode("utf-8")) - - lang: Node - source: |- - const qs = require("querystring"); - const http = require("https"); - - const options = { - "method": "POST", - "hostname": "api.confluent.cloud", - "port": null, - "path": "/sts/v1/oauth2/token", - "headers": { - "content-type": "application/x-www-form-urlencoded" - } - }; - - const req = http.request(options, function (res) { - const chunks = []; - - res.on("data", function (chunk) { - chunks.push(chunk); - }); - - res.on("end", function () { - const body = Buffer.concat(chunks); - console.log(body.toString()); - }); - }); - - req.write(qs.stringify({ - grant_type: 'urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Atoken-exchange', - subject_token: 'test_jwt_token', - identity_pool_id: 'pool_1', - subject_token_type: 'urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Ajwt', - requested_token_type: 'urn%3Aietf%3Aparams%3Aoauth%3Atoken-type%3Aaccess_token', - expires_in: '900' - })); - req.end(); - - lang: C - source: |- - CURL *hnd = curl_easy_init(); - - curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST"); - curl_easy_setopt(hnd, CURLOPT_URL, "https://api.confluent.cloud/sts/v1/oauth2/token"); - - struct curl_slist *headers = NULL; - headers = curl_slist_append(headers, "content-type: application/x-www-form-urlencoded"); - curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers); - - curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "grant_type=urn%253Aietf%253Aparams%253Aoauth%253Agrant-type%253Atoken-exchange&subject_token=test_jwt_token&identity_pool_id=pool_1&subject_token_type=urn%253Aietf%253Aparams%253Aoauth%253Atoken-type%253Ajwt&requested_token_type=urn%253Aietf%253Aparams%253Aoauth%253Atoken-type%253Aaccess_token&expires_in=900"); - - CURLcode ret = curl_easy_perform(hnd); - - lang: C# - source: |- - var client = new RestClient("https://api.confluent.cloud/sts/v1/oauth2/token"); - var request = new RestRequest(Method.POST); - request.AddHeader("content-type", "application/x-www-form-urlencoded"); - request.AddParameter("application/x-www-form-urlencoded", "grant_type=urn%253Aietf%253Aparams%253Aoauth%253Agrant-type%253Atoken-exchange&subject_token=test_jwt_token&identity_pool_id=pool_1&subject_token_type=urn%253Aietf%253Aparams%253Aoauth%253Atoken-type%253Ajwt&requested_token_type=urn%253Aietf%253Aparams%253Aoauth%253Atoken-type%253Aaccess_token&expires_in=900", ParameterType.RequestBody); - IRestResponse response = client.Execute(request); + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/tableflow.yaml b/providers/src/confluent/v00.00.00000/services/tableflow.yaml new file mode 100644 index 00000000..052f0f97 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/tableflow.yaml @@ -0,0 +1,5415 @@ +openapi: 3.0.0 +info: + title: tableflow API + description: confluent tableflow API + version: 1.0.0 +paths: + /tableflow/v1/regions: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listTableflowV1Regions + summary: List of Regions + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all regions. + parameters: + - name: cloud + in: query + required: false + schema: + $ref: '#/components/schemas/SearchFilter' + example: AWS + description: Filter the results by exact match for cloud. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Regions (tableflow/v1) + security: + - resource-api-key: [] + responses: + '200': + description: Region. + content: + application/json: + schema: + type: object + description: >- + `Region` objects represent cloud provider regions where + Tableflow can be enabled. + + This API allows you to list all supported Tableflow regions. + + + + ## The Regions Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - RegionList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `Region` objects represent cloud provider regions where + Tableflow can be enabled. + + This API allows you to list all supported Tableflow + regions. + + + + ## The Regions Model + + + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - Region + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + cloud: + type: string + description: The cloud service provider that hosts the region. + x-extensible-enum: + - AWS + example: AWS + x-immutable: true + readOnly: true + region: + type: string + description: The cloud service provider region. + example: us-east-2 + x-immutable: true + readOnly: true + required: + - id + - metadata + - cloud + - region + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /tableflow/v1/tableflow-topics: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listTableflowV1TableflowTopics + summary: List of Tableflow Topics + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all tableflow topics. + parameters: + - name: spec.table_formats + in: query + required: false + schema: + $ref: '#/components/schemas/MultipleSearchFilter' + example: + - DELTA + - ICEBERG + description: >- + Filter the results by exact match for spec.table_formats. Pass + multiple times to see results matching any of the values. + style: form + explode: true + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.kafka_cluster + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: lkc-00000 + description: Filter the results by exact match for spec.kafka_cluster. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Tableflow Topics (tableflow/v1) + security: + - resource-api-key: [] + responses: + '200': + description: Tableflow Topic. + content: + application/json: + schema: + type: object + description: >- + A Tableflow Topic represents configuration related to a + Tableflow enabled kafka topic + + + + ## The Tableflow Topics Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - TableflowTopicList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + A Tableflow Topic represents configuration related to a + Tableflow enabled kafka topic + + + + ## The Tableflow Topics Model + + + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - TableflowTopic + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/tableflow.v1.TableflowTopicSpec' + status: + $ref: >- + #/components/schemas/tableflow.v1.TableflowTopicStatus + required: + - metadata + - spec + - status + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createTableflowV1TableflowTopic + summary: Create a Tableflow Topic + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create a tableflow topic. + tags: + - Tableflow Topics (tableflow/v1) + security: + - resource-api-key: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + A Tableflow Topic represents configuration related to a + Tableflow enabled kafka topic + + + + ## The Tableflow Topics Model + + + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - TableflowTopic + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/tableflow.v1.TableflowTopicSpec' + status: + $ref: '#/components/schemas/tableflow.v1.TableflowTopicStatus' + required: + - spec + responses: + '202': + description: A Tableflow Topic is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/tableflow/v1/tableflow-topics/{id} + description: TableflowTopic resource uri + content: + application/json: + schema: + type: object + description: >- + A Tableflow Topic represents configuration related to a + Tableflow enabled kafka topic + + + + ## The Tableflow Topics Model + + + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - TableflowTopic + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/tableflow.v1.TableflowTopicSpec' + status: + $ref: '#/components/schemas/tableflow.v1.TableflowTopicStatus' + required: + - spec + - status + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /tableflow/v1/tableflow-topics/{display_name}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getTableflowV1TableflowTopic + summary: Read a Tableflow Topic + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read a tableflow topic. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: spec.kafka_cluster + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: lkc-00000 + description: Scope the operation to the given spec.kafka_cluster. + - name: display_name + in: path + required: true + schema: + type: string + description: The name of the Kafka topic for which Tableflow is enabled. + tags: + - Tableflow Topics (tableflow/v1) + security: + - resource-api-key: [] + responses: + '200': + description: Tableflow Topic. + content: + application/json: + schema: + type: object + description: >- + A Tableflow Topic represents configuration related to a + Tableflow enabled kafka topic + + + + ## The Tableflow Topics Model + + + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - TableflowTopic + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/tableflow.v1.TableflowTopicSpec' + status: + $ref: '#/components/schemas/tableflow.v1.TableflowTopicStatus' + required: + - api_version + - kind + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateTableflowV1TableflowTopic + summary: Update a Tableflow Topic + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update a tableflow topic. + + parameters: + - name: display_name + in: path + required: true + schema: + type: string + description: The name of the Kafka topic for which Tableflow is enabled. + tags: + - Tableflow Topics (tableflow/v1) + security: + - resource-api-key: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + A Tableflow Topic represents configuration related to a + Tableflow enabled kafka topic + + + + ## The Tableflow Topics Model + + + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - TableflowTopic + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/tableflow.v1.TableflowTopicSpec' + status: + $ref: '#/components/schemas/tableflow.v1.TableflowTopicStatus' + required: + - spec + responses: + '200': + description: Tableflow Topic. + content: + application/json: + schema: + type: object + description: >- + A Tableflow Topic represents configuration related to a + Tableflow enabled kafka topic + + + + ## The Tableflow Topics Model + + + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - TableflowTopic + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/tableflow.v1.TableflowTopicSpec' + status: + $ref: '#/components/schemas/tableflow.v1.TableflowTopicStatus' + required: + - api_version + - kind + - spec + - status + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteTableflowV1TableflowTopic + summary: Delete a Tableflow Topic + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete a tableflow topic. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: spec.kafka_cluster + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: lkc-00000 + description: Scope the operation to the given spec.kafka_cluster. + - name: display_name + in: path + required: true + schema: + type: string + description: The name of the Kafka topic for which Tableflow is enabled. + tags: + - Tableflow Topics (tableflow/v1) + security: + - resource-api-key: [] + responses: + '204': + description: A Tableflow Topic is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /tableflow/v1/catalog-integrations: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: listTableflowV1CatalogIntegrations + summary: List of Catalog Integrations + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all catalog integrations. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: spec.kafka_cluster + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: lkc-00000 + description: Filter the results by exact match for spec.kafka_cluster. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Catalog Integrations (tableflow/v1) + security: + - resource-api-key: [] + responses: + '200': + description: Catalog Integration. + content: + application/json: + schema: + type: object + description: >- + A Catalog Integration represents configuration related to a + catalog integration + + + + ## The Catalog Integrations Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CatalogIntegrationList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + A Catalog Integration represents configuration related + to a catalog integration + + + + ## The Catalog Integrations Model + + + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - CatalogIntegration + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources + must have, which includes all objects users must + create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at + which an object can be addressed. This URL + encodes the service location, API version, and + other particulars necessary to locate the + resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier + (URI) that is globally unique across space and + time. It is represented as a Confluent Resource + Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was + created. It is represented in RFC3339 format and + is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and + is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or + will be) deleted. It is represented in RFC3339 + format and is in UTC. + readOnly: true + type: object + spec: + $ref: >- + #/components/schemas/tableflow.v1.CatalogIntegrationSpec + status: + $ref: >- + #/components/schemas/tableflow.v1.CatalogIntegrationStatus + required: + - id + - metadata + - spec + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: createTableflowV1CatalogIntegration + summary: Create a Catalog Integration + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create a catalog integration. + tags: + - Catalog Integrations (tableflow/v1) + security: + - resource-api-key: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + A Catalog Integration represents configuration related to a + catalog integration + + + + ## The Catalog Integrations Model + + + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CatalogIntegration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationSpec' + status: + $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationStatus' + required: + - spec + responses: + '202': + description: A Catalog Integration is being created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: >- + https://api.confluent.cloud/tableflow/v1/catalog-integrations/{id} + description: CatalogIntegration resource uri + content: + application/json: + schema: + type: object + description: >- + A Catalog Integration represents configuration related to a + catalog integration + + + + ## The Catalog Integrations Model + + + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CatalogIntegration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationSpec' + status: + $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationStatus' + required: + - spec + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true + /tableflow/v1/catalog-integrations/{id}: + get: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: getTableflowV1CatalogIntegration + summary: Read a Catalog Integration + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read a catalog integration. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: spec.kafka_cluster + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: lkc-00000 + description: Scope the operation to the given spec.kafka_cluster. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the catalog integration. + tags: + - Catalog Integrations (tableflow/v1) + security: + - resource-api-key: [] + responses: + '200': + description: Catalog Integration. + content: + application/json: + schema: + type: object + description: >- + A Catalog Integration represents configuration related to a + catalog integration + + + + ## The Catalog Integrations Model + + + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CatalogIntegration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationSpec' + status: + $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationStatus' + required: + - api_version + - kind + - id + - spec + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + patch: + requestBody: + content: + application/json: + schema: + $ref: >- + #/components/schemas/tableflow.v1.CatalogIntegrationUpdateRequest + x-lifecycle-stage: General Availability + x-self-access: true + operationId: updateTableflowV1CatalogIntegration + summary: Update a Catalog Integration + description: >+ + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to update a catalog integration. + + parameters: + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the catalog integration. + tags: + - Catalog Integrations (tableflow/v1) + security: + - resource-api-key: [] + responses: + '200': + description: Catalog Integration. + content: + application/json: + schema: + type: object + description: >- + A Catalog Integration represents configuration related to a + catalog integration + + + + ## The Catalog Integrations Model + + + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CatalogIntegration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must + have, which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary + to locate the resource at a point in time + type: string + format: uri + readOnly: true + example: >- + https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) + that is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It + is represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last + updated. It is represented in RFC3339 format and is in + UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will + be) deleted. It is represented in RFC3339 format and + is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationSpec' + status: + $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationStatus' + required: + - api_version + - kind + - id + - spec + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: General Availability + x-self-access: true + operationId: deleteTableflowV1CatalogIntegration + summary: Delete a Catalog Integration + description: >- + [![General + Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete a catalog integration. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: spec.kafka_cluster + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: lkc-00000 + description: Scope the operation to the given spec.kafka_cluster. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the catalog integration. + tags: + - Catalog Integrations (tableflow/v1) + security: + - resource-api-key: [] + responses: + '204': + description: A Catalog Integration is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: General Availability + x-self-access: true +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + tableflow.v1.RegionList: + type: object + description: >- + `Region` objects represent cloud provider regions where Tableflow can be + enabled. + + This API allows you to list all supported Tableflow regions. + + + + ## The Regions Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - RegionList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `Region` objects represent cloud provider regions where Tableflow + can be enabled. + + This API allows you to list all supported Tableflow regions. + + + + ## The Regions Model + + + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Region + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + cloud: + type: string + description: The cloud service provider that hosts the region. + x-extensible-enum: + - AWS + example: AWS + x-immutable: true + readOnly: true + region: + type: string + description: The cloud service provider region. + example: us-east-2 + x-immutable: true + readOnly: true + required: + - id + - metadata + - cloud + - region + uniqueItems: true + MultipleSearchFilter: + description: Filter a collection by a string search for one or more values + type: array + items: + type: string + tableflow.v1.TableflowTopicList: + type: object + description: >- + A Tableflow Topic represents configuration related to a Tableflow + enabled kafka topic + + + + ## The Tableflow Topics Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - TableflowTopicList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + A Tableflow Topic represents configuration related to a Tableflow + enabled kafka topic + + + + ## The Tableflow Topics Model + + + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - TableflowTopic + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/tableflow.v1.TableflowTopicSpec' + status: + $ref: '#/components/schemas/tableflow.v1.TableflowTopicStatus' + required: + - metadata + - spec + - status + uniqueItems: true + tableflow.v1.TableflowTopic: + type: object + description: >- + A Tableflow Topic represents configuration related to a Tableflow + enabled kafka topic + + + + ## The Tableflow Topics Model + + + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - TableflowTopic + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/tableflow.v1.TableflowTopicSpec' + status: + $ref: '#/components/schemas/tableflow.v1.TableflowTopicStatus' + tableflow.v1.CatalogIntegrationList: + type: object + description: >- + A Catalog Integration represents configuration related to a catalog + integration + + + + ## The Catalog Integrations Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CatalogIntegrationList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + A Catalog Integration represents configuration related to a + catalog integration + + + + ## The Catalog Integrations Model + + + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CatalogIntegration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, + which includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an + object can be addressed. This URL encodes the service + location, API version, and other particulars necessary to + locate the resource at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that + is globally unique across space and time. It is + represented as a Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. + It is represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) + deleted. It is represented in RFC3339 format and is in + UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationSpec' + status: + $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationStatus' + required: + - id + - metadata + - spec + uniqueItems: true + tableflow.v1.CatalogIntegration: + type: object + description: >- + A Catalog Integration represents configuration related to a catalog + integration + + + + ## The Catalog Integrations Model + + + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CatalogIntegration + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationSpec' + status: + $ref: '#/components/schemas/tableflow.v1.CatalogIntegrationStatus' + tableflow.v1.CatalogIntegrationUpdateRequest: + type: object + description: The desired state of the Catalog Integration + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - CatalogIntegrationUpdateRequest + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + spec: + type: object + description: The desired state of the Catalog Integration + required: + - environment + - kafka_cluster + properties: + display_name: + type: string + description: The name of the catalog integration + example: catalog_integration_1 + suspended: + type: boolean + description: Indicates whether the Catalog Integration should be suspended. + example: false + config: + type: object + description: The integration config + discriminator: + propertyName: kind + mapping: + AwsGlue: >- + #/components/schemas/tableflow.v1.CatalogIntegrationAwsGlueUpdateSpec + Snowflake: >- + #/components/schemas/tableflow.v1.CatalogIntegrationSnowflakeUpdateSpec + Unity: >- + #/components/schemas/tableflow.v1.CatalogIntegrationUnityUpdateSpec + required: + - kind + properties: + kind: + type: string + enum: + - AwsGlue + description: The type of the catalog integration. + x-immutable: true + endpoint: + description: >- + The catalog integration connection endpoint for Snowflake + Open Catalog. + type: string + example: https://vuser1_polaris.snowflakecomputing.com/ + client_id: + description: The client ID of the catalog integration. + type: string + client_secret: + description: The client secret of the catalog integration. + type: string + warehouse: + description: Warehouse name of the Snowflake Open Catalog. + type: string + allowed_scope: + description: Allowed scope of the Snowflake Open Catalog. + type: string + workspace_endpoint: + type: string + description: >- + The Databricks workspace URL associated with the Unity + Catalog. + example: https://user1.cloud.databricks.com + catalog_name: + type: string + description: The name of the catalog within Unity Catalog. + environment: + description: The environment to which the target Kafka cluster belongs. + example: + id: env-00000 + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + kafka_cluster: + description: The kafka cluster of the topic for which Tableflow is enabled + example: + id: lkc-00000 + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not contain + a first link, then direct navigation to the first page is not + supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not contain a + last link, then direct navigation to the last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not contain a + next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + tableflow.v1.Region: + type: object + description: >- + `Region` objects represent cloud provider regions where Tableflow can be + enabled. + + This API allows you to list all supported Tableflow regions. + + + + ## The Regions Model + + + properties: + api_version: + type: string + enum: + - tableflow/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - Region + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + metadata: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can + be addressed. This URL encodes the service location, API + version, and other particulars necessary to locate the resource + at a point in time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. + It is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + cloud: + type: string + description: The cloud service provider that hosts the region. + x-extensible-enum: + - AWS + example: AWS + x-immutable: true + readOnly: true + region: + type: string + description: The cloud service provider region. + example: us-east-2 + x-immutable: true + readOnly: true + Failure: + type: object + description: >- + Provides information about problems encountered while performing an + operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + ObjectMeta: + description: >- + ObjectMeta is metadata that all persisted resources must have, which + includes all objects users must create. + required: + - self + properties: + self: + description: >- + Self is a Uniform Resource Locator (URL) at which an object can be + addressed. This URL encodes the service location, API version, and + other particulars necessary to locate the resource at a point in + time + type: string + format: uri + readOnly: true + example: https://api.confluent.cloud/v2/kafka-clusters/lkc-f3a90de + resource_name: + description: >- + Resource Name is a Uniform Resource Identifier (URI) that is + globally unique across space and time. It is represented as a + Confluent Resource Name + type: string + format: uri + readOnly: true + example: crn://confluent.cloud/kafka=lkc-f3a90de + created_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was created. It is + represented in RFC3339 format and is in UTC. + updated_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was last updated. It is + represented in RFC3339 format and is in UTC. + deleted_at: + type: string + format: date-time + example: '2006-01-02T15:04:05-07:00' + readOnly: true + description: >- + The date and time at which this object was (or will be) deleted. It + is represented in RFC3339 format and is in UTC. + readOnly: true + type: object + tableflow.v1.TableflowTopicSpec: + type: object + description: The desired state of the Tableflow Topic + properties: + display_name: + type: string + description: The name of the Kafka topic for which Tableflow is enabled. + example: topic_1 + x-immutable: true + suspended: + type: boolean + description: >- + Indicates whether the Tableflow should be suspended. The API allows + setting it only to `false` i.e., to resume the Tableflow. Pausing + the Tableflow on-demand is not currently supported. + example: false + config: + type: object + description: The config for the Tableflow enabled topic + properties: + enable_compaction: + description: >- + This flag determines whether to enable compaction for the + Tableflow enabled topic. + type: boolean + example: true + x-immutable: true + readOnly: true + enable_partitioning: + description: >- + This flag determines whether to enable partitioning for the + Tableflow enabled topic. + type: boolean + example: true + x-immutable: true + readOnly: true + retention_ms: + description: > + The maximum age, in milliseconds, of snapshots (for Iceberg) or + versions (for Delta) + + to retain in the table for the Tableflow-enabled topic + (snapshot/version expiration). + + + The default value is "604800000" milliseconds (equivalent to 7 + days). + + + The minimum allowed value is "86400000" milliseconds (equivalent + to 24 hours). + type: string + format: int64 + example: '7776000000' + data_retention_ms: + description: > + The maximum age, in milliseconds, of data to retain in the table + for the Tableflow-enabled topic. + + + The minimum allowed non-zero value is "2592000000" milliseconds + (equivalent to 30 days). + + + Set to "0" to disable data retention (keep all data + indefinitely). + type: string + format: int64 + example: '2592000000' + record_failure_strategy: + description: > + The strategy to handle record failures in the Tableflow enabled + topic during materialization. + + + For `SKIP`, we skip the bad records and move to the next record, + + + and for `SUSPEND`, we suspend the materialization of the topic. + type: string + x-extensible-enum: + - SUSPEND + - SKIP + default: SUSPEND + deprecated: true + error_handling: + type: object + description: > + The error mode to handle record failures in the Tableflow + enabled topic during materialization. + + + for `SKIP`, we skip the bad records and move to the next record, + + + for `SUSPEND`, we suspend the materialization of the topic, + + + and for `LOG`, we log the bad records to the DLQ and continue + processing the rest of the records. + discriminator: + propertyName: mode + mapping: + SUSPEND: '#/components/schemas/tableflow.v1.ErrorHandlingSuspend' + SKIP: '#/components/schemas/tableflow.v1.ErrorHandlingSkip' + LOG: '#/components/schemas/tableflow.v1.ErrorHandlingLog' + properties: + mode: + type: string + enum: + - SUSPEND + description: > + The error handling mode for the Tableflow enabled topic. + + + In this mode, the materialization of the topic is suspended + in case of record failures. + target: + type: string + description: > + The topic to which the bad records will be logged in case of + `LOG` error handling mode. + + + Creates the topic if it doesn't already exist; otherwise, + the operation is idempotent and no action is taken. + + + Default topic is `error_log`. + default: error_log + required: + - mode + storage: + type: object + description: The storage config + discriminator: + propertyName: kind + mapping: + ByobAws: '#/components/schemas/tableflow.v1.ByobAwsSpec' + Managed: '#/components/schemas/tableflow.v1.ManagedStorageSpec' + AzureDataLakeStorageGen2: '#/components/schemas/tableflow.v1.AzureAdlsSpec' + x-immutable: true + required: + - kind + - bucket_name + - provider_integration_id + - storage_account_name + - container_name + properties: + kind: + type: string + enum: + - ByobAws + description: | + The storage type + x-immutable: true + bucket_name: + description: Bucket name + type: string + example: bucket_1 + x-immutable: true + bucket_region: + description: Bucket region + type: string + example: us-east-1 + x-immutable: true + readOnly: true + provider_integration_id: + type: string + description: The provider integration id + example: cspi-stgce89r7 + x-immutable: true + table_path: + type: string + description: >- + The current storage path where the data and metadata is stored + for this table + example: >- + s3://dummy-bucket-name-1/10011010/11101100/org-1/env-2/lkc-3/v1/tableId + readOnly: true + storage_account_name: + description: Storage Account Name + type: string + example: confluentstorage1 + x-immutable: true + container_name: + description: Container name + type: string + example: container-tableflow + x-immutable: true + storage_region: + description: Storage account region + type: string + example: centralus + readOnly: true + table_formats: + type: array + description: | + The supported table formats for the Tableflow-enabled topic. + items: + type: string + x-extensible-enum: + - DELTA + - ICEBERG + minItems: 1 + uniqueItems: true + example: + - DELTA + default: + - ICEBERG + environment: + description: The environment to which the target Kafka cluster belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + kafka_cluster: + description: The kafka cluster of the topic for which Tableflow is enabled + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + x-enable-id: false + x-enable-listmeta: true + x-enable-objectmeta: true + tableflow.v1.TableflowTopicStatus: + type: object + required: + - write_mode + description: The status of the Tableflow Topic + properties: + phase: + type: string + x-extensible-enum: + - PENDING + - RUNNING + - FAILED + description: | + The lifecycle phase of the Tableflow: + + PENDING: Tableflow setup is pending; + + RUNNING: Tableflow is currently running; + + FAILED: Tableflow failed + example: PENDING + readOnly: true + error_message: + type: string + description: Displayable error message if Tableflow topic is in an error state + example: Could not enable catalog integration + readOnly: true + catalog_sync_statuses: + type: array + description: > + List of associated catalogs and their synchronization statuses for + this Tableflow topic. + items: + $ref: '#/components/schemas/tableflow.v1.CatalogSyncStatus' + readOnly: true + failing_table_formats: + type: array + items: + type: object + properties: + format: + type: string + description: The name of the table format (e.g., DELTA, ICEBERG). + x-extensible-enum: + - DELTA + - ICEBERG + error_message: + type: string + description: The error message for the failing table format. + required: + - format + - error_message + description: > + List of failing table formats for the Tableflow-enabled topic, + including error details. + example: + - format: ICEBERG + error_message: Schema validation failed + - format: DELTA + error_message: Connection timeout + readOnly: true + write_mode: + type: string + description: > + The write mode for the Tableflow-enabled topic, determining how data + is written to the table. + x-extensible-enum: + - APPEND + - UPSERT + - UPSERT_HISTORY + example: APPEND + readOnly: true + readOnly: true + tableflow.v1.CatalogIntegrationSpec: + type: object + description: The desired state of the Catalog Integration + properties: + display_name: + type: string + description: The name of the catalog integration + example: catalog_integration_1 + suspended: + type: boolean + description: >- + Indicates whether the Catalog Integration should be suspended. The + API allows setting it only to `false` i.e., to resume the Catalog + Integration. Pausing the Catalog Integration on-demand is not + currently supported. + example: false + config: + type: object + description: The integration config + discriminator: + propertyName: kind + mapping: + AwsGlue: '#/components/schemas/tableflow.v1.CatalogIntegrationAwsGlueSpec' + Snowflake: >- + #/components/schemas/tableflow.v1.CatalogIntegrationSnowflakeSpec + Unity: '#/components/schemas/tableflow.v1.CatalogIntegrationUnitySpec' + required: + - kind + - provider_integration_id + - endpoint + - client_id + - client_secret + - warehouse + - allowed_scope + - workspace_endpoint + - catalog_name + properties: + kind: + type: string + enum: + - AwsGlue + description: The type of the catalog integration. + x-immutable: true + provider_integration_id: + type: string + description: The provider integration id. + example: cspi-stgce89r7 + x-immutable: true + endpoint: + description: > + The catalog integration connection endpoint for Snowflake Open + Catalog. + type: string + example: https://vuser1_polaris.snowflakecomputing.com/ + client_id: + description: The client ID of the catalog integration. + type: string + client_secret: + description: The client secret of the catalog integration. + type: string + warehouse: + description: Warehouse name of the Snowflake Open Catalog. + type: string + allowed_scope: + description: Allowed scope of the Snowflake Open Catalog. + type: string + workspace_endpoint: + type: string + description: The Databricks workspace URL associated with the Unity Catalog. + example: https://user1.cloud.databricks.com + catalog_name: + type: string + description: The name of the catalog within Unity Catalog. + environment: + description: The environment to which the target Kafka cluster belongs. + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + kafka_cluster: + description: The kafka cluster of the topic for which Tableflow is enabled + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + x-enable-id: true + x-enable-listmeta: true + x-enable-objectmeta: true + tableflow.v1.CatalogIntegrationStatus: + description: The status of the Catalog Integration + type: object + properties: + phase: + type: string + x-extensible-enum: + - PENDING + - CONNECTED + - FAILED + description: | + The lifecycle phase of the catalog integration: + + PENDING: sync to catalog integration is pending; + + CONNECTED: catalog integration is connected and syncing; + + FAILED: catalog integration failed. + example: CONNECTED + readOnly: true + error_message: + type: string + description: >- + Displayable error message if catalog integration is in a failed + state. + example: Could not enable catalog integration + readOnly: true + last_sync_at: + type: string + description: > + The date and time at which the catalog was last synced. It is + represented in RFC3339 format and is in UTC. + readOnly: true + readOnly: true + tableflow.v1.CatalogIntegrationUpdateSpec: + type: object + description: The desired state of the Catalog Integration + required: + - environment + - kafka_cluster + properties: + display_name: + type: string + description: The name of the catalog integration + example: catalog_integration_1 + suspended: + type: boolean + description: Indicates whether the Catalog Integration should be suspended. + example: false + config: + type: object + description: The integration config + discriminator: + propertyName: kind + mapping: + AwsGlue: >- + #/components/schemas/tableflow.v1.CatalogIntegrationAwsGlueUpdateSpec + Snowflake: >- + #/components/schemas/tableflow.v1.CatalogIntegrationSnowflakeUpdateSpec + Unity: >- + #/components/schemas/tableflow.v1.CatalogIntegrationUnityUpdateSpec + required: + - kind + properties: + kind: + type: string + enum: + - AwsGlue + description: The type of the catalog integration. + x-immutable: true + endpoint: + description: >- + The catalog integration connection endpoint for Snowflake Open + Catalog. + type: string + example: https://vuser1_polaris.snowflakecomputing.com/ + client_id: + description: The client ID of the catalog integration. + type: string + client_secret: + description: The client secret of the catalog integration. + type: string + warehouse: + description: Warehouse name of the Snowflake Open Catalog. + type: string + allowed_scope: + description: Allowed scope of the Snowflake Open Catalog. + type: string + workspace_endpoint: + type: string + description: The Databricks workspace URL associated with the Unity Catalog. + example: https://user1.cloud.databricks.com + catalog_name: + type: string + description: The name of the catalog within Unity Catalog. + environment: + description: The environment to which the target Kafka cluster belongs. + example: + id: env-00000 + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + kafka_cluster: + description: The kafka cluster of the topic for which Tableflow is enabled + example: + id: lkc-00000 + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. + type: string + code: + description: An application-specific error code, expressed as a string value. + type: string + title: + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. + type: string + detail: + description: >- + A human-readable explanation specific to this occurrence of the + problem. + type: string + source: + type: object + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. + properties: + pointer: + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + tableflow.v1.TableFlowTopicConfigsSpec: + type: object + description: The configs for the Tableflow enabled topic + properties: + enable_compaction: + description: >- + This flag determines whether to enable compaction for the Tableflow + enabled topic. + type: boolean + example: true + x-immutable: true + readOnly: true + enable_partitioning: + description: >- + This flag determines whether to enable partitioning for the + Tableflow enabled topic. + type: boolean + example: true + x-immutable: true + readOnly: true + retention_ms: + description: > + The maximum age, in milliseconds, of snapshots (for Iceberg) or + versions (for Delta) + + to retain in the table for the Tableflow-enabled topic + (snapshot/version expiration). + + + The default value is "604800000" milliseconds (equivalent to 7 + days). + + + The minimum allowed value is "86400000" milliseconds (equivalent to + 24 hours). + type: string + format: int64 + example: '7776000000' + data_retention_ms: + description: > + The maximum age, in milliseconds, of data to retain in the table for + the Tableflow-enabled topic. + + + The minimum allowed non-zero value is "2592000000" milliseconds + (equivalent to 30 days). + + + Set to "0" to disable data retention (keep all data indefinitely). + type: string + format: int64 + example: '2592000000' + record_failure_strategy: + description: > + The strategy to handle record failures in the Tableflow enabled + topic during materialization. + + + For `SKIP`, we skip the bad records and move to the next record, + + + and for `SUSPEND`, we suspend the materialization of the topic. + type: string + x-extensible-enum: + - SUSPEND + - SKIP + default: SUSPEND + deprecated: true + error_handling: + type: object + description: > + The error mode to handle record failures in the Tableflow enabled + topic during materialization. + + + for `SKIP`, we skip the bad records and move to the next record, + + + for `SUSPEND`, we suspend the materialization of the topic, + + + and for `LOG`, we log the bad records to the DLQ and continue + processing the rest of the records. + discriminator: + propertyName: mode + mapping: + SUSPEND: '#/components/schemas/tableflow.v1.ErrorHandlingSuspend' + SKIP: '#/components/schemas/tableflow.v1.ErrorHandlingSkip' + LOG: '#/components/schemas/tableflow.v1.ErrorHandlingLog' + properties: + mode: + type: string + enum: + - SUSPEND + description: > + The error handling mode for the Tableflow enabled topic. + + + In this mode, the materialization of the topic is suspended in + case of record failures. + target: + type: string + description: > + The topic to which the bad records will be logged in case of + `LOG` error handling mode. + + + Creates the topic if it doesn't already exist; otherwise, the + operation is idempotent and no action is taken. + + + Default topic is `error_log`. + default: error_log + required: + - mode + tableflow.v1.ByobAwsSpec: + type: object + description: The Tableflow storage config for BYOB enabled topic in AWS + required: + - kind + - bucket_name + - provider_integration_id + properties: + kind: + type: string + enum: + - ByobAws + description: | + The storage type + x-immutable: true + bucket_name: + description: Bucket name + type: string + example: bucket_1 + x-immutable: true + bucket_region: + description: Bucket region + type: string + example: us-east-1 + x-immutable: true + readOnly: true + provider_integration_id: + type: string + description: The provider integration id + example: cspi-stgce89r7 + x-immutable: true + table_path: + type: string + description: >- + The current storage path where the data and metadata is stored for + this table + example: >- + s3://dummy-bucket-name-1/10011010/11101100/org-1/env-2/lkc-3/v1/tableId + readOnly: true + tableflow.v1.ManagedStorageSpec: + type: object + description: The storage config for confluent managed Tableflow enabled topic. + required: + - kind + properties: + kind: + type: string + enum: + - Managed + description: | + The storage type. + x-immutable: true + table_path: + type: string + description: >- + The current storage path where the data and metadata is stored for + this table + example: >- + s3://dummy-bucket-name-1/10011010/11101100/org-1/env-2/lkc-3/v1/tableId + readOnly: true + tableflow.v1.AzureAdlsSpec: + type: object + description: >- + The Tableflow storage config for customer-owned Azure Data Lake Storage + Gen2 + required: + - kind + - storage_account_name + - container_name + - provider_integration_id + properties: + kind: + type: string + enum: + - AzureDataLakeStorageGen2 + description: | + The storage type. + x-immutable: true + storage_account_name: + description: Storage Account Name + type: string + example: confluentstorage1 + x-immutable: true + container_name: + description: Container name + type: string + example: container-tableflow + x-immutable: true + storage_region: + description: Storage account region + type: string + example: centralus + readOnly: true + provider_integration_id: + type: string + description: The provider integration id + example: cspi-6nxn5 + x-immutable: true + table_path: + type: string + description: >- + The current storage path where the data and metadata is stored for + this table + example: >- + abfss://container@account.dfs.core.windows.net/10011010/11101100/org/env/lkc/v1/tableId + readOnly: true + GlobalObjectReference: + type: object + description: >- + ObjectReference provides information for you to locate the referred + object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + EnvScopedObjectReference: + type: object + description: >- + ObjectReference provides information for you to locate the referred + object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + tableflow.v1.CatalogSyncStatus: + type: object + description: The synchronization status of an external catalog for a Tableflow topic + properties: + catalog_integration_id: + type: string + description: The ID of the catalog integration + example: tci-12345 + catalog_type: + type: string + description: The type of the external catalog + x-extensible-enum: + - AWS_GLUE + - SNOWFLAKE + - UNITY + example: AWS_GLUE + sync_status: + type: string + description: | + The current synchronization status: + + PENDING: sync is pending; + + SYNCED: successfully synced; + + FAILED: sync failed; + + DISCONNECTED: catalog integration is disconnected. + x-extensible-enum: + - PENDING + - SYNCED + - FAILED + - DISCONNECTED + example: SYNCED + error_message: + type: string + nullable: true + description: > + Error message if the sync failed. This field is only present when + `sync_status` is `FAILED`. + example: 'Failed to connect to catalog: authentication error' + tableflow.v1.CatalogIntegrationAwsGlueSpec: + type: object + description: The catalog integration Glue connection config. + required: + - kind + - provider_integration_id + properties: + kind: + type: string + enum: + - AwsGlue + description: The type of the catalog integration. + x-immutable: true + provider_integration_id: + type: string + description: The provider integration id. + example: cspi-stgce89r7 + x-immutable: true + tableflow.v1.CatalogIntegrationSnowflakeSpec: + type: object + description: The catalog integration connection config for Snowflake Open Catalog. + required: + - kind + - endpoint + - client_id + - client_secret + - warehouse + - allowed_scope + properties: + kind: + type: string + enum: + - Snowflake + description: The type of the catalog integration. + endpoint: + description: > + The catalog integration connection endpoint for Snowflake Open + Catalog. + type: string + example: https://vuser1_polaris.snowflakecomputing.com/ + client_id: + description: The client ID of the catalog integration. + type: string + client_secret: + description: The client secret of the catalog integration. + type: string + warehouse: + description: Warehouse name of the Snowflake Open Catalog. + type: string + allowed_scope: + description: Allowed scope of the Snowflake Open Catalog. + type: string + tableflow.v1.CatalogIntegrationUnitySpec: + type: object + description: The catalog integration connection config for Unity Catalog. + required: + - kind + - workspace_endpoint + - catalog_name + - client_id + - client_secret + properties: + kind: + type: string + enum: + - Unity + description: The type of the catalog integration. + workspace_endpoint: + type: string + description: The Databricks workspace URL associated with the Unity Catalog. + example: https://user1.cloud.databricks.com + catalog_name: + type: string + description: The name of the catalog within Unity Catalog. + client_id: + type: string + description: The OAuth client ID used to authenticate with the Unity Catalog. + client_secret: + type: string + description: >- + The OAuth client secret used for authentication with the Unity + Catalog. + tableflow.v1.CatalogIntegrationAwsGlueUpdateSpec: + type: object + description: The catalog integration Glue connection config for update operations. + required: + - kind + properties: + kind: + type: string + enum: + - AwsGlue + description: The type of the catalog integration. + x-immutable: true + tableflow.v1.CatalogIntegrationSnowflakeUpdateSpec: + type: object + description: >- + The catalog integration connection config for Snowflake Open Catalog + (update operations). + required: + - kind + properties: + kind: + type: string + enum: + - Snowflake + description: The type of the catalog integration. + endpoint: + description: >- + The catalog integration connection endpoint for Snowflake Open + Catalog. + type: string + example: https://vuser1_polaris.snowflakecomputing.com/ + client_id: + description: The client ID of the catalog integration. + type: string + client_secret: + description: The client secret of the catalog integration. + type: string + warehouse: + description: Warehouse name of the Snowflake Open Catalog. + type: string + allowed_scope: + description: Allowed scope of the Snowflake Open Catalog. + type: string + tableflow.v1.CatalogIntegrationUnityUpdateSpec: + type: object + description: The catalog integration connection config for Unity Catalog. + required: + - kind + properties: + kind: + type: string + enum: + - Unity + description: The type of the catalog integration. + workspace_endpoint: + type: string + description: The Databricks workspace URL associated with the Unity Catalog. + example: https://user1.cloud.databricks.com + catalog_name: + type: string + description: The name of the catalog within Unity Catalog. + client_id: + type: string + description: The OAuth client ID used to authenticate with the Unity Catalog. + client_secret: + type: string + description: >- + The OAuth client secret used for authentication with the Unity + Catalog. + tableflow.v1.ErrorHandlingSuspend: + type: object + description: | + Configuration for the `SUSPEND` error handling mode. + properties: + mode: + type: string + enum: + - SUSPEND + description: > + The error handling mode for the Tableflow enabled topic. + + + In this mode, the materialization of the topic is suspended in case + of record failures. + required: + - mode + tableflow.v1.ErrorHandlingSkip: + type: object + description: | + Configuration for the `SKIP` error handling mode. + properties: + mode: + type: string + enum: + - SKIP + description: > + The error handling mode for the Tableflow enabled topic. + + + In this mode, the bad records are skipped and the materialization + continues with the next record. + required: + - mode + tableflow.v1.ErrorHandlingLog: + type: object + description: | + Configuration for the `LOG` error handling mode. + properties: + mode: + type: string + enum: + - LOG + description: > + The error handling mode for the Tableflow enabled topic. + + + In this mode, the bad records are logged to a dead-letter queue + (DLQ) topic and the + + + materialization continues with the next record. + target: + type: string + description: > + The topic to which the bad records will be logged in case of `LOG` + error handling mode. + + + Creates the topic if it doesn't already exist; otherwise, the + operation is idempotent and no action is taken. + + + Default topic is `error_log`. + default: error_log + required: + - mode + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: >- + Basic error="invalid_key", error_description="The API Key is + invalid" + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: >- + The user 'mcfly' is not allowed to access the 'delorean' + resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. + Retry-After: + schema: + type: integer + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. + DefaultSystemError: + description: Oops, something went wrong! + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/{object}/{id} + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: >- + The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already + exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + x-stackQL-resources: + regions: + id: confluent.tableflow.regions + name: regions + title: Regions + methods: + list_tableflow_v1_regions: + operation: + $ref: '#/paths/~1tableflow~1v1~1regions/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/regions/methods/list_tableflow_v1_regions + insert: [] + update: [] + delete: [] + replace: [] + topics: + id: confluent.tableflow.topics + name: topics + title: Topics + methods: + list_tableflow_v1_tableflow_topics: + operation: + $ref: '#/paths/~1tableflow~1v1~1tableflow-topics/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_tableflow_v1_tableflow_topic: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1tableflow~1v1~1tableflow-topics/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_tableflow_v1_tableflow_topic: + operation: + $ref: '#/paths/~1tableflow~1v1~1tableflow-topics~1{display_name}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_tableflow_v1_tableflow_topic: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1tableflow~1v1~1tableflow-topics~1{display_name}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_tableflow_v1_tableflow_topic: + operation: + $ref: '#/paths/~1tableflow~1v1~1tableflow-topics~1{display_name}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/topics/methods/get_tableflow_v1_tableflow_topic + - $ref: >- + #/components/x-stackQL-resources/topics/methods/list_tableflow_v1_tableflow_topics + insert: + - $ref: >- + #/components/x-stackQL-resources/topics/methods/create_tableflow_v1_tableflow_topic + update: + - $ref: >- + #/components/x-stackQL-resources/topics/methods/update_tableflow_v1_tableflow_topic + delete: + - $ref: >- + #/components/x-stackQL-resources/topics/methods/delete_tableflow_v1_tableflow_topic + replace: [] + catalog_integrations: + id: confluent.tableflow.catalog_integrations + name: catalog_integrations + title: Catalog Integrations + methods: + list_tableflow_v1_catalog_integrations: + operation: + $ref: '#/paths/~1tableflow~1v1~1catalog-integrations/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_tableflow_v1_catalog_integration: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1tableflow~1v1~1catalog-integrations/post' + response: + mediaType: application/json + openAPIDocKey: '202' + get_tableflow_v1_catalog_integration: + operation: + $ref: '#/paths/~1tableflow~1v1~1catalog-integrations~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + update_tableflow_v1_catalog_integration: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1tableflow~1v1~1catalog-integrations~1{id}/patch' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_tableflow_v1_catalog_integration: + operation: + $ref: '#/paths/~1tableflow~1v1~1catalog-integrations~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/catalog_integrations/methods/get_tableflow_v1_catalog_integration + - $ref: >- + #/components/x-stackQL-resources/catalog_integrations/methods/list_tableflow_v1_catalog_integrations + insert: + - $ref: >- + #/components/x-stackQL-resources/catalog_integrations/methods/create_tableflow_v1_catalog_integration + update: + - $ref: >- + #/components/x-stackQL-resources/catalog_integrations/methods/update_tableflow_v1_catalog_integration + delete: + - $ref: >- + #/components/x-stackQL-resources/catalog_integrations/methods/delete_tableflow_v1_catalog_integration + replace: [] +servers: + - url: https://api.confluent.cloud diff --git a/providers/src/confluent/v00.00.00000/services/usm.yaml b/providers/src/confluent/v00.00.00000/services/usm.yaml new file mode 100644 index 00000000..54607115 --- /dev/null +++ b/providers/src/confluent/v00.00.00000/services/usm.yaml @@ -0,0 +1,3157 @@ +openapi: 3.0.0 +info: + title: usm API + description: confluent usm API + version: 1.0.0 +paths: + /usm/v1/kafka-clusters: + get: + x-lifecycle-stage: Preview + x-self-access: true + operationId: listUsmV1KafkaClusters + summary: List of Kafka Clusters + description: >- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all kafka clusters. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Kafka Clusters (usm/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Kafka Cluster. + content: + application/json: + schema: + type: object + description: >- + `KafkaCluster` object represent Confluent Platform Kafka + clusters registered with Confluent Cloud. + + The API allows you to create and delete KafkaCluster. + + + + ## The Kafka Clusters Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - usm/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - KafkaClusterList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `KafkaCluster` object represent Confluent Platform Kafka + clusters registered with Confluent Cloud. + + The API allows you to create and delete KafkaCluster. + + + + ## The Kafka Clusters Model + + + properties: + api_version: + type: string + enum: + - usm/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - KafkaCluster + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + display_name: + type: string + description: >- + A human-readable name for the Confluent Platform + Kafka cluster. + example: My-Prod-CP-Cluster + confluent_platform_kafka_cluster_id: + type: string + description: >- + The unique identifier of the Kafka cluster within + the Confluent Platform environment. + example: 4k0R9d1GTS5tI9f4Y2xZ0Q + x-immutable: true + cloud: + type: string + description: >- + The cloud service provider where the metadata for + the Kafka Cluster should be stored. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + x-immutable: true + region: + type: string + description: >- + The home region of the Confluent Platform Kafka + cluster where the metadata should be stored. + example: us-east-1 + x-immutable: true + environment: + description: The environment to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: >- + Environment of the referred resource, if + env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - id + - display_name + - confluent_platform_kafka_cluster_id + - cloud + - region + - environment + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: Preview + x-self-access: true + operationId: createUsmV1KafkaCluster + summary: Create a Kafka Cluster + description: >- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create a kafka cluster. + tags: + - Kafka Clusters (usm/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `KafkaCluster` object represent Confluent Platform Kafka + clusters registered with Confluent Cloud. + + The API allows you to create and delete KafkaCluster. + + + + ## The Kafka Clusters Model + + + properties: + api_version: + type: string + enum: + - usm/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - KafkaCluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + display_name: + type: string + description: >- + A human-readable name for the Confluent Platform Kafka + cluster. + example: My-Prod-CP-Cluster + confluent_platform_kafka_cluster_id: + type: string + description: >- + The unique identifier of the Kafka cluster within the + Confluent Platform environment. + example: 4k0R9d1GTS5tI9f4Y2xZ0Q + x-immutable: true + cloud: + type: string + description: >- + The cloud service provider where the metadata for the Kafka + Cluster should be stored. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + x-immutable: true + region: + type: string + description: >- + The home region of the Confluent Platform Kafka cluster + where the metadata should be stored. + example: us-east-1 + x-immutable: true + environment: + description: The environment to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - display_name + - confluent_platform_kafka_cluster_id + - cloud + - region + - environment + responses: + '201': + description: A Kafka Cluster was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/usm/v1/kafka-clusters/{id} + description: KafkaCluster resource uri + content: + application/json: + schema: + type: object + description: >- + `KafkaCluster` object represent Confluent Platform Kafka + clusters registered with Confluent Cloud. + + The API allows you to create and delete KafkaCluster. + + + + ## The Kafka Clusters Model + + + properties: + api_version: + type: string + enum: + - usm/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - KafkaCluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + display_name: + type: string + description: >- + A human-readable name for the Confluent Platform Kafka + cluster. + example: My-Prod-CP-Cluster + confluent_platform_kafka_cluster_id: + type: string + description: >- + The unique identifier of the Kafka cluster within the + Confluent Platform environment. + example: 4k0R9d1GTS5tI9f4Y2xZ0Q + x-immutable: true + cloud: + type: string + description: >- + The cloud service provider where the metadata for the + Kafka Cluster should be stored. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + x-immutable: true + region: + type: string + description: >- + The home region of the Confluent Platform Kafka cluster + where the metadata should be stored. + example: us-east-1 + x-immutable: true + environment: + description: The environment to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - display_name + - confluent_platform_kafka_cluster_id + - cloud + - region + - environment + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: Preview + x-self-access: true + /usm/v1/kafka-clusters/{id}: + get: + x-lifecycle-stage: Preview + x-self-access: true + operationId: getUsmV1KafkaCluster + summary: Read a Kafka Cluster + description: >- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read a kafka cluster. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the kafka cluster. + tags: + - Kafka Clusters (usm/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Kafka Cluster. + content: + application/json: + schema: + type: object + description: >- + `KafkaCluster` object represent Confluent Platform Kafka + clusters registered with Confluent Cloud. + + The API allows you to create and delete KafkaCluster. + + + + ## The Kafka Clusters Model + + + properties: + api_version: + type: string + enum: + - usm/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - KafkaCluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + display_name: + type: string + description: >- + A human-readable name for the Confluent Platform Kafka + cluster. + example: My-Prod-CP-Cluster + confluent_platform_kafka_cluster_id: + type: string + description: >- + The unique identifier of the Kafka cluster within the + Confluent Platform environment. + example: 4k0R9d1GTS5tI9f4Y2xZ0Q + x-immutable: true + cloud: + type: string + description: >- + The cloud service provider where the metadata for the + Kafka Cluster should be stored. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + x-immutable: true + region: + type: string + description: >- + The home region of the Confluent Platform Kafka cluster + where the metadata should be stored. + example: us-east-1 + x-immutable: true + environment: + description: The environment to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - api_version + - kind + - id + - display_name + - confluent_platform_kafka_cluster_id + - cloud + - region + - environment + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: Preview + x-self-access: true + operationId: deleteUsmV1KafkaCluster + summary: Delete a Kafka Cluster + description: >- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete a kafka cluster. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the kafka cluster. + tags: + - Kafka Clusters (usm/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Kafka Cluster is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: Preview + x-self-access: true + /usm/v1/connect-clusters: + get: + x-lifecycle-stage: Preview + x-self-access: true + operationId: listUsmV1ConnectClusters + summary: List of Connect Clusters + description: >- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) + + + Retrieve a sorted, filtered, paginated list of all connect clusters. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Filter the results by exact match for environment. + - name: page_size + in: query + required: false + schema: + type: integer + default: 10 + maximum: 100 + x-max-page-items: 500 + description: A pagination size for collection requests. + - name: page_token + in: query + required: false + schema: + type: string + maxLength: 255 + description: An opaque pagination token for collection requests. + tags: + - Connect Clusters (usm/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Connect Cluster. + content: + application/json: + schema: + type: object + description: >- + `ConnectCluster` object represent Confluent Platform Connect + clusters registered with Confluent Cloud. + + The API allows you to create and delete ConnectCluster. + + + + ## The Connect Clusters Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - usm/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ConnectClusterList + metadata: + type: object + description: >- + ListMeta describes metadata that resource collections may + have + properties: + first: + description: >- + A link to the first page of results. If a response + does not contain a first link, then direct navigation + to the first page is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does + not contain a last link, then direct navigation to the + last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response + does not contain a prev link, then either there is no + previous data or backwards traversal through the + result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does + not contain a next link, then there is no more data + available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This + response may be paginated and have a smaller number of + records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. + Each entry in the array is a separate resource. + items: + type: object + description: >- + `ConnectCluster` object represent Confluent Platform + Connect clusters registered with Confluent Cloud. + + The API allows you to create and delete ConnectCluster. + + + + ## The Connect Clusters Model + + + properties: + api_version: + type: string + enum: + - usm/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: >- + Kind defines the object this REST resource + represents. + readOnly: true + enum: + - ConnectCluster + id: + description: >- + ID is the "natural identifier" for an object within + its scope/namespace; it is normally unique across + time but not space. That is, you can assume that the + ID will not be reclaimed and reused after an object + is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same + `kind` within a different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + confluent_platform_connect_cluster_id: + type: string + description: >- + The unique identifier of the Connect cluster within + the Confluent Platform environment. + example: connect-group-xyz123 + x-immutable: true + kafka_cluster_id: + type: string + description: > + The unique identifier of the metadata Kafka cluster + for the Connect Cluster. + example: 4k0R9d1GTS5tI9f4Y2xZ0Q + x-immutable: true + cloud: + type: string + description: > + The cloud service provider where the metadata for + the Connect Cluster should be stored. + + This field is optional. If provided, 'region' must + also be provided. + + If neither 'cloud' nor 'region' are provided, the + cloud provider of the associated + + metadata Kafka cluster (identified by + 'kafka_cluster_id') will be used as a fallback. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + x-immutable: true + region: + type: string + description: > + The home region of the Confluent Platform Connect + cluster where the metadata should be stored. + + This field is optional. If provided, 'cloud' must + also be provided. + + If neither 'cloud' nor 'region' are provided, the + home region of the associated + + metadata Kafka cluster (identified by + 'kafka_cluster_id') will be used as a fallback. + example: us-east-1 + x-immutable: true + environment: + description: The environment to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: >- + Environment of the referred resource, if + env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: >- + API URL for accessing or modifying the referred + object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - id + - confluent_platform_connect_cluster_id + - kafka_cluster_id + - environment + uniqueItems: true + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + post: + x-lifecycle-stage: Preview + x-self-access: true + operationId: createUsmV1ConnectCluster + summary: Create a Connect Cluster + description: >- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to create a connect cluster. + tags: + - Connect Clusters (usm/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + requestBody: + content: + application/json: + schema: + type: object + description: >- + `ConnectCluster` object represent Confluent Platform Connect + clusters registered with Confluent Cloud. + + The API allows you to create and delete ConnectCluster. + + + + ## The Connect Clusters Model + + + properties: + api_version: + type: string + enum: + - usm/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ConnectCluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + confluent_platform_connect_cluster_id: + type: string + description: >- + The unique identifier of the Connect cluster within the + Confluent Platform environment. + example: connect-group-xyz123 + x-immutable: true + kafka_cluster_id: + type: string + description: > + The unique identifier of the metadata Kafka cluster for the + Connect Cluster. + example: 4k0R9d1GTS5tI9f4Y2xZ0Q + x-immutable: true + cloud: + type: string + description: > + The cloud service provider where the metadata for the + Connect Cluster should be stored. + + This field is optional. If provided, 'region' must also be + provided. + + If neither 'cloud' nor 'region' are provided, the cloud + provider of the associated + + metadata Kafka cluster (identified by 'kafka_cluster_id') + will be used as a fallback. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + x-immutable: true + region: + type: string + description: > + The home region of the Confluent Platform Connect cluster + where the metadata should be stored. + + This field is optional. If provided, 'cloud' must also be + provided. + + If neither 'cloud' nor 'region' are provided, the home + region of the associated + + metadata Kafka cluster (identified by 'kafka_cluster_id') + will be used as a fallback. + example: us-east-1 + x-immutable: true + environment: + description: The environment to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - confluent_platform_connect_cluster_id + - kafka_cluster_id + - environment + responses: + '201': + description: A Connect Cluster was created. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/usm/v1/connect-clusters/{id} + description: ConnectCluster resource uri + content: + application/json: + schema: + type: object + description: >- + `ConnectCluster` object represent Confluent Platform Connect + clusters registered with Confluent Cloud. + + The API allows you to create and delete ConnectCluster. + + + + ## The Connect Clusters Model + + + properties: + api_version: + type: string + enum: + - usm/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ConnectCluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + confluent_platform_connect_cluster_id: + type: string + description: >- + The unique identifier of the Connect cluster within the + Confluent Platform environment. + example: connect-group-xyz123 + x-immutable: true + kafka_cluster_id: + type: string + description: > + The unique identifier of the metadata Kafka cluster for + the Connect Cluster. + example: 4k0R9d1GTS5tI9f4Y2xZ0Q + x-immutable: true + cloud: + type: string + description: > + The cloud service provider where the metadata for the + Connect Cluster should be stored. + + This field is optional. If provided, 'region' must also be + provided. + + If neither 'cloud' nor 'region' are provided, the cloud + provider of the associated + + metadata Kafka cluster (identified by 'kafka_cluster_id') + will be used as a fallback. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + x-immutable: true + region: + type: string + description: > + The home region of the Confluent Platform Connect cluster + where the metadata should be stored. + + This field is optional. If provided, 'cloud' must also be + provided. + + If neither 'cloud' nor 'region' are provided, the home + region of the associated + + metadata Kafka cluster (identified by 'kafka_cluster_id') + will be used as a fallback. + example: us-east-1 + x-immutable: true + environment: + description: The environment to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - confluent_platform_connect_cluster_id + - kafka_cluster_id + - environment + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '409': + $ref: '#/components/responses/ConflictError' + '422': + $ref: '#/components/responses/ValidationError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: Preview + x-self-access: true + /usm/v1/connect-clusters/{id}: + get: + x-lifecycle-stage: Preview + x-self-access: true + operationId: getUsmV1ConnectCluster + summary: Read a Connect Cluster + description: >- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to read a connect cluster. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the connect cluster. + tags: + - Connect Clusters (usm/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '200': + description: Connect Cluster. + content: + application/json: + schema: + type: object + description: >- + `ConnectCluster` object represent Confluent Platform Connect + clusters registered with Confluent Cloud. + + The API allows you to create and delete ConnectCluster. + + + + ## The Connect Clusters Model + + + properties: + api_version: + type: string + enum: + - usm/v1 + description: >- + APIVersion defines the schema version of this + representation of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ConnectCluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` + or objects of the same `kind` within a different + scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + confluent_platform_connect_cluster_id: + type: string + description: >- + The unique identifier of the Connect cluster within the + Confluent Platform environment. + example: connect-group-xyz123 + x-immutable: true + kafka_cluster_id: + type: string + description: > + The unique identifier of the metadata Kafka cluster for + the Connect Cluster. + example: 4k0R9d1GTS5tI9f4Y2xZ0Q + x-immutable: true + cloud: + type: string + description: > + The cloud service provider where the metadata for the + Connect Cluster should be stored. + + This field is optional. If provided, 'region' must also be + provided. + + If neither 'cloud' nor 'region' are provided, the cloud + provider of the associated + + metadata Kafka cluster (identified by 'kafka_cluster_id') + will be used as a fallback. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + x-immutable: true + region: + type: string + description: > + The home region of the Confluent Platform Connect cluster + where the metadata should be stored. + + This field is optional. If provided, 'cloud' must also be + provided. + + If neither 'cloud' nor 'region' are provided, the home + region of the associated + + metadata Kafka cluster (identified by 'kafka_cluster_id') + will be used as a fallback. + example: us-east-1 + x-immutable: true + environment: + description: The environment to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - api_version + - kind + - id + - confluent_platform_connect_cluster_id + - kafka_cluster_id + - environment + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + delete: + x-lifecycle-stage: Preview + x-self-access: true + operationId: deleteUsmV1ConnectCluster + summary: Delete a Connect Cluster + description: >- + [![Preview](https://img.shields.io/badge/Lifecycle%20Stage-Preview-%2300afba)](#section/Versioning/API-Lifecycle-Policy) + + + Make a request to delete a connect cluster. + parameters: + - name: environment + in: query + required: true + schema: + $ref: '#/components/schemas/SearchFilter' + example: env-00000 + description: Scope the operation to the given environment. + - name: id + in: path + required: true + schema: + type: string + description: The unique identifier for the connect cluster. + tags: + - Connect Clusters (usm/v1) + security: + - cloud-api-key: [] + - confluent-sts-access-token: [] + responses: + '204': + description: A Connect Cluster is being deleted. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: >- + The number of requests remaining in the current rate limit + window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to + avoid client/server time synchronization issues. + '400': + $ref: '#/components/responses/BadRequestError' + '401': + $ref: '#/components/responses/UnauthenticatedError' + '403': + $ref: '#/components/responses/UnauthorizedError' + '404': + $ref: '#/components/responses/NotFoundError' + '429': + $ref: '#/components/responses/RateLimitError' + '500': + $ref: '#/components/responses/DefaultSystemError' + x-lifecycle-stage: Preview + x-self-access: true +components: + schemas: + SearchFilter: + description: Filter a collection by a string search + type: string + usm.v1.KafkaClusterList: + type: object + description: >- + `KafkaCluster` object represent Confluent Platform Kafka clusters + registered with Confluent Cloud. + + The API allows you to create and delete KafkaCluster. + + + + ## The Kafka Clusters Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - usm/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - KafkaClusterList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `KafkaCluster` object represent Confluent Platform Kafka clusters + registered with Confluent Cloud. + + The API allows you to create and delete KafkaCluster. + + + + ## The Kafka Clusters Model + + + properties: + api_version: + type: string + enum: + - usm/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - KafkaCluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + display_name: + type: string + description: >- + A human-readable name for the Confluent Platform Kafka + cluster. + example: My-Prod-CP-Cluster + confluent_platform_kafka_cluster_id: + type: string + description: >- + The unique identifier of the Kafka cluster within the + Confluent Platform environment. + example: 4k0R9d1GTS5tI9f4Y2xZ0Q + x-immutable: true + cloud: + type: string + description: >- + The cloud service provider where the metadata for the Kafka + Cluster should be stored. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + x-immutable: true + region: + type: string + description: >- + The home region of the Confluent Platform Kafka cluster where + the metadata should be stored. + example: us-east-1 + x-immutable: true + environment: + description: The environment to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - id + - display_name + - confluent_platform_kafka_cluster_id + - cloud + - region + - environment + uniqueItems: true + usm.v1.KafkaCluster: + type: object + description: >- + `KafkaCluster` object represent Confluent Platform Kafka clusters + registered with Confluent Cloud. + + The API allows you to create and delete KafkaCluster. + + + + ## The Kafka Clusters Model + + + properties: + api_version: + type: string + enum: + - usm/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - KafkaCluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + display_name: + type: string + description: A human-readable name for the Confluent Platform Kafka cluster. + example: My-Prod-CP-Cluster + confluent_platform_kafka_cluster_id: + type: string + description: >- + The unique identifier of the Kafka cluster within the Confluent + Platform environment. + example: 4k0R9d1GTS5tI9f4Y2xZ0Q + x-immutable: true + cloud: + type: string + description: >- + The cloud service provider where the metadata for the Kafka Cluster + should be stored. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + x-immutable: true + region: + type: string + description: >- + The home region of the Confluent Platform Kafka cluster where the + metadata should be stored. + example: us-east-1 + x-immutable: true + environment: + description: The environment to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + usm.v1.ConnectClusterList: + type: object + description: >- + `ConnectCluster` object represent Confluent Platform Connect clusters + registered with Confluent Cloud. + + The API allows you to create and delete ConnectCluster. + + + + ## The Connect Clusters Model + + + required: + - api_version + - kind + - metadata + - data + properties: + api_version: + type: string + enum: + - usm/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ConnectClusterList + metadata: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not + contain a first link, then direct navigation to the first page + is not supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not + contain a last link, then direct navigation to the last page is + not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not + contain a next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + data: + type: array + description: >- + A data property that contains an array of resource items. Each entry + in the array is a separate resource. + items: + type: object + description: >- + `ConnectCluster` object represent Confluent Platform Connect + clusters registered with Confluent Cloud. + + The API allows you to create and delete ConnectCluster. + + + + ## The Connect Clusters Model + + + properties: + api_version: + type: string + enum: + - usm/v1 + description: >- + APIVersion defines the schema version of this representation + of a resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ConnectCluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not + space. That is, you can assume that the ID will not be + reclaimed and reused after an object is deleted ("time"); + however, it may collide with IDs for other object `kinds` or + objects of the same `kind` within a different scope/namespace + ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + confluent_platform_connect_cluster_id: + type: string + description: >- + The unique identifier of the Connect cluster within the + Confluent Platform environment. + example: connect-group-xyz123 + x-immutable: true + kafka_cluster_id: + type: string + description: > + The unique identifier of the metadata Kafka cluster for the + Connect Cluster. + example: 4k0R9d1GTS5tI9f4Y2xZ0Q + x-immutable: true + cloud: + type: string + description: > + The cloud service provider where the metadata for the Connect + Cluster should be stored. + + This field is optional. If provided, 'region' must also be + provided. + + If neither 'cloud' nor 'region' are provided, the cloud + provider of the associated + + metadata Kafka cluster (identified by 'kafka_cluster_id') will + be used as a fallback. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + x-immutable: true + region: + type: string + description: > + The home region of the Confluent Platform Connect cluster + where the metadata should be stored. + + This field is optional. If provided, 'cloud' must also be + provided. + + If neither 'cloud' nor 'region' are provided, the home region + of the associated + + metadata Kafka cluster (identified by 'kafka_cluster_id') will + be used as a fallback. + example: us-east-1 + x-immutable: true + environment: + description: The environment to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + required: + - id + - confluent_platform_connect_cluster_id + - kafka_cluster_id + - environment + uniqueItems: true + usm.v1.ConnectCluster: + type: object + description: >- + `ConnectCluster` object represent Confluent Platform Connect clusters + registered with Confluent Cloud. + + The API allows you to create and delete ConnectCluster. + + + + ## The Connect Clusters Model + + + properties: + api_version: + type: string + enum: + - usm/v1 + description: >- + APIVersion defines the schema version of this representation of a + resource. + readOnly: true + kind: + type: string + description: Kind defines the object this REST resource represents. + readOnly: true + enum: + - ConnectCluster + id: + description: >- + ID is the "natural identifier" for an object within its + scope/namespace; it is normally unique across time but not space. + That is, you can assume that the ID will not be reclaimed and reused + after an object is deleted ("time"); however, it may collide with + IDs for other object `kinds` or objects of the same `kind` within a + different scope/namespace ("space"). + type: string + maxLength: 255 + readOnly: true + example: dlz-f3a90de + confluent_platform_connect_cluster_id: + type: string + description: >- + The unique identifier of the Connect cluster within the Confluent + Platform environment. + example: connect-group-xyz123 + x-immutable: true + kafka_cluster_id: + type: string + description: > + The unique identifier of the metadata Kafka cluster for the Connect + Cluster. + example: 4k0R9d1GTS5tI9f4Y2xZ0Q + x-immutable: true + cloud: + type: string + description: > + The cloud service provider where the metadata for the Connect + Cluster should be stored. + + This field is optional. If provided, 'region' must also be provided. + + If neither 'cloud' nor 'region' are provided, the cloud provider of + the associated + + metadata Kafka cluster (identified by 'kafka_cluster_id') will be + used as a fallback. + x-extensible-enum: + - AWS + - GCP + - AZURE + example: AWS + x-immutable: true + region: + type: string + description: > + The home region of the Confluent Platform Connect cluster where the + metadata should be stored. + + This field is optional. If provided, 'cloud' must also be provided. + + If neither 'cloud' nor 'region' are provided, the home region of the + associated + + metadata Kafka cluster (identified by 'kafka_cluster_id') will be + used as a fallback. + example: us-east-1 + x-immutable: true + environment: + description: The environment to which this belongs. + x-immutable: true + type: object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + ListMeta: + type: object + description: ListMeta describes metadata that resource collections may have + properties: + first: + description: >- + A link to the first page of results. If a response does not contain + a first link, then direct navigation to the first page is not + supported. + type: string + format: uri + nullable: true + example: https://api.confluent.cloud/v2/resourcekinds + last: + description: >- + A link to the last page of results. If a response does not contain a + last link, then direct navigation to the last page is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=bcAOehAY8F16YD84Z1wT + prev: + description: >- + A link to the previous page of results. If a response does not + contain a prev link, then either there is no previous data or + backwards traversal through the result set is not supported. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=YIXRY97wWYmwzrax4dld + next: + description: >- + A link to the next page of results. If a response does not contain a + next link, then there is no more data available. + type: string + format: uri + nullable: true + example: >- + https://api.confluent.cloud/v2/resourcekinds?page_token=UvmDWOB1iwfAIBPj6EYb + total_size: + description: >- + Number of records in the full result set. This response may be + paginated and have a smaller number of records. + type: integer + format: int32 + minimum: 0 + example: 123 + Failure: + type: object + description: >- + Provides information about problems encountered while performing an + operation. + required: + - errors + properties: + errors: + description: List of errors which caused this operation to fail + type: array + items: + $ref: '#/components/schemas/Error' + uniqueItems: true + EnvScopedObjectReference: + type: object + description: >- + ObjectReference provides information for you to locate the referred + object + required: + - id + - related + - resource_name + properties: + id: + type: string + description: ID of the referred resource + minLength: 1 + maxLength: 255 + environment: + type: string + description: Environment of the referred resource, if env-scoped + minLength: 1 + maxLength: 255 + related: + type: string + format: uri + description: API URL for accessing or modifying the referred object + minLength: 1 + readOnly: true + resource_name: + type: string + format: uri + description: CRN reference to the referred resource + minLength: 1 + readOnly: true + Error: + type: object + description: Describes a particular error encountered while performing an operation. + properties: + id: + description: A unique identifier for this particular occurrence of the problem. + type: string + maxLength: 255 + status: + description: >- + The HTTP status code applicable to this problem, expressed as a + string value. + type: string + code: + description: An application-specific error code, expressed as a string value. + type: string + title: + description: >- + A short, human-readable summary of the problem. It **SHOULD NOT** + change from occurrence to occurrence of the problem, except for + purposes of localization. + type: string + detail: + description: >- + A human-readable explanation specific to this occurrence of the + problem. + type: string + source: + type: object + description: >- + If this error was caused by a particular part of the API request, + the source will point to the query string parameter or request body + property that caused it. + properties: + pointer: + description: >- + A JSON Pointer [RFC6901] to the associated entity in the request + document [e.g. "/spec" for a spec object, or "/spec/title" for a + specific field]. + type: string + parameter: + description: A string indicating which query parameter caused the error. + type: string + error_code: + type: integer + format: int32 + message: + type: string + nullable: true + additionalProperties: false + responses: + BadRequestError: + description: Bad Request + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '400' + code: invalid_filter + title: Invalid Filter + detail: The 'delorean' resource can't be filtered by 'num_doors' + source: + parameter: num_doors + UnauthenticatedError: + x-summary: Unauthorized + description: The request lacks valid authentication credentials for this resource. + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + WWW-Authenticate: + schema: + type: string + description: The unique identifier for the API request. + example: >- + Basic error="invalid_key", error_description="The API Key is + invalid" + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '401' + code: user_unauthenticated + title: Authentication Required + detail: Valid authentication credentials must be provided + UnauthorizedError: + x-summary: Forbidden + description: The access credentials were considered insufficient to grant access + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '403' + code: user_unauthorized + title: User Access Unauthorized + detail: >- + The user 'mcfly' is not allowed to access the 'delorean' + resource without the 'plutonium' role. + RateLimitError: + description: Rate Limit Exceeded + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + X-RateLimit-Limit: + schema: + type: integer + description: >- + The maximum number of requests you're permitted to make per time + period. + X-RateLimit-Remaining: + schema: + type: integer + description: The number of requests remaining in the current rate limit window. + X-RateLimit-Reset: + schema: + type: integer + description: >- + The relative time in seconds until the current rate-limit window + resets. + + **Important:** This differs from Github and Twitter's same-named + header which uses UTC epoch seconds. We use relative time to avoid + client/server time synchronization issues. + Retry-After: + schema: + type: integer + description: >- + The number of seconds to wait until the rate limit window resets. + Only sent when the rate limit is reached. + DefaultSystemError: + description: Oops, something went wrong! + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '500' + code: out_of_gas + title: DeLorean Out Of Gas + detail: >- + The DeLorean has run out of gas, but Doc Brown will fill 'er + up for you asap + ConflictError: + x-summary: Conflict + description: The request is in conflict with the current server state + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + Location: + schema: + type: string + format: uri + example: https://api.confluent.cloud/{object}/{id} + description: Resource URI of conflicting resource + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '409' + code: resource_already_exists + title: Resource Already exists + detail: >- + The entitlement '91e3e86f-fca6-4f14-98f5-a48e64113ce2' already + exists. + ValidationError: + description: Validation Failed + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + - status: '422' + code: invalid_configuration + id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + title: Validation Failed + detail: >- + The property '/cluster/storage_size' of type string did not + match the following type: integer + source: + pointer: /cluster/storage_size + NotFoundError: + description: Not Found + headers: + X-Request-Id: + schema: + type: string + description: The unique identifier for the API request. + content: + application/json: + schema: + $ref: '#/components/schemas/Failure' + example: + errors: + - id: ed42afdc-f0d5-4c0d-b428-9fc6ed6e279d + status: '404' + title: Not Found + x-stackQL-resources: + kafka_clusters: + id: confluent.usm.kafka_clusters + name: kafka_clusters + title: Kafka Clusters + methods: + list_usm_v1_kafka_clusters: + operation: + $ref: '#/paths/~1usm~1v1~1kafka-clusters/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_usm_v1_kafka_cluster: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1usm~1v1~1kafka-clusters/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_usm_v1_kafka_cluster: + operation: + $ref: '#/paths/~1usm~1v1~1kafka-clusters~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_usm_v1_kafka_cluster: + operation: + $ref: '#/paths/~1usm~1v1~1kafka-clusters~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/kafka_clusters/methods/get_usm_v1_kafka_cluster + - $ref: >- + #/components/x-stackQL-resources/kafka_clusters/methods/list_usm_v1_kafka_clusters + insert: + - $ref: >- + #/components/x-stackQL-resources/kafka_clusters/methods/create_usm_v1_kafka_cluster + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/kafka_clusters/methods/delete_usm_v1_kafka_cluster + replace: [] + connect_clusters: + id: confluent.usm.connect_clusters + name: connect_clusters + title: Connect Clusters + methods: + list_usm_v1_connect_clusters: + operation: + $ref: '#/paths/~1usm~1v1~1connect-clusters/get' + response: + mediaType: application/json + openAPIDocKey: '200' + objectKey: $.data + create_usm_v1_connect_cluster: + config: + requestBodyTranslate: + algorithm: naive + operation: + $ref: '#/paths/~1usm~1v1~1connect-clusters/post' + response: + mediaType: application/json + openAPIDocKey: '201' + get_usm_v1_connect_cluster: + operation: + $ref: '#/paths/~1usm~1v1~1connect-clusters~1{id}/get' + response: + mediaType: application/json + openAPIDocKey: '200' + delete_usm_v1_connect_cluster: + operation: + $ref: '#/paths/~1usm~1v1~1connect-clusters~1{id}/delete' + response: + mediaType: application/json + openAPIDocKey: '204' + sqlVerbs: + select: + - $ref: >- + #/components/x-stackQL-resources/connect_clusters/methods/get_usm_v1_connect_cluster + - $ref: >- + #/components/x-stackQL-resources/connect_clusters/methods/list_usm_v1_connect_clusters + insert: + - $ref: >- + #/components/x-stackQL-resources/connect_clusters/methods/create_usm_v1_connect_cluster + update: [] + delete: + - $ref: >- + #/components/x-stackQL-resources/connect_clusters/methods/delete_usm_v1_connect_cluster + replace: [] +servers: + - url: https://api.confluent.cloud