openapi: 3.0.0 # need this as first line to allow some IDEs to know this is an openapi document. # All endpoints defined here will be discoverable by all users. If there is a need to keep some endpoints "private", add them to the "managed-services-api-private.yaml" file info: title: Kafka Management API version: 1.16.0 description: Kafka Management API is a REST API to manage Kafka instances license: name: 'Apache 2.0' url: 'https://www.apache.org/licenses/LICENSE-2.0' contact: name: 'Red Hat OpenShift Streams for Apache Kafka Support' email: 'rhosak-support@redhat.com' tags: - name: errors description: Errors returned by the API. - name: security description: Security related endpoints. - name: enterprise-dataplane-clusters description: Enterprise data plane clusters registration and management endpoints. servers: - url: https://api.openshift.com description: Main (production) server - url: https://api.stage.openshift.com description: Staging server - url: http://localhost:8000 description: localhost - url: / description: current domain paths: /api/kafkas_mgmt/v1: get: operationId: getVersionMetadata responses: "200": content: application/json: schema: $ref: '#/components/schemas/VersionMetadata' description: Version metadata description: Returns the kafka Service Fleet Manager API version metadata /api/kafkas_mgmt/v1/errors/{id}: get: operationId: getErrorById responses: "200": content: application/json: schema: $ref: '#/components/schemas/Error' description: Get error by Id description: Returns the error by Id tags: - errors parameters: - $ref: "#/components/parameters/id" /api/kafkas_mgmt/v1/errors: get: operationId: getErrors responses: "200": content: application/json: schema: $ref: '#/components/schemas/ErrorList' description: List of possible errors description: Returns the list of possible API errors tags: - errors /api/kafkas_mgmt/v1/kafkas/{id}: get: operationId: getKafkaById responses: "200": content: application/json: schema: $ref: '#/components/schemas/KafkaRequest' examples: KafkaRequestGetResponseExample: $ref: '#/components/examples/KafkaRequestExample' KafkaRequestGetResponseWithFailedCreationStatusExample: $ref: '#/components/examples/KafkaRequestFailedCreationStatusExample' description: Kafka request found by ID "401": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/401Example' description: Auth token is invalid "403": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 403Example: $ref: '#/components/examples/403Example' description: User not authorized to access the service "404": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 404Example: $ref: '#/components/examples/404Example' description: No Kafka request with specified ID exists "500": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500Example: $ref: '#/components/examples/500Example' description: Unexpected error occurred security: - Bearer: [ ] description: Returns a Kafka request by ID delete: operationId: deleteKafkaById parameters: - in: query name: async description: Perform the action in an asynchronous manner schema: type: boolean required: true responses: "202": content: application/json: schema: $ref: '#/components/schemas/Error' example: #No Content description: Deleted "400": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 400DeletionExample: $ref: '#/components/examples/400DeletionExample' description: Validation errors occurred "401": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/401Example' description: Auth token is invalid "403": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 403Example: $ref: '#/components/examples/403Example' description: User not authorized to access the service "404": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 404DeleteExample: $ref: '#/components/examples/404DeleteExample' description: No Kafka request with specified ID exists "500": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500DeleteExample: $ref: '#/components/examples/500DeleteExample' description: Unexpected error occurred description: Deletes a Kafka request by ID security: - Bearer: [ ] patch: description: Update a Kafka instance by id security: - Bearer: [ ] operationId: updateKafkaById requestBody: description: Update owner of kafka content: application/json: schema: $ref: '#/components/schemas/KafkaUpdateRequest' required: true responses: "200": description: Kafka updated by ID content: application/json: schema: $ref: '#/components/schemas/KafkaRequest' examples: KafkaRequestPostResponseExample: $ref: '#/components/examples/KafkaRequestExample' "400": description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' examples: MissingParameterExample: $ref: '#/components/examples/400MissingParameterExample' "401": description: Auth token is invalid content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref : '#/components/examples/401Example' "403": description: User is not authorised to access the service content: application/json: schema: $ref: '#/components/schemas/Error' examples: 403Example: $ref: '#/components/examples/403Example' "404": description: No Kafka found with the specified ID content: application/json: schema: $ref: '#/components/schemas/Error' examples: 404Example: $ref: '#/components/examples/404Example' "500": description: Unexpected error occurred content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500Example: $ref: '#/components/examples/500Example' parameters: - $ref: "#/components/parameters/id" /api/kafkas_mgmt/v1/kafkas/{id}/promote: parameters: - $ref: "#/components/parameters/id" - in: query name: async description: Perform the action in an asynchronous manner. False by default. schema: type: boolean required: true post: description: "Promote a Kafka instance. Promotion is performed asynchronously. The `async` query parameter has to be set to `true`. Only kafka instances with an `eval` billing_model are supported" operationId: promoteKafka requestBody: description: "Kafka promotion request" required: true content: application/json: schema: $ref: '#/components/schemas/KafkaPromoteRequest' examples: KafkaPromoteRequestExample: $ref: '#/components/examples/KafkaPromoteRequestExample' responses: "202": # No 'content' attribute specified. This means no body is returned description: Kafka promotion request accepted "400": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 400CreationExample: $ref: '#/components/examples/400CreationExample' description: Validation errors occurred "401": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/401Example' description: Auth token is invalid "403": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 403Example: $ref: '#/components/examples/403Example' description: User forbidden either because the user is not authorized to access the service. "404": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 404Example: $ref: '#/components/examples/404Example' description: The requested resource doesn't exist "409": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 409NameConflictExample: $ref: '#/components/examples/409NameConflictExample' description: A conflict has been detected with the usage of this resource "500": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500Example: $ref: '#/components/examples/500Example' description: A server error occurred while promoting the Kafka request security: - Bearer: [ ] /api/kafkas_mgmt/v1/kafkas: post: operationId: createKafka parameters: - in: query name: async description: Perform the action in an asynchronous manner schema: type: boolean required: true requestBody: description: Kafka data content: application/json: schema: $ref: '#/components/schemas/KafkaRequestPayload' examples: USRegion: $ref: '#/components/examples/USRegionExample' EURegion: $ref: '#/components/examples/EURegionExample' ExplicitSizeExample: $ref: '#/components/examples/ExplicitSizeExample' required: true responses: "202": content: application/json: schema: $ref: '#/components/schemas/KafkaRequest' examples: KafkaRequestPostResponseExample: $ref: '#/components/examples/KafkaRequestExample' description: Accepted "400": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 400CreationExample: $ref: '#/components/examples/400CreationExample' description: Validation errors occurred "401": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/401Example' description: Auth token is invalid "403": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 403Example: $ref: '#/components/examples/403Example' 403MaxAllowedInstanceReachedExample: $ref: '#/components/examples/403MaxAllowedInstanceReachedExample' 403TermsNotAcceptedExample: $ref: '#/components/examples/403TermsNotAcceptedExample' description: User forbidden either because the user is not authorized to access the service or because the maximum number of instances that can be created by this user has been reached. "404": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 404Example: $ref: '#/components/examples/404Example' description: The requested resource doesn't exist "409": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 409NameConflictExample: $ref: '#/components/examples/409NameConflictExample' description: A conflict has been detected in the creation of this resource "500": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500Example: $ref: '#/components/examples/500Example' description: An unexpected error occurred while creating the Kafka request security: - Bearer: [ ] description: Creates a Kafka request get: description: Returns a list of Kafka requests operationId: getKafkas security: - Bearer: [ ] responses: "200": description: A list of Kafka requests content: application/json: schema: $ref: '#/components/schemas/KafkaRequestList' "400": description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' examples: InvalidQueryExample: $ref: '#/components/examples/400InvalidQueryExample' "401": description: Auth token is invalid content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/401Example' "403": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 403Example: $ref: '#/components/examples/403Example' description: User not authorized to access the service "500": description: Unexpected error occurred content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500Example: $ref: '#/components/examples/500Example' parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/size' - $ref: '#/components/parameters/orderBy' - $ref: '#/components/parameters/search' /api/kafkas_mgmt/v1/cloud_providers: get: description: Returns the list of supported cloud providers operationId: getCloudProviders security: - Bearer: [ ] responses: '200': description: Returned list of supported cloud providers content: application/json: schema: $ref: '#/components/schemas/CloudProviderList' '401': description: Auth token is invalid content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/401Example' '500': description: Unexpected error occurred content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500Example: $ref: '#/components/examples/500Example' parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/size' /api/kafkas_mgmt/v1/cloud_providers/{id}/regions: get: description: Returns the list of supported regions of the supported cloud provider operationId: getCloudProviderRegions security: - Bearer: [ ] responses: '200': description: Returned list of supported cloud provider regions content: application/json: schema: $ref: '#/components/schemas/CloudRegionList' '401': description: Auth token is invalid content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/401Example' '500': description: Unexpected error occurred content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500Example: $ref: '#/components/examples/500Example' parameters: - $ref: "#/components/parameters/id" - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/size' /api/kafkas_mgmt/v1/instance_types/{cloud_provider}/{cloud_region}: get: description: Returns the list of supported Kafka instance types and sizes filtered by cloud provider and region operationId: getInstanceTypesByCloudProviderAndRegion security: - Bearer: [ ] responses: "200": description: Returned list of supported Kafka instance types and sizes filtered by cloud provider and region content: application/json: schema: $ref: '#/components/schemas/SupportedKafkaInstanceTypesList' "400": description: Cloud provider or region is not supported content: application/json: schema: $ref: '#/components/schemas/Error' examples: 400UnsupportedRegionExample: $ref: '#/components/examples/400UnsupportedRegionExample' 400UnsupportedProviderExample: $ref: '#/components/examples/400UnsupportedProviderExample' "401": description: Auth token is invalid content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/401Example' "500": description: Unexpected error occurred content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500Example: $ref: '#/components/examples/500Example' parameters: - in: path name: cloud_provider required: true schema: type: string description: ID of the supported cloud provider - in: path name: cloud_region required: true schema: type: string description: Name of the supported cloud provider region /api/kafkas_mgmt/v1/service_accounts: get: parameters: - in: query name: client_id required: false schema: type: string description: client_id of the service account to be retrieved responses: '200': content: application/json: schema: $ref: '#/components/schemas/ServiceAccountList' description: Returned list of service accounts '401': content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/401Example' description: Auth token is invalid '403': content: application/json: schema: $ref: '#/components/schemas/Error' examples: 403Example: $ref: '#/components/examples/403Example' description: User not authorized to access the service '500': content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500Example: $ref: '#/components/examples/500Example' description: Unexpected error occurred security: - Bearer: [ ] tags: - security operationId: getServiceAccounts description: Returns a list of service accounts post: requestBody: description: Service account request content: application/json: schema: $ref: '#/components/schemas/ServiceAccountRequest' examples: sa: $ref: '#/components/examples/ServiceAccountRequestExample' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ServiceAccount' examples: serviceaccount: $ref: '#/components/examples/ServiceAccountExample' description: Service account created '401': content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/401Example' description: Auth token is invalid '403': content: application/json: schema: $ref: '#/components/schemas/Error' examples: 403Example: $ref: '#/components/examples/403Example' description: List of service accounts '500': content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500Example: $ref: '#/components/examples/500Example' description: Unexpected error occurred security: - Bearer: [ ] operationId: createServiceAccount tags: - security description: Creates a service account /api/kafkas_mgmt/v1/service_accounts/{id}: get: parameters: - $ref: "#/components/parameters/id" responses: '200': content: application/json: schema: $ref: '#/components/schemas/ServiceAccount' examples: sa: $ref: '#/components/examples/ServiceAccountByIdExample' description: Returns a service account by ID security: - Bearer: [ ] operationId: getServiceAccountById tags: - security description: Returned service account by ID description: Get the service account with the given id delete: parameters: - $ref: "#/components/parameters/id" responses: '204': content: application/json: schema: $ref: '#/components/schemas/Error' description: Deleted '401': content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/401Example' description: Auth token is invalid '403': content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/403Example' description: User not authorized to access the service '500': content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500Example: $ref: '#/components/examples/500Example' description: Unexpected error occurred security: - Bearer: [ ] operationId: deleteServiceAccountById tags: - security description: Deletes a service account by ID /api/kafkas_mgmt/v1/service_accounts/{id}/reset_credentials: post: parameters: - $ref: "#/components/parameters/id" responses: '200': content: application/json: schema: $ref: '#/components/schemas/ServiceAccount' examples: sa-reset: $ref: '#/components/examples/ServiceAccountExample' description: Reset credentials '401': content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/401Example' description: Auth token is invalid '403': content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/403Example' description: User not authorized to access the service '500': content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500Example: $ref: '#/components/examples/500Example' description: Unexpected error occurred security: - Bearer: [ ] operationId: resetServiceAccountCreds tags: - security description: Resets the credentials for a service account by ID /api/kafkas_mgmt/v1/sso_providers: get: description: Return sso provider info operationId: getSsoProviders tags: - security responses: '200': description: Returned list of supported cloud providers content: application/json: schema: $ref: '#/components/schemas/SsoProvider' '401': description: Auth token is invalid content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/401Example' '500': description: Unexpected error occurred content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500Example: $ref: '#/components/examples/500Example' # # These are the user-facing related endpoints # /api/kafkas_mgmt/v1/kafkas/{id}/metrics/query_range: get: description: Returns metrics with timeseries range query by Kafka ID operationId: getMetricsByRangeQuery security: - Bearer: [ ] responses: '200': description: Returned JSON array of Prometheus metrics objects from observatorium content: application/json: schema: $ref: '#/components/schemas/MetricsRangeQueryList' '401': description: Auth token is invalid content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/401Example' '500': description: Unexpected error occurred content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500Example: $ref: '#/components/examples/500Example' parameters: - $ref: "#/components/parameters/id" - $ref: "#/components/parameters/duration" - $ref: "#/components/parameters/interval" - $ref: "#/components/parameters/filters" /api/kafkas_mgmt/v1/kafkas/{id}/metrics/query: get: description: Returns metrics with instant query by Kafka ID operationId: getMetricsByInstantQuery security: - Bearer: [ ] responses: '200': description: Returned JSON array of Prometheus metrics objects from observatorium content: application/json: schema: $ref: '#/components/schemas/MetricsInstantQueryList' '401': description: Auth token is invalid content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/401Example' '500': description: Unexpected error occurred content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500Example: $ref: '#/components/examples/500Example' parameters: - $ref: "#/components/parameters/id" - $ref: "#/components/parameters/filters" /api/kafkas_mgmt/v1/kafkas/{id}/metrics/federate: get: description: Returns all metrics in scrapeable format for a given kafka id operationId: federateMetrics security: - Bearer: [ ] responses: '200': description: Returned Kafka metrics in a Prometheus text format content: text/plain: schema: type: string '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' examples: MissingParameterExample: $ref: '#/components/examples/400MissingParameterExample' '401': description: Auth token is invalid content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/401Example' '404': description: Kafka id not found content: application/json: schema: $ref: '#/components/schemas/Error' examples: 404Example: $ref: '#/components/examples/404Example' '500': description: Unexpected error occurred content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500Example: $ref: '#/components/examples/500Example' parameters: - $ref: "#/components/parameters/id" /api/kafkas_mgmt/v1/clusters: get: tags: - enterprise-dataplane-clusters description: List all Enterprise data plane clusters operationId: getEnterpriseOsdClusters security: - Bearer: [ ] responses: "200": description: List Enterprise data plane clusters content: application/json: schema: $ref: '#/components/schemas/EnterpriseClusterList' examples: EnterpriseClusterListExample: $ref: '#/components/examples/EnterpriseClusterListExample' "400": description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' examples: InvalidQueryExample: $ref: '#/components/examples/400InvalidQueryExample' "401": description: Auth token is invalid content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/401Example' "403": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 403Example: $ref: '#/components/examples/403Example' description: User not authorized to access the service "500": description: Unexpected error occurred content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500Example: $ref: '#/components/examples/500Example' post: description: Register enterprise data plane cluster operationId: registerEnterpriseOsdCluster requestBody: description: Enterprise data plane cluster details content: application/json: schema: $ref: '#/components/schemas/EnterpriseOsdClusterPayload' examples: EnterpriseOsdClusterPayloadExample: $ref: '#/components/examples/EnterpriseOsdClusterPayloadExample' required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/EnterpriseClusterRegistrationResponse' examples: EnterpriseClusterRegistrationResponseExample: $ref: '#/components/examples/EnterpriseClusterRegistrationResponseExample' description: Enterprise cluster registered "400": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 400InvalidClusterIdExample: $ref: '#/components/examples/400InvalidClusterIdExample' 400InvalidExternalClusterIdExample: $ref: '#/components/examples/400InvalidExternalClusterIdExample' description: Validation errors occurred "401": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/401Example' description: Auth token is invalid "403": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 403Example: $ref: '#/components/examples/403Example' description: User is not authorized to access the service "409": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 409ClusterIdConflictExample: $ref: '#/components/examples/409ClusterIdConflictExample' description: A conflict has been detected in the creation of this resource "500": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500Example: $ref: '#/components/examples/500Example' description: An unexpected error occurred while registering Enterprise cluster security: - Bearer: [ ] tags: - enterprise-dataplane-clusters /api/kafkas_mgmt/v1/clusters/{id}: delete: tags: - enterprise-dataplane-clusters operationId: deleteEnterpriseClusterById parameters: - in: query name: async description: Perform the action in an asynchronous manner schema: type: boolean required: true - in: path name: id description: ID of the enterprise data plane cluster schema: type: string required: true responses: "202": content: application/json: schema: $ref: '#/components/schemas/Error' description: Enterprise cluster deletion accepted "400": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 400DeletionExample: $ref: '#/components/examples/400DeletionExample' description: Validation errors occurred "401": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/401Example' description: Auth token is invalid "403": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 403Example: $ref: '#/components/examples/403Example' description: User not authorized to access the service "404": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 404DeleteExample: $ref: '#/components/examples/404DeleteExample' description: No Enterprise cluster with specified ID exists "500": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500DeleteExample: $ref: '#/components/examples/500DeleteExample' description: Unexpected error occurred security: - Bearer: [ ] get: tags: - enterprise-dataplane-clusters operationId: getEnterpriseClusterById description: Returns enterprise data plane cluster by ID parameters: - in: path name: id description: ID of the enterprise data plane cluster schema: type: string required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/EnterpriseCluster' examples: EnterpriseClusterExample: $ref: '#/components/examples/EnterpriseClusterExample' description: Found enterprise data plane cluster with provided ID "401": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/401Example' description: Auth token is invalid "403": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 403Example: $ref: '#/components/examples/403Example' description: User not authorized to access the service "404": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 404Example: $ref: '#/components/examples/404Example' description: No Enterprise data plane cluster with specified ID exists "500": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500Example: $ref: '#/components/examples/500Example' description: Unexpected error occurred security: - Bearer: [ ] /api/kafkas_mgmt/v1/clusters/{id}/addon_parameters: get: tags: - enterprise-dataplane-clusters operationId: getEnterpriseClusterAddonParameters description: |- Returns the addon parameters belonging to the enterprise dataplane cluster {id} parameters: - in: path name: id description: ID of the enterprise data plane cluster schema: type: string required: true responses: "200": content: application/json: schema: $ref: '#/components/schemas/EnterpriseClusterAddonParameters' examples: EnterpriseClusterAddonParametersExample: $ref: '#/components/examples/EnterpriseClusterAddonParametersResponseExample' description: |- Returns the addon parameters belonging to the enterprise dataplane cluster {id} "401": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 401Example: $ref: '#/components/examples/401Example' description: Auth token is invalid "403": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 403Example: $ref: '#/components/examples/403Example' description: User not authorized to access the service "404": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 404Example: $ref: '#/components/examples/404Example' description: No Enterprise data plane cluster with specified ID exists "500": content: application/json: schema: $ref: '#/components/schemas/Error' examples: 500Example: $ref: '#/components/examples/500Example' description: Unexpected error occurred security: - Bearer: [ ] components: schemas: ObjectReference: type: object required: [id, kind, href] properties: id: type: string kind: type: string href: type: string List: required: - kind - page - size - total type: object properties: kind: type: string page: type: integer size: type: integer total: type: integer Error: type: object required: [id, kind, href, code, reason] properties: reason: type: string description: "Human-readable description of the error. Intended for human consumption" operation_id: type: string description: "Relatively unique operation ID of the request associated to the error" id: type: string description: "The unique and immutable identifier of the resource" kind: type: string description: "The kind of the resource" href: type: string description: "The absolute path of the resource" code: type: string description: "Code of the error" ErrorList: allOf: - $ref: "#/components/schemas/List" - type: object required: [ items ] properties: items: type: array items: $ref: "#/components/schemas/Error" KafkaRequest: allOf: - $ref: "#/components/schemas/ObjectReference" - type: object required: - reauthentication_enabled - multi_az properties: status: description: "Values: [accepted, preparing, provisioning, ready, failed, deprovision, deleting, suspending, suspended, resuming] " type: string cloud_provider: description: "Name of Cloud used to deploy. For example AWS" type: string multi_az: type: boolean region: description: "Values will be regions of specific cloud provider. For example: us-east-1 for AWS" type: string owner: type: string name: type: string bootstrap_server_host: type: string admin_api_server_url: type: string description: The kafka admin server url to perform kafka admin operations e.g acl management etc. The value will be available when the Kafka has been fully provisioned i.e it reaches a 'ready' state created_at: format: date-time type: string expires_at: format: date-time type: string nullable: true updated_at: format: date-time type: string failed_reason: type: string version: type: string instance_type: type: string instance_type_name: type: string deprecated: true description: "This field is now deprecated, please use the /api/kafkas_mgmt/v1/instance_types/{cloud_provider}/{cloud_region} endpoint to retrieve the field instead." reauthentication_enabled: type: boolean max_data_retention_size: $ref: '#/components/schemas/SupportedKafkaSizeBytesValueItem' browser_url: type: string size_id: type: string ingress_throughput_per_sec: type: string deprecated: true description: "This field is now deprecated, please use the /api/kafkas_mgmt/v1/instance_types/{cloud_provider}/{cloud_region} endpoint to retrieve the field instead." egress_throughput_per_sec: type: string deprecated: true description: "This field is now deprecated, please use the /api/kafkas_mgmt/v1/instance_types/{cloud_provider}/{cloud_region} endpoint to retrieve the field instead." total_max_connections: type: integer deprecated: true description: "This field is now deprecated, please use the /api/kafkas_mgmt/v1/instance_types/{cloud_provider}/{cloud_region} endpoint to retrieve the field instead." max_partitions: type: integer deprecated: true description: "This field is now deprecated, please use the /api/kafkas_mgmt/v1/instance_types/{cloud_provider}/{cloud_region} endpoint to retrieve the field instead." max_data_retention_period: type: string deprecated: true description: "This field is now deprecated, please use the /api/kafkas_mgmt/v1/instance_types/{cloud_provider}/{cloud_region} endpoint to retrieve the field instead." max_connection_attempts_per_sec: type: integer deprecated: true description: "This field is now deprecated, please use the /api/kafkas_mgmt/v1/instance_types/{cloud_provider}/{cloud_region} endpoint to retrieve the field instead." billing_cloud_account_id: type: string marketplace: type: string billing_model: type: string promotion_status: type: string description: "Status of the Kafka request promotion. Possible values: ['promoting', 'failed']. If unset it means no promotion is in progress." cluster_id: description: The ID of the data plane where Kafka is deployed on. This information is only returned for kafka whose billing model is enterprise type: string nullable: true promotion_details: type: string description: "Details of the Kafka request promotion. It can be set when a Kafka request promotion is in progress or has failed" example: $ref: "#/components/examples/KafkaRequestExample" KafkaRequestList: allOf: - $ref: "#/components/schemas/List" - type: object required: [ items ] example: kind: "KafkaRequestList" page: "1" size: "1" total: "1" item: $ref: '#/components/examples/KafkaRequestExample' properties: items: type: array items: allOf: - $ref: "#/components/schemas/KafkaRequest" EnterpriseCluster: allOf: - $ref: "#/components/schemas/ObjectReference" - type: object required: - access_kafkas_via_private_network - multi_az properties: access_kafkas_via_private_network: description: Indicates whether Kafkas created on this data plane cluster have to be accessed via private network type: boolean cluster_id: type: string description: The OCM's cluster id of the registered Enterprise cluster. status: description: The status of Enterprise cluster registration type: string cloud_provider: description: The cloud provider for this cluster. This valus will be used as the Kafka's cloud provider value when a Kafka is created on this cluster type: string region: description: The region of this cluster. This valus will be used as the Kafka's region value when a Kafka is created on this cluster type: string multi_az: description: A flag indicating whether this cluster is available on multiple availability zones or not type: boolean supported_instance_types: type: object $ref: "#/components/schemas/SupportedKafkaInstanceTypesList" capacity_information: description: Returns the capacity related information type: object required: - kafka_machine_pool_node_count - maximum_kafka_streaming_units - remaining_kafka_streaming_units - consumed_kafka_streaming_units properties: kafka_machine_pool_node_count: description: "The kafka machine pool node count provided during cluster registration" type: integer maximum_kafka_streaming_units: description: "The maximum number of Kafka streaming units that can be created on this cluster" type: integer remaining_kafka_streaming_units: description: "The remaining number of Kafka streaming units that can be still be created on this cluster" type: integer consumed_kafka_streaming_units: description: "The number of Kafka streaming units that have been consumed on this cluster" type: integer EnterpriseClusterList: allOf: - $ref: "#/components/schemas/List" - type: object required: [ items ] properties: items: type: array items: allOf: - $ref: "#/components/schemas/EnterpriseCluster" VersionMetadata: allOf: - $ref: "#/components/schemas/ObjectReference" - type: object example: kind: "APIVersion" id: "v1" href: "/api/kafkas_mgmt/v1" server_version: "24a263e8631d713b3104c1a70c143644ab91de6f" collections: - id: "kafkas" href: "/api/kafkas_mgmt/v1/kafkas" kind: "KafkaList" properties: server_version: type: string collections: type: array items: # removed allOf to workaround this issue: https://github.com/microsoft/kiota/issues/2442 $ref: "#/components/schemas/ObjectReference" KafkaRequestPayload: description: Schema for the request body sent to /kafkas POST required: - name type: object properties: cloud_provider: description: The cloud provider where the Kafka cluster will be created in type: string name: description: 'The name of the Kafka cluster. It must consist of lower-case alphanumeric characters or ''-'', start with an alphabetic character, and end with an alphanumeric character, and can not be longer than 32 characters.' type: string region: description: The region where the Kafka cluster will be created in type: string reauthentication_enabled: description: Whether connection reauthentication is enabled or not. If set to true, connection reauthentication on the Kafka instance will be required every 5 minutes. The default value is true type: boolean nullable: true plan: description: kafka plan in a format of . type: string billing_cloud_account_id: description: cloud account id used to purchase the instance type: string nullable: true marketplace: description: marketplace where the instance is purchased on type: string nullable: true billing_model: description: billing model to use type: string nullable: true cluster_id: description: enterprise OSD cluster ID to be used for kafka creation type: string nullable: true KafkaPromoteRequest: type: object properties: desired_kafka_billing_model: description: "The desired Kafka billing model to promote the kafka instance to. Promotion is performed asynchronously. Accepted values: ['marketplace', 'standard']" type: string minLength: 1 desired_marketplace: description: "The desired billing marketplace to promote the kafka instance to. Accepted values: ['aws', 'rhm']. Only considered when desired_kafka_billing_model is 'marketplace'" type: string minLength: 1 desired_billing_cloud_account_id: description: "The desired Kafka billing cloud account ID to promote the kafka instance to. Only considered when desired_kafka_billing_model is 'marketplace'" type: string minLength: 1 required: - desired_kafka_billing_model SupportedKafkaInstanceTypesList: allOf: - type: object required: [ items ] example: instance_types: $ref: '#/components/examples/SupportedKafkaInstanceTypeListExample' properties: instance_types: type: array items: allOf: - $ref: '#/components/schemas/SupportedKafkaInstanceType' SupportedKafkaInstanceType: description: 'Supported Kafka instance type' type: object properties: id: description: 'Unique identifier of the Kafka instance type.' type: string display_name: description: 'Human readable name of the supported Kafka instance type' type: string supported_billing_models: description: "A list of available kafka billing models for the instance type. Each kafka billing model item has a unique 'id'" type: array minItems: 1 items: $ref: '#/components/schemas/SupportedKafkaBillingModel' sizes: description: 'A list of Kafka instance sizes available for this instance type' type: array items: allOf: - $ref: '#/components/schemas/SupportedKafkaSize' required: - supported_billing_models - sizes SupportedKafkaBillingModel: description: 'Supported Kafka Billing Model' type: object properties: id: description: 'Identifier for the Kafka billing model' type: string minLength: 1 ams_resource: description: "AMS resource to be used. Accepted values: ['rhosak']" type: string minLength: 1 ams_product: description: "AMS product to be used. Accepted values: ['RHOSAK', 'RHOSAKTrial', 'RHOSAKEval', 'RHOSAKCC']" type: string minLength: 1 ams_billing_models: description: "List of AMS available billing models: Accepted values: ['marketplace', 'marketplace-rhm', 'marketplace-aws']" type: array minItems: 1 items: type: string minLength: 1 required: - id - ams_resource - ams_product - ams_billing_models SupportedKafkaSize: description: 'Supported Kafka Size' type: object properties: id: description: 'Unique identifier of this Kafka instance size.' type: string display_name: description: 'Display name of this Kafka instance size.' type: string ingress_throughput_per_sec: description: 'Maximum ingress throughput per second available to this Kafka instance size.' type: object $ref: '#/components/schemas/SupportedKafkaSizeBytesValueItem' egress_throughput_per_sec: description: 'Maximum egress throughput per second available to this Kafka instance size.' type: object $ref: '#/components/schemas/SupportedKafkaSizeBytesValueItem' total_max_connections: description: 'Maximum amount of total connections available to this Kafka instance size.' type: integer max_data_retention_size: description: 'Maximum data storage available to this Kafka instance size.' type: object $ref: '#/components/schemas/SupportedKafkaSizeBytesValueItem' max_partitions: description: 'Maximum amount of total partitions available to this Kafka instance size.' type: integer max_data_retention_period: description: 'Maximum data retention period available to this Kafka instance size.' type: string max_connection_attempts_per_sec: description: 'Maximium connection attempts per second available to this Kafka instance size.' type: integer max_message_size: description: 'Maximum message size available to this Kafka instance size.' type: object $ref: '#/components/schemas/SupportedKafkaSizeBytesValueItem' min_in_sync_replicas: description: "Minimum number of in-sync replicas." type: integer replication_factor: description: "Replication factor available to this Kafka instance size." type: integer supported_az_modes: description: 'List of Availability Zone modes that this Kafka instance size supports. The possible values are "single", "multi".' type: array items: type: string lifespan_seconds: description: 'The limit lifespan of the kafka instance in seconds. If not specified then the instance never expires.' type: integer nullable: true quota_consumed: description: 'Quota consumed by this Kafka instance size.' type: integer quota_type: description: 'Quota type used by this Kafka instance size. This is now deprecated, please refer to supported_billing_models at instance-type level instead.' type: string deprecated: true capacity_consumed: description: 'Data plane cluster capacity consumed by this Kafka instance size.' type: integer maturity_status: description: 'Maturity level of the size. Can be "stable" or "preview".' type: string SupportedKafkaSizeBytesValueItem: type: object properties: bytes: type: integer format: int64 CloudProviderList: allOf: - $ref: "#/components/schemas/List" - type: object required: [ items ] example: kind: "CloudProviderList" page: "1" size: "1" total: "1" item: $ref: '#/components/examples/CloudProviderExample' properties: items: type: array items: allOf: - $ref: "#/components/schemas/CloudProvider" CloudRegionList: allOf: - $ref: "#/components/schemas/List" - type: object required: [ items ] example: kind: "CloudRegionList" page: "1" size: "1" total: "1" item: $ref: '#/components/examples/CloudRegionExample' properties: items: type: array items: allOf: - $ref: "#/components/schemas/CloudRegion" CloudProvider: description: 'Cloud provider.' properties: kind: description: 'Indicates the type of this object. Will be ''CloudProvider'' link.' type: string id: description: 'Unique identifier of the object.' type: string display_name: description: 'Name of the cloud provider for display purposes.' type: string name: description: 'Human friendly identifier of the cloud provider, for example `aws`.' type: string enabled: description: 'Whether the cloud provider is enabled for deploying an OSD cluster.' type: boolean required: - enabled CloudRegion: description: 'Description of a region of a cloud provider.' properties: kind: description: 'Indicates the type of this object. Will be ''CloudRegion''.' type: string id: description: 'Unique identifier of the object.' type: string display_name: description: 'Name of the region for display purposes, for example `N. Virginia`.' type: string enabled: description: 'Whether the region is enabled for deploying an OSD cluster.' type: boolean default: false capacity: description: 'Indicates whether there is capacity left per instance type' type: array items: $ref: "#/components/schemas/RegionCapacityListItem" required: - enabled - capacity ServiceAccount: description: 'Service Account created in MAS-SSO for the Kafka Cluster for authentication' allOf: - $ref: "#/components/schemas/ObjectReference" - type: object properties: id: description: 'server generated unique id of the service account' type: string name: description: '' type: string description: description: '' type: string client_id: type: string client_secret: type: string owner: type: string deprecated: true created_by: type: string created_at: format: date-time type: string example: $ref: "#/components/examples/ServiceAccountExample" ServiceAccountRequest: description: 'Schema for the request to create a service account' required: - name type: object properties: name: description: 'The name of the service account' type: string description: description: 'A description for the service account' type: string example: $ref: "#/components/examples/ServiceAccountRequestExample" RegionCapacityListItem: description: 'schema for a kafka instance type capacity in region' type: object properties: instance_type: description: 'kafka instance type' type: string available_sizes: description: 'list of available Kafka instance sizes that can be created in this region when taking account current capacity and regional limits' type: array items: type: string required: - instance_type - available_sizes ServiceAccountListItem: description: '' allOf: - $ref: "#/components/schemas/ObjectReference" - type: object properties: id: description: 'server generated unique id of the service account' type: string client_id: description: 'client id of the service account' type: string name: description: 'name of the service account' type: string owner: description: 'owner of the service account' type: string deprecated: true created_by: description: 'service account created by the user' type: string created_at: format: date-time description: 'service account creation timestamp' type: string description: type: string description: 'description of the service account' ServiceAccountList: allOf: - type: object example: kind: "ServiceAccountList" items: - $ref: '#/components/examples/ServiceAccountListItemExample' properties: kind: type: string items: type: array items: allOf: - $ref: "#/components/schemas/ServiceAccountListItem" required: - kind - items # user-facing metrics related # SsoProvider: description: 'SSO Provider' allOf: - $ref: "#/components/schemas/ObjectReference" - type: object properties: name: description: "name of the sso provider" type: string base_url: description: 'base url' type: string token_url: type: string jwks: type: string valid_issuer: type: string example: $ref: "#/components/examples/SsoProviderExample" MetricsRangeQueryList: allOf: - type: object example: kind: "MetricsRangeQueryList" id: "1nbpS70HduPe4l0to8jSg2CLzfu" items: $ref: '#/components/examples/MetricsRangeQueryExample' properties: kind: type: string id: type: string items: type: array items: allOf: - $ref: "#/components/schemas/RangeQuery" RangeQuery: type: object properties: metric: type: object additionalProperties: type: string values: type: array items: $ref: '#/components/schemas/Values' Values: type: object properties: timestamp: type: integer format: int64 value: type: number format: double required: - value MetricsInstantQueryList: allOf: - type: object example: kind: "MetricsInstantQueryList" id: "1nbpS70HduPe4l0to8jSg2CLzfu" items: $ref: '#/components/examples/MetricsInstantQueryExample' properties: kind: type: string id: type: string items: type: array items: allOf: - $ref: "#/components/schemas/InstantQuery" InstantQuery: type: object properties: metric: type: object additionalProperties: type: string timestamp: type: integer format: int64 value: type: number format: double required: - value KafkaUpdateRequest: type: object properties: # for now owner is the only supported field for update owner: type: string nullable: true reauthentication_enabled: description: Whether connection reauthentication is enabled or not. If set to true, connection reauthentication on the Kafka instance will be required every 5 minutes. type: boolean nullable: true EnterpriseOsdClusterPayload: description: Schema for the request body sent to /clusters POST required: - cluster_id - cluster_ingress_dns_name - kafka_machine_pool_node_count - access_kafkas_via_private_network type: object properties: access_kafkas_via_private_network: description: Sets whether Kafkas created on this data plane cluster have to be accessed via private network type: boolean cluster_id: description: The data plane cluster ID. This is the ID of the cluster obtained from OpenShift Cluster Manager (OCM) API type: string cluster_ingress_dns_name: description: dns name of the cluster. Can be obtained from the response JSON of the /api/clusters_mgmt/v1/clusters//ingresses (dns_name) type: string kafka_machine_pool_node_count: description: |- The node count given to the created kafka machine pool. The machine pool must be created via /api/clusters_mgmt/v1/clusters//machine_pools prior to passing this value. The created machine pool must have a `bf2.org/kafkaInstanceProfileType=standard` label and a `bf2.org/kafkaInstanceProfileType=standard:NoExecute` taint. The name of the machine pool must be `kafka-standard` The node count value has to be a multiple of 3 with a minimum of 3 nodes. type: integer format: int32 EnterpriseClusterAddonParameters: description: Enterprise Cluster get addon parameters response allOf: # This object will have the following ObjectReference values: # kind: ClusterAddonParameters # id: # href: a self reference - $ref: "#/components/schemas/ObjectReference" - $ref: "#/components/schemas/EnterpriseClusterFleetshardParameters" EnterpriseClusterFleetshardParameters: description: Enterprise Cluster fleetshard parameters object type: object properties: fleetshard_parameters: $ref: "#/components/schemas/FleetshardParametersArray" FleetshardParametersArray: description: Enterprise Cluster fleetshard parameters array type: array items: $ref: "#/components/schemas/FleetshardParameter" FleetshardParameter: description: "Fleetshard parameter consumed by enterprise cluster" type: object properties: id: type: string value: type: string EnterpriseClusterRegistrationResponse: description: |- Enterprise Cluster registration response. It returns additional privileged information compared to The information returned by EnterpriseCluster allOf: - $ref: "#/components/schemas/EnterpriseCluster" - $ref: "#/components/schemas/EnterpriseClusterFleetshardParameters" parameters: id: name: id description: The ID of record schema: type: string in: path required: true duration: name: duration in: query description: The length of time in minutes for which to return the metrics required: true schema: type: integer format: int64 default: 5 minimum: 1 maximum: 4320 examples: duration: value: 5 interval: name: interval in: query description: The interval in seconds between data points required: true schema: type: integer format: int64 default: 30 minimum: 1 maximum: 10800 examples: interval: value: 30 filters: name: filters in: query description: List of metrics to fetch. Fetch all metrics when empty. List entries are Kafka internal metric names. schema: type: array items: type: string default: [ ] page: name: page in: query description: Page index required: false schema: type: string examples: page: value: "1" size: name: size in: query description: Number of items in each page required: false schema: type: string examples: size: value: "100" orderBy: description: |- Specifies the order by criteria. The syntax of this parameter is similar to the syntax of the `order by` clause of an SQL statement. Each query can be ordered by any of the following `kafkaRequests` fields: * bootstrap_server_host * admin_api_server_url * cloud_provider * cluster_id * created_at * href * id * instance_type * multi_az * name * organisation_id * owner * reauthentication_enabled * region * status * updated_at * version For example, to return all Kafka instances ordered by their name, use the following syntax: ```sql name asc ``` To return all Kafka instances ordered by their name _and_ created date, use the following syntax: ```sql name asc, created_at asc ``` If the parameter isn't provided, or if the value is empty, then the results are ordered by name. explode: true examples: orderBy: value: "name asc" in: query name: orderBy required: false schema: type: string style: form search: description: | Search criteria. The syntax of this parameter is similar to the syntax of the `where` clause of an SQL statement. Allowed fields in the search are `cloud_provider`, `name`, `owner`, `region`, `status`, `instance_type`, and `cluster_id`. Allowed comparators are `<>`, `=`, `IN`, `NOT IN`, `LIKE`, or `ILIKE`. Allowed joins are `AND` and `OR`. However, you can use a maximum of 10 joins in a search query. Examples: To return a Kafka instance with the name `my-kafka` and the region `aws`, use the following syntax: ``` name = my-kafka and cloud_provider = aws ``` To return a Kafka instance with a name that starts with `my`, use the following syntax: ``` name like my%25 ``` To return a Kafka instance with a name containing `test` matching any character case combinations, use the following syntax: ``` name ilike %25test%25 ``` If the parameter isn't provided, or if the value is empty, then all the Kafka instances that the user has permission to see are returned. Note. If the query is invalid, an error is returned. explode: true name: search in: query required: false examples: search: value: "name = my-kafka and cloud_provider = aws" schema: type: string style: form securitySchemes: Bearer: scheme: bearer bearerFormat: JWT type: http examples: USRegionExample: value: region: "us-east-1" cloud_provider: "aws" name: "serviceapitest" EURegionExample: value: region: "eu-west-1" cloud_provider: "aws" name: "serviceapitest" ExplicitSizeExample: value: region: "us-east-1" cloud_provider: "aws" name: "test_kafka" plan: "standard.x1" EnterpriseClusterExample: value: id: "abcd1234ascd3456fdks9485lskd030h" kind: "cluster" href: "/api/kafkas_mgmr/v1/clusters/abcd1234ascd3456fdks9485lskd030h" status: "ready" cluster_id: "abcd1234ascd3456fdks9485lskd030h" access_kafkas_via_private_network: false cloud_provider: aws region: us-east-1 multi_az: true supported_instance_types: id: standard display_name: Standard supported_billing_models: - id: enterprise ams_resource: rhosak ams_product: RHOSAKCC ams_billing_models: - standard sizes: [ { id: x1, display_name: "1", ingress_throughput_per_sec: {"bytes": 31457280}, egress_throughput_per_sec: {"bytes": 31457280}, total_max_connections: 3000, max_data_retention_size: {"bytes": 1073741800000}, max_partitions: 1000, max_data_retention_period: "P14D", max_connection_attempts_per_sec: 100, quota_consumed: 1, quota_type: "RHOSAK", capacity_consumed: 1, max_message_size: { "bytes": 1048576}, min_in_sync_replicas: 1, replication_factor: 1, supported_az_modes: [ "multi", ], maturity_status: 'stable' }, ] capacity_information: kafka_machine_pool_node_count: 3 maximum_kafka_streaming_units: 1 remaining_kafka_streaming_units: 0 consumed_kafka_streaming_units: 1 EnterpriseClusterListExample: value: items: - id: "abcd1234ascd3456fdks9485lskd030h" kind: "cluster" href: "/api/kafkas_mgmr/v1/clusters/abcd1234ascd3456fdks9485lskd030h" status: "ready" cluster_id: "abcd1234ascd3456fdks9485lskd030h" access_kafkas_via_private_network: false cloud_provider: aws region: us-east-1 multi_az: true supported_instance_types: id: standard display_name: Standard supported_billing_models: - id: enterprise ams_resource: rhosak ams_product: RHOSAKCC ams_billing_models: - standard sizes: [ { id: x1, display_name: "1", ingress_throughput_per_sec: {"bytes": 31457280}, egress_throughput_per_sec: {"bytes": 31457280}, total_max_connections: 3000, max_data_retention_size: {"bytes": 1073741800000}, max_partitions: 1000, max_data_retention_period: "P14D", max_connection_attempts_per_sec: 100, quota_consumed: 1, quota_type: "rhosak", capacity_consumed: 1, max_message_size: { "bytes": 1048576}, min_in_sync_replicas: 1, replication_factor: 1, supported_az_modes: [ "multi", ], maturity_status: 'stable' }, ] capacity_information: kafka_machine_pool_node_count: 3 maximum_kafka_streaming_units: 1 remaining_kafka_streaming_units: 0 consumed_kafka_streaming_units: 1 EnterpriseClusterRegistrationResponseExample: value: id: "abcd1234ascd3456fdks9485lskd030h" kind: "cluster" href: "/api/kafkas_mgmr/v1/clusters/abcd1234ascd3456fdks9485lskd030h" status: "ready" cluster_id: "abcd1234ascd3456fdks9485lskd030h" access_kafkas_via_private_network: false cloud_provider: aws region: us-east-1 multi_az: true supported_instance_types: id: standard display_name: Standard supported_billing_models: - id: enterprise ams_resource: rhosak ams_product: RHOSAKCC ams_billing_models: - standard sizes: [ { id: x1, display_name: "1", ingress_throughput_per_sec: {"bytes": 31457280}, egress_throughput_per_sec: {"bytes": 31457280}, total_max_connections: 3000, max_data_retention_size: {"bytes": 1073741800000}, max_partitions: 1000, max_data_retention_period: "P14D", max_connection_attempts_per_sec: 100, quota_consumed: 1, quota_type: "rhosak", capacity_consumed: 1, max_message_size: { "bytes": 1048576}, min_in_sync_replicas: 1, replication_factor: 1, supported_az_modes: [ "multi", ], maturity_status: 'stable' }, ] capacity_information: kafka_machine_pool_node_count: 3 maximum_kafka_streaming_units: 1 remaining_kafka_streaming_units: 0 consumed_kafka_streaming_units: 1 fleetshard_parameters: [ { id: "sso-auth-server-url", value: "http://someurl/auth/realms/rhoas" }, { id: "sso-client-id", value: "kas-fleetshard-agent-1234abcd1234abcd1234abcd1234abcd" }, { id: "sso-secret", value: "some-secret" }, { id: "cluster-id", value: "1234abcd1234abcd1234abcd1234abcd" }, { id: "poll-interval", value: "15s" }, { id: "resync-interval", value: "60s" } ] EnterpriseClusterAddonParametersResponseExample: value: id: "abcd1234ascd3456fdks9485lskd030h" kind: "ClusterAddonParameters" href: "/api/kafkas_mgmr/v1/clusters/abcd1234ascd3456fdks9485lskd030h/addon_parameters" fleetshard_parameters: [ { id: "sso-auth-server-url", value: "http://someurl/auth/realms/rhoas" }, { id: "sso-client-id", value: "kas-fleetshard-agent-1234abcd1234abcd1234abcd1234abcd" }, { id: "sso-secret", value: "some-secret" }, { id: "cluster-id", value: "1234abcd1234abcd1234abcd1234abcd" }, { id: "poll-interval", value: "15s" }, { id: "resync-interval", value: "60s" } ] KafkaRequestExample: value: id: "1iSY6RQ3JKI8Q0OTmjQFd3ocFRg" kind: "kafka" href: "/api/kafkas_mgmt/v1/kafkas/1iSY6RQ3JKI8Q0OTmjQFd3ocFRg" status: "ready" cloud_provider: "aws" multi_az: true region: "us-east-1" owner: "api_kafka_service" name: "serviceapi" bootstrap_server_host: "serviceapi-1isy6rq3jki8q0otmjqfd3ocfrg.apps.mk-bttg0jn170hp.x5u8.s1.devshift.org" admin_api_server_url: "https://admin-server-mk-e-e-e-e-c---{}ld{-}-n-vp--bltg.rhcloud.com" created_at: "2020-10-05T12:51:24.053142Z" updated_at: "2020-10-05T12:56:36.362208Z" version: "2.6.0" instance_type: standard browser_url: "https://console.redhat.com/application-services/streams/kafkas/1isy6rq3jki8q0otmjqfd3ocfrg/details/dashboard" reauthentication_enabled: true max_data_retention_size: { bytes: 1073741824000 } size_id: x1 ingress_throughput_per_sec: "2Mi" egress_throughput_per_sec: "2Mi" total_max_connections: 100 max_partitions: 100 max_data_retention_period: "P14D" max_connection_attempts_per_sec: 100 billing_cloud_account_id: "123456789012" marketplace: "aws" billing_model: "marketplace" cluster_id: "21grk30a21grk30a21grk30a21grk30a" KafkaRequestFailedCreationStatusExample: value: id: "1iSY6RQ3JKI8Q0OTmjQFd3ocFRg" kind: "kafka" href: "/api/kafkas_mgmt/v1/kafkas/1iSY6RQ3JKI8Q0OTmjQFd3ocFRg" status: "failed" cloud_provider: "aws" multi_az: true region: "us-east-1" owner: "api_kafka_service" name: "serviceapi" bootstrap_server_host: "serviceapi-1isy6rq3jki8q0otmjqfd3ocfrg.apps.mk-bttg0jn170hp.x5u8.s1.devshift.org" admin_api_server_url: "https://admin-server-mk-e-e-e-e-c---{}ld{-}-n-vp--bltg.rhcloud.com" created_at: "2020-10-05T12:51:24.053142Z" updated_at: "2020-10-05T12:56:36.362208Z" failed_reason: "a reason the Kafka request creation failed" instance_type: standard reauthentication_enabled: true KafkaPromoteRequestExample: value: desired_kafka_billing_model: "marketplace" desired_marketplace: "aws" desired_billing_cloud_account_id: "123456" SupportedKafkaInstanceTypeListExample: value: id: developer display_name: Trial supported_billing_models: - id: standard ams_resource: rhosak ams_product: RHOSAKTrial ams_billing_models: - standard sizes: [ { id: x1, display_name: "1", ingress_throughput_per_sec: {"bytes": 31457280}, egress_throughput_per_sec: {"bytes": 31457280}, total_max_connections: 3000, max_data_retention_size: {"bytes": 1073741800000}, max_partitions: 1000, max_data_retention_period: "P14D", max_connection_attempts_per_sec: 100, quota_consumed: 1, quota_type: "rhosak", capacity_consumed: 1, max_message_size: { "bytes": 1048576}, min_in_sync_replicas: 1, replication_factor: 1, supported_az_modes: [ "single", "multi", ], maturity_status: 'stable' }, ] CloudProviderExample: value: kind: "CloudProvider" id: "aws" name: "aws" display_name: "Amazon Web Services" enabled: true CloudRegionExample: value: kind: "CloudRegion" id: "us-east-1" display_name: "US East, N. Virginia" enabled: true capacity: [ { instance_type: "standard", available_sizes: ["x1", "x2"] } ] ServiceAccountRequestExample: value: name: "my-app-sa" description: "service account for my app" ServiceAccountExample: value: id: "1" kind: "ServiceAccount" href: "/api/kafkas_mgmt/v1/serviceaccounts/1" name: "my-app-sa" description: "service account for my app" client_id: "SA-121212" client_secret: "secret" owner: "test-user" created_by: "test-user" created_at: "2021-04-07T16:24:01+05:30" SsoProviderExample: value: name: "mas_sso" base_url: "https://identity.api.redhat.com" jwks: "https://identity.api.openshift.com/auth/realms/rhoas/protocol/openid-connect/certs" token_url: "https://identity.api.openshift.com/auth/realms/rhoas/protocol/openid-connect/token" valid_issuer: "https://identity.api.openshift.com/auth/realms/rhoas" ServiceAccountByIdExample: value: id: "1" kind: "ServiceAccount" href: "/api/kafkas_mgmt/v1/serviceaccounts/1" name: "my-app-sa" description: "service account for my app" client_id: "SA-121212" owner: "test-user" created_by: "test-user" created_at: "2021-04-07T16:24:01+05:30" ServiceAccountListItemExample: value: id: "1" kind: "ServiceAccountListItem" href: "/api/kafkas_mgmt/v1/serviceaccounts/1" name: "my-app-sa" description: "service account for my app" client_id: "SA-121212" owner: "test-user" created_by: "test-user" created_at: "2021-04-07T16:24:01+05:30" MetricsRangeQueryExample: value: metric: __name__: kafka_server_brokertopicmetrics_bytes_in_total strimzi_io_cluster: kafka-service topic: __consumer_offsets values: - timestamp: 1611670230000 value: 84154 - timestamp: 1611670260000 value: 85888 - timestamp: 1611670290000 value: 87622 MetricsInstantQueryExample: value: metric: __name__: kafka_server_brokertopicmetrics_bytes_in_total strimzi_io_cluster: kafka-service topic: __consumer_offsets timestamp: 1611670230000 value: 84154 400DeletionExample: value: id: "103" kind: "Error" href: "/api/kafkas_mgmt/v1/errors/103" code: "KAFKAS-MGMT-103" reason: "Synchronous action is not supported, use async=true parameter" operation_id: "1iWIimqGcrDuL61aUxIZqBTqNRa" 400CreationExample: value: id: "103" kind: "Error" href: "/api/kafkas_mgmt/v1/errors/103" code: "KAFKAS-MGMT-103" reason: "Synchronous action is not supported, use async=true parameter" operation_id: "1iWIimqGcrDuL61aUxIZqBTqNRa" 400InvalidQueryExample: value: id: "23" kind: "Error" href: "/api/kafkas_mgmt/v1/errors/23" code: "KAFKAS-MGMT-23" reason: "Failed to parse search query: Unable to list Kafka requests for api_kafka_service: KAFKAS-MGMT-23: Failed to parse search query: Unsupported column name for search: 'id'. Supported column names are: region, name, cloud_provider, name, status. Query invalid: id = 123" operation_id: "1lWDGuybIrEnxrAem724gqkkiDv" 400UnsupportedProviderExample: value: id: "30" kind: "Error" href: "/api/kafkas_mgmt/v1/errors/30" code: "KAFKAS-MGMT-30" reason: "Provider not supported" operation_id: "c980htvgvcn9kf51d0n0" 400UnsupportedRegionExample: value: id: "31" kind: "Error" href: "/api/kafkas_mgmt/v1/errors/31" code: "KAFKAS-MGMT-31" reason: "Region not supported" operation_id: "c980htvgvcn9kf51d0n0" 400MissingParameterExample: value: id: "21" kind: "Error" href: "/api/kafkas_mgmt/v1/errors/21" code: "KAFKAS-MGMT-21" reason: "missing path parameter: kafka id" operation_id: "1lWDGuybIrEnxrAem724gqkkiDv" 400InvalidClusterIdExample: value: id: "45" kind: "Error" href: "/api/kafkas_mgmt/v1/errors/45" code: "KAFKAS-MGMT-45" reason: "Enterprise cluster ID is invalid" operation_id: "1lWDGuybIrEnxrAem724gqkkiDv" 400InvalidExternalClusterIdExample: value: id: "46" kind: "Error" href: "/api/kafkas_mgmt/v1/errors/46" code: "KAFKAS-MGMT-46" reason: "Enterprise external cluster ID is invalid" operation_id: "1lWDGuybIrEnxrAem724gqkkiDv" 404Example: value: id: "7" kind: "Error" href: "/api/kafkas_mgmt/v1/errors/7" code: "KAFKAS-MGMT-7" reason: "The requested resource doesn't exist" 404DeleteExample: value: id: "7" kind: "Error" href: "/api/kafkas_mgmt/v1/errors/7" code: "KAFKAS-MGMT-7" reason: "KafkaResource with id='1iK3duVYIvv5YvLlyz1mGR3JyqN' not found" operation_id: "1iYO7g2g6HTdUKUa2ksH82kQD3y" 401Example: value: id: "11" kind: "Error" href: "/api/kafkas_mgmt/v1/errors/11" code: "KAFKAS-MGMT-11" reason: "Unable to verify JWT token: Required authorization token not found" operation_id: "1iY3UhEhwmXBpWPfI2lNekpd4ZD" 403Example: value: id: "4" kind: "Error" href: "/api/kafkas_mgmt/v1/errors/4" code: "KAFKAS-MGMT-4" reason: "User 'foo-bar' is not authorized to access the service." operation_id: "1lY3UiEhznXBpWPfI2lNejpd4YC" 403MaxAllowedInstanceReachedExample: value: id: "5" kind: "Error" href: "/api/kafkas_mgmt/v1/errors/5" code: "KAFKAS-MGMT-5" reason: "User 'foo-bar' has reached a maximum number of 6 allowed streaming units." operation_id: "1lY3UiEkxnXBpVPeI2oNejd3XB" 403TermsNotAcceptedExample: value: id: "12" kind: "Error" href: "/api/kafkas_mgmt/v1/errors/12" code: "KAFKAS-MGMT-12" reason: "Required terms have not been accepted" operation_id: "kXCzWPeI2oXBpVPeI2LvF9jMQY" 409NameConflictExample: value: id: "36" kind: "Error" href: "/api/kafkas_mgmt/v1/errors/36" code: "KAFKAS-MGMT-36" reason: "Kafka cluster name is already used" operation_id: "6kY0UiEkzkXCzWPeI2oYehd3ED" 409ClusterIdConflictExample: value: id: "44" kind: "Error" href: "/api/kafkas_mgmt/v1/errors/44" code: "KAFKAS-MGMT-44" reason: "Enterprise cluster ID is already used" operation_id: "6kY0UiEkzkXCzWPeI2oYehd3ED" 500Example: value: id: "9" kind: "Error" href: "/api/kafkas_mgmt/v1/errors/9" code: "KAFKAS-MGMT-9" reason: "Unspecified error" operation_id: "1ieELvF9jMQY6YghfM9gGRsHvEW" 500DeleteExample: value: id: "9" kind: "Error" href: "/api/kafkas_mgmt/v1/errors/9" code: "KAFKAS-MGMT-9" reason: "error deleting syncset: OCM-EX-9: failed to delete syncset: ext-serviceapi-1ix03lndlmq0qfc7sita5sljv8e for cluster id: 1g5d88q0lrcdv4g7alb7slfgnj3dhbsj%!(EXTRA *errors.Error=identifier is '404', code is 'CLUSTERS-MGMT-404' and operation identifier is '1g5or50viu07oealuehrkc26dgftj1ac': Cluster '1g5d88q0lrcdv4g7alb7slfgnj3dhbsj' not found)" operation_id: "1iYTsWry6nsqb2sNmFj5bXpD7Ca" EnterpriseOsdClusterPayloadExample: value: cluster_id: "1234abcd1234abcd1234abcd1234abcd" cluster_ingress_dns_name: "apps.enterprise-aws.awdk.s1.devshift.org" kafka_machine_pool_node_count: 9 access_kafkas_via_private_network: false