openapi: 3.1.0 info: title: Konnect API (BETA) version: 2.0.0 description: | This is a BETA specification. Endpoints in this specification may change with zero notice contact: name: Kong url: 'https://cloud.konghq.com' x-ref-schema-name: DataplaneOverview x-extensions-note: | This API uses the `x-expression` vendor extension to indicate that a string property is a DSL expression. Supported types: - `boolean`: An expression evaluates to boolean. For example, `context.topic.name == 'my-topic'` - `string`: A template string expression that evaluates to a string or a literal string value. For example, `${context.topic.name.substring(0, context.topic.name.length-4)}` or `my-literal-value` Additionally, `x-sensitive` flag indicates that a field contains sensitive information. When the value of the field is provided in plain text, it's encrypted at rest and it's never returned in API responses. When the value is an expression, the expression itself is stored and returned in API responses. `x-min-runtime-version` indicates the minimum Event Gateway runtime version required to use a certain policy or policy feature. The runtime version can be configured at the Event Gateway entity level. It must be a string containing a semantic version in the `MAJOR.MINOR` format, e.g., `"1.1"`. servers: - url: 'https://global.api.konghq.com' - url: 'https://us.api.konghq.com' - url: 'https://eu.api.konghq.com' - url: 'https://au.api.konghq.com' - url: 'https://me.api.konghq.com' - url: 'https://in.api.konghq.com' paths: /v3/portals: get: x-speakeasy-entity-operation: terraform-resource: null terraform-datasource: - Portal#read operationId: list-portals summary: List Portals description: 'Lists developer portals defined in this region for this organization. Each developer portal is available at a unique address and has isolated configuration, customization, developers, and applications.' parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' - $ref: '#/components/parameters/SortPortals' - name: filter in: query description: Filter portals returned in the response. required: false schema: $ref: '#/components/schemas/PortalFilterParameters' style: deepObject responses: '200': $ref: '#/components/responses/ListPortalsResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Portals post: x-speakeasy-entity-operation: terraform-resource: Portal#create terraform-datasource: null operationId: create-portal summary: Create Portal description: Creates a new developer portal scoped in this region for this organization. requestBody: $ref: '#/components/requestBodies/CreatePortal' responses: '201': $ref: '#/components/responses/PortalResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Portals '/v3/portals/{portalId}': parameters: - name: portalId in: path description: ID of the portal. required: true schema: type: string format: uuid x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: Portal#read terraform-datasource: null operationId: get-portal summary: Get a Portal description: 'Returns the configuration for a single developer portal, including the current visibility, access, and domain settings.' responses: '200': $ref: '#/components/responses/PortalResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portals patch: x-speakeasy-entity-operation: terraform-resource: Portal#update terraform-datasource: null operationId: update-portal summary: Update Portal description: 'Updates the configuration for a single portal including the visibility, access, and custom domain settings.' requestBody: $ref: '#/components/requestBodies/UpdatePortal' responses: '200': $ref: '#/components/responses/PortalResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Portals delete: x-speakeasy-entity-operation: terraform-resource: Portal#delete terraform-datasource: null operationId: delete-portal summary: Delete Portal description: 'Deletes a single portal, along with all related entities.' parameters: - name: force in: query description: | If set to "true", the portal and all child entities will be deleted when running `terraform destroy`. If set to "false", the portal will not be deleted until all child entities are manually removed. This will IRREVERSIBLY DELETE ALL REGISTERED DEVELOPERS AND THEIR CREDENTIALS. Only set to "true" if you want this behavior. schema: type: string default: 'false' enum: - 'true' - 'false' x-speakeasy-name-override: force_destroy responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portals '/v3/portals/{portalId}/custom-domain': parameters: - $ref: '#/components/parameters/PortalId' get: x-speakeasy-entity-operation: terraform-resource: PortalCustomDomain#read terraform-datasource: null operationId: get-portal-custom-domain summary: Get Custom Domain description: Get the custom domain associated to the portal. responses: '200': $ref: '#/components/responses/PortalCustomDomain' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Custom Domains post: x-speakeasy-entity-operation: terraform-resource: PortalCustomDomain#create terraform-datasource: null operationId: create-portal-custom-domain summary: Create Custom Domain description: Creates the custom domain associated with the portal. Only one custom domain can be associated with a portal at a time. requestBody: $ref: '#/components/requestBodies/CreatePortalCustomDomain' responses: '201': $ref: '#/components/responses/PortalCustomDomain' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Custom Domains patch: x-speakeasy-entity-operation: terraform-resource: PortalCustomDomain#update terraform-datasource: null operationId: update-portal-custom-domain summary: Enable or Disable Domain description: Updates the portal domain associated with the portal. requestBody: $ref: '#/components/requestBodies/UpdatePortalCustomDomain' responses: '200': $ref: '#/components/responses/PortalCustomDomain' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Portal Custom Domains delete: x-speakeasy-entity-operation: terraform-resource: PortalCustomDomain#delete terraform-datasource: null operationId: delete-portal-custom-domain summary: Remove Domain description: Deletes the custom domain associated with the portal. responses: '204': description: No Content '404': $ref: '#/components/responses/NotFound' tags: - Portal Custom Domains '/v3/portals/{portalId}/assets/logo': parameters: - $ref: '#/components/parameters/PortalId' get: x-speakeasy-entity-operation: terraform-resource: PortalLogo#read terraform-datasource: null operationId: get-portal-asset-logo summary: Get Logo description: Returns the logo of the portal. responses: '200': $ref: '#/components/responses/PortalAssetResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Assets put: x-speakeasy-entity-operation: terraform-resource: 'PortalLogo#create,update' terraform-datasource: null operationId: replace-portal-asset-logo summary: Replace Logo description: Replaces the logo of the portal. requestBody: $ref: '#/components/requestBodies/ReplacePortalImageAsset' responses: '200': $ref: '#/components/responses/PortalAssetResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Assets '/v3/portals/{portalId}/assets/favicon': parameters: - $ref: '#/components/parameters/PortalId' get: x-speakeasy-entity-operation: terraform-resource: PortalFavicon#read terraform-datasource: null operationId: get-portal-asset-favicon summary: Get Favicon description: Returns the favicon of the portal. responses: '200': $ref: '#/components/responses/PortalAssetResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Assets put: x-speakeasy-entity-operation: terraform-resource: 'PortalFavicon#create,update' terraform-datasource: null operationId: replace-portal-asset-favicon summary: Replace Favicon description: Replaces the favicon of the portal. The favicon is used in the browser tab of the portal. requestBody: $ref: '#/components/requestBodies/ReplacePortalImageAsset' responses: '200': $ref: '#/components/responses/PortalAssetResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Assets '/v3/portals/{portalId}/customization': get: x-speakeasy-entity-operation: terraform-resource: PortalCustomization#read terraform-datasource: null operationId: get-portal-customization summary: Get Customization description: Returns the portal customization options. parameters: - $ref: '#/components/parameters/PortalId' responses: '200': $ref: '#/components/responses/PortalCustomizationResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Customization put: x-speakeasy-entity-operation: terraform-resource: 'PortalCustomization#create,update' terraform-datasource: null operationId: replace-portal-customization summary: Replace Customization description: Replace the portal customization options. parameters: - $ref: '#/components/parameters/PortalId' requestBody: $ref: '#/components/requestBodies/ReplacePortalCustomization' responses: '200': $ref: '#/components/responses/PortalCustomizationResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Customization '/v3/portals/{portalId}/pages': post: x-speakeasy-entity-operation: terraform-resource: PortalPage#create terraform-datasource: null operationId: create-portal-page summary: Create Page description: 'Creates a new custom page for this portal. Custom pages can be used to display static content, documentation, or other information to developers. Title and Description properties may be provided in the frontmatter section of `content`. If you set values in both the `POST` request _and_ in the frontmatter, the values in frontmatter will take precedence.' parameters: - $ref: '#/components/parameters/PortalId' requestBody: $ref: '#/components/requestBodies/CreatePortalPage' responses: '201': $ref: '#/components/responses/PortalPage' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Pages x-speakeasy-group: Portal Pages '/v3/portals/{portalId}/pages/{pageId}': get: x-speakeasy-entity-operation: terraform-resource: PortalPage#read terraform-datasource: null operationId: get-portal-page summary: Get a Page description: 'Returns the configuration of a single custom page for this portal. Custom pages can be used to display static content, documentation, or other information to developers.' parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/PageId' responses: '200': $ref: '#/components/responses/PortalPage' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' tags: - Pages x-speakeasy-group: Portal Pages patch: x-speakeasy-entity-operation: terraform-resource: PortalPage#update terraform-datasource: null operationId: update-portal-page summary: Update Page description: Updates the configuration of a single custom page for this portal. parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/PageId' requestBody: $ref: '#/components/requestBodies/UpdatePortalPage' responses: '200': $ref: '#/components/responses/PortalPage' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Pages x-speakeasy-group: Portal Pages delete: x-speakeasy-entity-operation: terraform-resource: PortalPage#delete terraform-datasource: null operationId: delete-portal-page summary: Delete Page description: Deletes a single custom page for this portal. parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/PageId' responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Pages x-speakeasy-group: Portal Pages '/v3/portals/{portalId}/snippets': post: x-speakeasy-entity-operation: terraform-resource: PortalSnippet#create terraform-datasource: null operationId: create-portal-snippet summary: Create Snippet description: 'Creates a new custom snippet for this portal. Custom snippets can be used to display static content, documentation, or other information to developers. Title and Description properties may be provided in the frontmatter section of `content`. If you set values in both the `POST` request _and_ in the frontmatter, the values in the frontmatter will take precedence.' parameters: - $ref: '#/components/parameters/PortalId' requestBody: $ref: '#/components/requestBodies/CreatePortalSnippet' responses: '201': $ref: '#/components/responses/PortalSnippet' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Snippets '/v3/portals/{portalId}/snippets/{snippetId}': get: x-speakeasy-entity-operation: terraform-resource: PortalSnippet#read terraform-datasource: null operationId: get-portal-snippet summary: Get a Snippet description: 'Returns the configuration of a single custom snippet for this portal. Custom snippets can be used to display static content, documentation, or other information to developers.' parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/SnippetId' responses: '200': $ref: '#/components/responses/PortalSnippet' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Snippets patch: x-speakeasy-entity-operation: terraform-resource: PortalSnippet#update terraform-datasource: null operationId: update-portal-snippet summary: Update Snippet description: Updates the configuration of a single custom snippet for this portal. parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/SnippetId' requestBody: $ref: '#/components/requestBodies/UpdatePortalSnippet' responses: '200': $ref: '#/components/responses/PortalSnippet' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Snippets delete: x-speakeasy-entity-operation: terraform-resource: PortalSnippet#delete terraform-datasource: null operationId: delete-portal-snippet summary: Delete Snippet description: Deletes a single custom snippet for this portal. parameters: - $ref: '#/components/parameters/PortalId' - $ref: '#/components/parameters/SnippetId' responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Snippets '/v3/portals/{portalId}/authentication-settings': parameters: - $ref: '#/components/parameters/PortalId' get: x-speakeasy-entity-operation: terraform-resource: PortalAuth#read terraform-datasource: null operationId: get-portal-authentication-settings summary: Get Auth Settings description: 'Returns the developer authentication configuration for a portal, which determines how developers can log in and how they are assigned to teams.' responses: '200': $ref: '#/components/responses/PortalAuthenticationSettings' '401': $ref: '#/components/responses/Unauthorized' tags: - Portal Auth Settings patch: x-speakeasy-entity-operation: terraform-resource: 'PortalAuth#create,update' terraform-datasource: null operationId: update-portal-authentication-settings summary: Update Auth Settings description: Updates the developer authentication configuration for a portal. Developers can be allowed to login using basic auth (email & password) or use Single-Sign-On through an Identity Provider. Developers can be automatically assigned to teams by mapping claims from their IdP account. requestBody: $ref: '#/components/requestBodies/UpdatePortalAuthenticationSettings' responses: '200': $ref: '#/components/responses/PortalAuthenticationSettings' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Portal Auth Settings '/v3/portals/{portalId}/teams': parameters: - $ref: '#/components/parameters/PortalId' post: x-speakeasy-entity-operation: terraform-resource: PortalTeam#create terraform-datasource: null operationId: create-portal-team summary: Create Team description: Creates a developer team in a portal. Developers can be added to teams to provide RBAC access to API products. Teams can be assigned roles that grant permissions to perform an action on a resource. requestBody: $ref: '#/components/requestBodies/PortalCreateTeam' responses: '201': $ref: '#/components/responses/PortalTeam' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Teams '/v3/portals/{portalId}/teams/{teamId}': parameters: - $ref: '#/components/parameters/TeamId' - $ref: '#/components/parameters/PortalId' get: x-speakeasy-entity-operation: terraform-resource: PortalTeam#read terraform-datasource: null operationId: get-portal-team summary: Get Team description: Get an individual team. responses: '200': $ref: '#/components/responses/PortalTeam' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Teams patch: x-speakeasy-entity-operation: terraform-resource: PortalTeam#update terraform-datasource: null operationId: update-portal-team summary: Update Team description: Updates an individual developer team for a portal. requestBody: $ref: '#/components/requestBodies/PortalUpdateTeam' responses: '200': $ref: '#/components/responses/PortalTeam' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Teams delete: x-speakeasy-entity-operation: terraform-resource: PortalTeam#delete terraform-datasource: null operationId: delete-portal-team summary: Delete Team description: 'Deletes a developer team from a portal. Deleting a team also deletes its assigned roles. Members of the team are not deleted, but they will lose any access provided through the team.' responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Teams '/v3/portals/{portalId}/audit-log-webhook': parameters: - $ref: '#/components/parameters/PortalId' patch: x-speakeasy-entity-operation: terraform-resource: 'PortalAuditLogWebhook#create,update' terraform-datasource: null operationId: update-portal-audit-log-webhook summary: Update Portal Audit Log Webhook description: Updates the configuration for a webhook to receive audit logs. requestBody: $ref: '#/components/requestBodies/UpdatePortalAuditLogWebhook' responses: '200': $ref: '#/components/responses/PortalAuditLogWebhook' '400': $ref: '#/components/responses/PortalWebhookBadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Audit Logs get: x-speakeasy-entity-operation: terraform-resource: PortalAuditLogWebhook#read terraform-datasource: null operationId: get-portal-audit-log-webhook summary: Get Portal Audit Log Webhook description: Returns configuration for the audit log webhook. responses: '200': $ref: '#/components/responses/PortalAuditLogWebhook' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portal Audit Logs delete: x-speakeasy-entity-operation: terraform-resource: PortalAuditLogWebhook#delete terraform-datasource: null operationId: delete-portal-audit-log-webhook summary: Delete Portal Audit Log Webhook description: 'Removes configuration for the audit log webhook. The destination ID is set to empty, and the webhook enabled field is set to false' responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Portal Audit Logs '/v3/portals/{portalId}/ip-allow-list': parameters: - $ref: '#/components/parameters/PortalId' post: x-speakeasy-entity-operation: terraform-resource: PortalIPAllowList#create terraform-datasource: null operationId: create-portal-ip-allow-list summary: Create an IP allow list for a portal description: | Create an IP allow list for a portal. requestBody: $ref: '#/components/requestBodies/CreatePortalSourceIPRestriction' responses: '201': $ref: '#/components/responses/PortalSourceIPRestriction' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Portals IP Allow List '/v3/portals/{portalId}/ip-allow-list/{id}': parameters: - $ref: '#/components/parameters/PortalId' - name: id in: path description: ID of the allow list. required: true schema: type: string format: uuid get: x-speakeasy-entity-operation: terraform-resource: PortalIPAllowList#read terraform-datasource: null operationId: get-portal-ip-allow-list summary: Get an IP allow list for a portal description: | Get an IP allow list for a portal. responses: '200': $ref: '#/components/responses/PortalSourceIPRestriction' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portals IP Allow List put: x-speakeasy-entity-operation: terraform-resource: PortalIPAllowList#update terraform-datasource: null operationId: put-portal-ip-allow-list summary: Replace an IP allow list for a portal description: | Replace an IP allow list for a portal. requestBody: $ref: '#/components/requestBodies/CreatePortalSourceIPRestriction' responses: '200': $ref: '#/components/responses/PortalSourceIPRestriction' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portals IP Allow List delete: x-speakeasy-entity-operation: terraform-resource: PortalIPAllowList#delete terraform-datasource: null operationId: delete-portal-ip-allow-list summary: Delete an IP allow list from a portal description: | Delete the IP allow list for a portal. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Portals IP Allow List /v3/apis: post: x-speakeasy-entity-operation: terraform-resource: Api#create terraform-datasource: null operationId: create-api summary: Create API description: Creates an API. requestBody: $ref: '#/components/requestBodies/CreateApiRequest' responses: '201': $ref: '#/components/responses/ApiResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' '415': $ref: '#/components/responses/UnsupportedMediaType' tags: - API '/v3/apis/{apiId}': parameters: - name: apiId in: path description: The UUID API identifier required: true schema: type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: Api#read terraform-datasource: null operationId: fetch-api summary: Get an API description: Get an API. responses: '200': $ref: '#/components/responses/ApiResponse' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API patch: x-speakeasy-entity-operation: terraform-resource: Api#update terraform-datasource: null operationId: update-api summary: Update API description: Updates an API. parameters: - name: force in: query description: | If true, allows operations to be removed from the current version when using access control enforcement. If false, operations removal will be rejected with a 409 error. Omitting the value means true. schema: type: string default: 'false' enum: - 'true' - 'false' requestBody: $ref: '#/components/requestBodies/UpdateApiRequest' responses: '200': $ref: '#/components/responses/ApiResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' '409': $ref: '#/components/responses/ApiVersionPatchConflict' '415': $ref: '#/components/responses/UnsupportedMediaType' tags: - API delete: x-speakeasy-entity-operation: terraform-resource: Api#delete terraform-datasource: null operationId: delete-api summary: Delete API description: Deletes an API. responses: '204': description: API was deleted successfully. '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API '/v3/apis/{apiId}/documents': parameters: - $ref: '#/components/parameters/ApiId' post: x-speakeasy-entity-operation: terraform-resource: ApiDocument#create terraform-datasource: null operationId: create-api-document summary: Create API Document description: | Publish a new document attached to an API. All configuration options may be provided in the frontmatter section of `content`. If you set values in both the `POST` request _and_ in the frontmatter, the values in the `POST` request will take precedence. requestBody: $ref: '#/components/requestBodies/CreateApiDocumentRequest' responses: '201': $ref: '#/components/responses/ApiDocumentResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' '409': $ref: '#/components/responses/ApiSlugConflict' '415': $ref: '#/components/responses/UnsupportedMediaType' tags: - API Documentation '/v3/apis/{apiId}/documents/{documentId}': parameters: - $ref: '#/components/parameters/ApiId' - $ref: '#/components/parameters/DocumentId' get: x-speakeasy-entity-operation: terraform-resource: ApiDocument#read terraform-datasource: null operationId: fetch-api-document summary: Get an API Document description: Returns a document for the API. responses: '200': $ref: '#/components/responses/ApiDocumentResponse' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Documentation patch: x-speakeasy-entity-operation: terraform-resource: ApiDocument#update terraform-datasource: null operationId: update-api-document summary: Update API Document description: Updates a document for an API. requestBody: $ref: '#/components/requestBodies/UpdateApiDocumentRequest' responses: '200': $ref: '#/components/responses/ApiDocumentResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' '409': $ref: '#/components/responses/ApiSlugConflict' '415': $ref: '#/components/responses/UnsupportedMediaType' tags: - API Documentation delete: x-speakeasy-entity-operation: terraform-resource: ApiDocument#delete terraform-datasource: null operationId: delete-api-document summary: Delete API Documentation description: Removes a document from an API. responses: '204': description: Document for the API was deleted successfully. '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Documentation '/v3/apis/{apiId}/specifications': parameters: - $ref: '#/components/parameters/ApiId' post: x-speakeasy-entity-operation: terraform-resource: ApiSpecification#create terraform-datasource: null operationId: create-api-spec summary: Create API Specification description: | Creates a specification (OpenAPI or AsyncAPI) for an API. **Note:** You can only have one specification for an API. This endpoint is deprecated and will be removed: use /versions instead. requestBody: $ref: '#/components/requestBodies/CreateApiSpecRequest' responses: '201': $ref: '#/components/responses/ApiSpecResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' '409': $ref: '#/components/responses/ApiSpecConflict' '415': $ref: '#/components/responses/UnsupportedMediaType' deprecated: true tags: - API Specification '/v3/apis/{apiId}/specifications/{specId}': parameters: - $ref: '#/components/parameters/ApiId' - $ref: '#/components/parameters/SpecId' get: x-speakeasy-entity-operation: terraform-resource: ApiSpecification#read terraform-datasource: null operationId: fetch-api-spec summary: Get API Specification description: | Fetches the specification (OpenAPI or AsyncAPI) of an API. **Note:** This endpoint is deprecated and will be removed: use /versions instead. responses: '200': $ref: '#/components/responses/ApiSpecResponse' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' deprecated: true tags: - API Specification patch: x-speakeasy-entity-operation: terraform-resource: ApiSpecification#update terraform-datasource: null operationId: update-api-spec summary: Update API Specification description: | Updates the specification (OpenAPI or AsyncAPI) of an API. **Note:** This endpoint is deprecated and will be removed: use /versions instead. requestBody: $ref: '#/components/requestBodies/UpdateApiSpecRequest' responses: '200': $ref: '#/components/responses/ApiSpecResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' '409': $ref: '#/components/responses/ApiSpecHiddenConflict' '415': $ref: '#/components/responses/UnsupportedMediaType' deprecated: true tags: - API Specification delete: x-speakeasy-entity-operation: terraform-resource: ApiSpecification#delete terraform-datasource: null operationId: delete-api-spec summary: Delete API Specification description: | Deletes the specification (OpenAPI or AsyncAPI) of an API. **Note:** This endpoint is deprecated and will be removed: use /versions instead. responses: '204': description: API Specification was deleted successfully. '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' deprecated: true tags: - API Specification '/v3/apis/{apiId}/versions': parameters: - $ref: '#/components/parameters/ApiId' post: x-speakeasy-entity-operation: terraform-resource: ApiVersion#create terraform-datasource: null operationId: create-api-version summary: Create API Version description: | Creates a version (OpenAPI or AsyncAPI) for an API. requestBody: $ref: '#/components/requestBodies/CreateApiVersionRequest' responses: '201': $ref: '#/components/responses/ApiVersionResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' '409': $ref: '#/components/responses/ApiSpecConflict' '415': $ref: '#/components/responses/UnsupportedMediaType' tags: - API Version '/v3/apis/{apiId}/versions/{versionId}': parameters: - $ref: '#/components/parameters/ApiId' - $ref: '#/components/parameters/VersionId' get: x-speakeasy-entity-operation: terraform-resource: ApiVersion#read terraform-datasource: null operationId: fetch-api-version summary: Get an API Version description: Fetches the version (OpenAPI or AsyncAPI) of an API. responses: '200': $ref: '#/components/responses/ApiVersionResponse' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Version patch: x-speakeasy-entity-operation: terraform-resource: ApiVersion#update terraform-datasource: null operationId: update-api-version summary: Update API Version description: Updates the version (OpenAPI or AsyncAPI) of an API. parameters: - name: force in: query description: | If true, allows operations to be removed from the current version when using access control enforcement. If false, operations removal will be rejected with a 409 error. Omitting the value (i.e., setting `?force`) means true. schema: type: string default: 'false' enum: - 'true' - 'false' requestBody: $ref: '#/components/requestBodies/UpdateApiVersionRequest' responses: '200': $ref: '#/components/responses/ApiVersionResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' '409': $ref: '#/components/responses/ApiVersionPatchConflict' '415': $ref: '#/components/responses/UnsupportedMediaType' tags: - API Version delete: x-speakeasy-entity-operation: terraform-resource: ApiVersion#delete terraform-datasource: null operationId: delete-api-version summary: Delete API Version description: Deletes the version (OpenAPI or AsyncAPI) of an API. responses: '204': description: API Version was deleted successfully. '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Version '/v3/apis/{apiId}/publications/{portalId}': parameters: - $ref: '#/components/parameters/ApiId' - $ref: '#/components/parameters/PortalId' put: x-speakeasy-entity-operation: terraform-resource: 'ApiPublication#create,update' terraform-datasource: null operationId: publish-api-to-portal summary: Publish API description: | Publish an API to a portal. requestBody: $ref: '#/components/requestBodies/PutApiPublicationRequest' responses: '200': $ref: '#/components/responses/ApiPublicationResponse' '400': $ref: '#/components/responses/ApiPublicationBadRequest' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Publication get: x-speakeasy-entity-operation: terraform-resource: ApiPublication#read terraform-datasource: null operationId: fetch-publication summary: Get a Publication description: | Retrieve an API's publication in a portal. If the API is not published to the portal, a 404 response is returned. responses: '200': $ref: '#/components/responses/ApiPublicationResponse' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Publication delete: x-speakeasy-entity-operation: terraform-resource: ApiPublication#delete terraform-datasource: null operationId: delete-publication summary: Delete Publication description: Unpublish an API from a portal. responses: '204': description: API was successfully unpublished from portal. '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Publication '/v3/apis/{apiId}/implementations': parameters: - $ref: '#/components/parameters/ApiId' post: x-speakeasy-entity-operation: terraform-resource: ApiImplementation#create terraform-datasource: null operationId: create-api-implementation summary: Create API Implementation description: | Creates an implementation for an API. If all operations in an API are implemented by a single gateway service and the service has no routes that are not part of the API, then the API can be linked to the service. For cases where an API is implemented by multiple gateway services, only a subset of routes in one or more gateway services, or API operations need to be made available for API packages, then the API should be linked to the control plane that defines the routes that overlap with the API. requestBody: $ref: '#/components/requestBodies/CreateApiImplementationRequest' responses: '201': $ref: '#/components/responses/ApiImplementationResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' '409': $ref: '#/components/responses/ApiImplementationConflict' tags: - API Implementation '/v3/apis/{apiId}/implementations/{implementationId}': parameters: - $ref: '#/components/parameters/ApiId' - $ref: '#/components/parameters/ImplementationId' get: x-speakeasy-entity-operation: terraform-resource: ApiImplementation#read terraform-datasource: null operationId: fetch-api-implementation summary: Get an API Implementation description: Retrieve a gateway implementation for this API responses: '200': $ref: '#/components/responses/ApiImplementationResponse' '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Implementation delete: x-speakeasy-entity-operation: terraform-resource: ApiImplementation#delete terraform-datasource: null operationId: delete-api-implementation summary: Delete API Implementation description: Unlink a gateway implementation from this API responses: '204': description: API implementation was unlinked successfully. '401': $ref: '#/components/responses/ApiUnauthorized' '403': $ref: '#/components/responses/ApiForbidden' '404': $ref: '#/components/responses/ApiNotFound' tags: - API Implementation '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshaccesslogs/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshAccessLog#get terraform-datasource: null operationId: getMeshAccessLog summary: Returns MeshAccessLog entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshAccessLog required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshAccessLogItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshAccessLog x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshAccessLog#create,update' terraform-datasource: null operationId: putMeshAccessLog summary: Creates or Updates MeshAccessLog entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshAccessLog required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshAccessLogItem' responses: '200': $ref: '#/components/responses/MeshAccessLogCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshAccessLogCreateOrUpdateSuccessResponse' tags: - MeshAccessLog x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshAccessLog#delete terraform-datasource: null operationId: deleteMeshAccessLog summary: Deletes MeshAccessLog entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshAccessLog required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshAccessLogDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshAccessLog x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshaccesslogs': get: x-speakeasy-entity-operation: terraform-resource: MeshAccessLogList#get terraform-datasource: null operationId: getMeshAccessLogList summary: Returns a list of MeshAccessLog in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshAccessLogList' tags: - MeshAccessLog x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshcircuitbreakers/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshCircuitBreaker#get terraform-datasource: null operationId: getMeshCircuitBreaker summary: Returns MeshCircuitBreaker entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshCircuitBreaker required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshCircuitBreakerItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshCircuitBreaker x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshCircuitBreaker#create,update' terraform-datasource: null operationId: putMeshCircuitBreaker summary: Creates or Updates MeshCircuitBreaker entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshCircuitBreaker required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshCircuitBreakerItem' responses: '200': $ref: '#/components/responses/MeshCircuitBreakerCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshCircuitBreakerCreateOrUpdateSuccessResponse' tags: - MeshCircuitBreaker x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshCircuitBreaker#delete terraform-datasource: null operationId: deleteMeshCircuitBreaker summary: Deletes MeshCircuitBreaker entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshCircuitBreaker required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshCircuitBreakerDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshCircuitBreaker x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshcircuitbreakers': get: x-speakeasy-entity-operation: terraform-resource: MeshCircuitBreakerList#get terraform-datasource: null operationId: getMeshCircuitBreakerList summary: Returns a list of MeshCircuitBreaker in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshCircuitBreakerList' tags: - MeshCircuitBreaker x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshfaultinjections/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshFaultInjection#get terraform-datasource: null operationId: getMeshFaultInjection summary: Returns MeshFaultInjection entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshFaultInjection required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshFaultInjectionItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshFaultInjection x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshFaultInjection#create,update' terraform-datasource: null operationId: putMeshFaultInjection summary: Creates or Updates MeshFaultInjection entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshFaultInjection required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshFaultInjectionItem' responses: '200': $ref: '#/components/responses/MeshFaultInjectionCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshFaultInjectionCreateOrUpdateSuccessResponse' tags: - MeshFaultInjection x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshFaultInjection#delete terraform-datasource: null operationId: deleteMeshFaultInjection summary: Deletes MeshFaultInjection entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshFaultInjection required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshFaultInjectionDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshFaultInjection x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshfaultinjections': get: x-speakeasy-entity-operation: terraform-resource: MeshFaultInjectionList#get terraform-datasource: null operationId: getMeshFaultInjectionList summary: Returns a list of MeshFaultInjection in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshFaultInjectionList' tags: - MeshFaultInjection x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshhealthchecks/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshHealthCheck#get terraform-datasource: null operationId: getMeshHealthCheck summary: Returns MeshHealthCheck entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshHealthCheck required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshHealthCheckItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshHealthCheck x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshHealthCheck#create,update' terraform-datasource: null operationId: putMeshHealthCheck summary: Creates or Updates MeshHealthCheck entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshHealthCheck required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshHealthCheckItem' responses: '200': $ref: '#/components/responses/MeshHealthCheckCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshHealthCheckCreateOrUpdateSuccessResponse' tags: - MeshHealthCheck x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshHealthCheck#delete terraform-datasource: null operationId: deleteMeshHealthCheck summary: Deletes MeshHealthCheck entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshHealthCheck required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshHealthCheckDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshHealthCheck x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshhealthchecks': get: x-speakeasy-entity-operation: terraform-resource: MeshHealthCheckList#get terraform-datasource: null operationId: getMeshHealthCheckList summary: Returns a list of MeshHealthCheck in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshHealthCheckList' tags: - MeshHealthCheck x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshhttproutes/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshHTTPRoute#get terraform-datasource: null operationId: getMeshHTTPRoute summary: Returns MeshHTTPRoute entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshHTTPRoute required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshHTTPRouteItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshHTTPRoute x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshHTTPRoute#create,update' terraform-datasource: null operationId: putMeshHTTPRoute summary: Creates or Updates MeshHTTPRoute entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshHTTPRoute required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshHTTPRouteItem' responses: '200': $ref: '#/components/responses/MeshHTTPRouteCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshHTTPRouteCreateOrUpdateSuccessResponse' tags: - MeshHTTPRoute x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshHTTPRoute#delete terraform-datasource: null operationId: deleteMeshHTTPRoute summary: Deletes MeshHTTPRoute entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshHTTPRoute required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshHTTPRouteDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshHTTPRoute x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshhttproutes': get: x-speakeasy-entity-operation: terraform-resource: MeshHTTPRouteList#get terraform-datasource: null operationId: getMeshHTTPRouteList summary: Returns a list of MeshHTTPRoute in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshHTTPRouteList' tags: - MeshHTTPRoute x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshloadbalancingstrategies/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshLoadBalancingStrategy#get terraform-datasource: null operationId: getMeshLoadBalancingStrategy summary: Returns MeshLoadBalancingStrategy entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshLoadBalancingStrategy required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshLoadBalancingStrategyItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshLoadBalancingStrategy x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshLoadBalancingStrategy#create,update' terraform-datasource: null operationId: putMeshLoadBalancingStrategy summary: Creates or Updates MeshLoadBalancingStrategy entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshLoadBalancingStrategy required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshLoadBalancingStrategyItem' responses: '200': $ref: '#/components/responses/MeshLoadBalancingStrategyCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshLoadBalancingStrategyCreateOrUpdateSuccessResponse' tags: - MeshLoadBalancingStrategy x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshLoadBalancingStrategy#delete terraform-datasource: null operationId: deleteMeshLoadBalancingStrategy summary: Deletes MeshLoadBalancingStrategy entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshLoadBalancingStrategy required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshLoadBalancingStrategyDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshLoadBalancingStrategy x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshloadbalancingstrategies': get: x-speakeasy-entity-operation: terraform-resource: MeshLoadBalancingStrategyList#get terraform-datasource: null operationId: getMeshLoadBalancingStrategyList summary: Returns a list of MeshLoadBalancingStrategy in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshLoadBalancingStrategyList' tags: - MeshLoadBalancingStrategy x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshmetrics/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshMetric#get terraform-datasource: null operationId: getMeshMetric summary: Returns MeshMetric entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshMetric required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshMetricItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshMetric x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshMetric#create,update' terraform-datasource: null operationId: putMeshMetric summary: Creates or Updates MeshMetric entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshMetric required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshMetricItem' responses: '200': $ref: '#/components/responses/MeshMetricCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshMetricCreateOrUpdateSuccessResponse' tags: - MeshMetric x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshMetric#delete terraform-datasource: null operationId: deleteMeshMetric summary: Deletes MeshMetric entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshMetric required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshMetricDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshMetric x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshmetrics': get: x-speakeasy-entity-operation: terraform-resource: MeshMetricList#get terraform-datasource: null operationId: getMeshMetricList summary: Returns a list of MeshMetric in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshMetricList' tags: - MeshMetric x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshpassthroughs/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshPassthrough#get terraform-datasource: null operationId: getMeshPassthrough summary: Returns MeshPassthrough entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshPassthrough required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshPassthroughItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshPassthrough x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshPassthrough#create,update' terraform-datasource: null operationId: putMeshPassthrough summary: Creates or Updates MeshPassthrough entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshPassthrough required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshPassthroughItem' responses: '200': $ref: '#/components/responses/MeshPassthroughCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshPassthroughCreateOrUpdateSuccessResponse' tags: - MeshPassthrough x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshPassthrough#delete terraform-datasource: null operationId: deleteMeshPassthrough summary: Deletes MeshPassthrough entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshPassthrough required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshPassthroughDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshPassthrough x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshpassthroughs': get: x-speakeasy-entity-operation: terraform-resource: MeshPassthroughList#get terraform-datasource: null operationId: getMeshPassthroughList summary: Returns a list of MeshPassthrough in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshPassthroughList' tags: - MeshPassthrough x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshproxypatches/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshProxyPatch#get terraform-datasource: null operationId: getMeshProxyPatch summary: Returns MeshProxyPatch entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshProxyPatch required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshProxyPatchItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshProxyPatch x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshProxyPatch#create,update' terraform-datasource: null operationId: putMeshProxyPatch summary: Creates or Updates MeshProxyPatch entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshProxyPatch required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshProxyPatchItem' responses: '200': $ref: '#/components/responses/MeshProxyPatchCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshProxyPatchCreateOrUpdateSuccessResponse' tags: - MeshProxyPatch x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshProxyPatch#delete terraform-datasource: null operationId: deleteMeshProxyPatch summary: Deletes MeshProxyPatch entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshProxyPatch required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshProxyPatchDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshProxyPatch x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshproxypatches': get: x-speakeasy-entity-operation: terraform-resource: MeshProxyPatchList#get terraform-datasource: null operationId: getMeshProxyPatchList summary: Returns a list of MeshProxyPatch in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshProxyPatchList' tags: - MeshProxyPatch x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshratelimits/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshRateLimit#get terraform-datasource: null operationId: getMeshRateLimit summary: Returns MeshRateLimit entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshRateLimit required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshRateLimitItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshRateLimit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshRateLimit#create,update' terraform-datasource: null operationId: putMeshRateLimit summary: Creates or Updates MeshRateLimit entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshRateLimit required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshRateLimitItem' responses: '200': $ref: '#/components/responses/MeshRateLimitCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshRateLimitCreateOrUpdateSuccessResponse' tags: - MeshRateLimit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshRateLimit#delete terraform-datasource: null operationId: deleteMeshRateLimit summary: Deletes MeshRateLimit entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshRateLimit required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshRateLimitDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshRateLimit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshratelimits': get: x-speakeasy-entity-operation: terraform-resource: MeshRateLimitList#get terraform-datasource: null operationId: getMeshRateLimitList summary: Returns a list of MeshRateLimit in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshRateLimitList' tags: - MeshRateLimit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshretries/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshRetry#get terraform-datasource: null operationId: getMeshRetry summary: Returns MeshRetry entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshRetry required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshRetryItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshRetry x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshRetry#create,update' terraform-datasource: null operationId: putMeshRetry summary: Creates or Updates MeshRetry entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshRetry required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshRetryItem' responses: '200': $ref: '#/components/responses/MeshRetryCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshRetryCreateOrUpdateSuccessResponse' tags: - MeshRetry x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshRetry#delete terraform-datasource: null operationId: deleteMeshRetry summary: Deletes MeshRetry entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshRetry required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshRetryDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshRetry x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshretries': get: x-speakeasy-entity-operation: terraform-resource: MeshRetryList#get terraform-datasource: null operationId: getMeshRetryList summary: Returns a list of MeshRetry in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshRetryList' tags: - MeshRetry x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtcproutes/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshTCPRoute#get terraform-datasource: null operationId: getMeshTCPRoute summary: Returns MeshTCPRoute entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTCPRoute required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTCPRouteItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshTCPRoute x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshTCPRoute#create,update' terraform-datasource: null operationId: putMeshTCPRoute summary: Creates or Updates MeshTCPRoute entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTCPRoute required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshTCPRouteItem' responses: '200': $ref: '#/components/responses/MeshTCPRouteCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshTCPRouteCreateOrUpdateSuccessResponse' tags: - MeshTCPRoute x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshTCPRoute#delete terraform-datasource: null operationId: deleteMeshTCPRoute summary: Deletes MeshTCPRoute entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTCPRoute required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTCPRouteDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshTCPRoute x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtcproutes': get: x-speakeasy-entity-operation: terraform-resource: MeshTCPRouteList#get terraform-datasource: null operationId: getMeshTCPRouteList summary: Returns a list of MeshTCPRoute in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTCPRouteList' tags: - MeshTCPRoute x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtimeouts/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshTimeout#get terraform-datasource: null operationId: getMeshTimeout summary: Returns MeshTimeout entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTimeout required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTimeoutItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshTimeout x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshTimeout#create,update' terraform-datasource: null operationId: putMeshTimeout summary: Creates or Updates MeshTimeout entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTimeout required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshTimeoutItem' responses: '200': $ref: '#/components/responses/MeshTimeoutCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshTimeoutCreateOrUpdateSuccessResponse' tags: - MeshTimeout x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshTimeout#delete terraform-datasource: null operationId: deleteMeshTimeout summary: Deletes MeshTimeout entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTimeout required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTimeoutDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshTimeout x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtimeouts': get: x-speakeasy-entity-operation: terraform-resource: MeshTimeoutList#get terraform-datasource: null operationId: getMeshTimeoutList summary: Returns a list of MeshTimeout in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTimeoutList' tags: - MeshTimeout x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtlses/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshTLS#get terraform-datasource: null operationId: getMeshTLS summary: Returns MeshTLS entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTLS required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTLSItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshTLS x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshTLS#create,update' terraform-datasource: null operationId: putMeshTLS summary: Creates or Updates MeshTLS entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTLS required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshTLSItem' responses: '200': $ref: '#/components/responses/MeshTLSCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshTLSCreateOrUpdateSuccessResponse' tags: - MeshTLS x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshTLS#delete terraform-datasource: null operationId: deleteMeshTLS summary: Deletes MeshTLS entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTLS required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTLSDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshTLS x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtlses': get: x-speakeasy-entity-operation: terraform-resource: MeshTLSList#get terraform-datasource: null operationId: getMeshTLSList summary: Returns a list of MeshTLS in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTLSList' tags: - MeshTLS x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtraces/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshTrace#get terraform-datasource: null operationId: getMeshTrace summary: Returns MeshTrace entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTrace required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTraceItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshTrace x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshTrace#create,update' terraform-datasource: null operationId: putMeshTrace summary: Creates or Updates MeshTrace entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTrace required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshTraceItem' responses: '200': $ref: '#/components/responses/MeshTraceCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshTraceCreateOrUpdateSuccessResponse' tags: - MeshTrace x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshTrace#delete terraform-datasource: null operationId: deleteMeshTrace summary: Deletes MeshTrace entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTrace required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTraceDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshTrace x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtraces': get: x-speakeasy-entity-operation: terraform-resource: MeshTraceList#get terraform-datasource: null operationId: getMeshTraceList summary: Returns a list of MeshTrace in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTraceList' tags: - MeshTrace x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtrafficpermissions/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshTrafficPermission#get terraform-datasource: null operationId: getMeshTrafficPermission summary: Returns MeshTrafficPermission entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTrafficPermission required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTrafficPermissionItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshTrafficPermission x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshTrafficPermission#create,update' terraform-datasource: null operationId: putMeshTrafficPermission summary: Creates or Updates MeshTrafficPermission entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTrafficPermission required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshTrafficPermissionItem' responses: '200': $ref: '#/components/responses/MeshTrafficPermissionCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshTrafficPermissionCreateOrUpdateSuccessResponse' tags: - MeshTrafficPermission x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshTrafficPermission#delete terraform-datasource: null operationId: deleteMeshTrafficPermission summary: Deletes MeshTrafficPermission entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTrafficPermission required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTrafficPermissionDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshTrafficPermission x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtrafficpermissions': get: x-speakeasy-entity-operation: terraform-resource: MeshTrafficPermissionList#get terraform-datasource: null operationId: getMeshTrafficPermissionList summary: Returns a list of MeshTrafficPermission in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTrafficPermissionList' tags: - MeshTrafficPermission x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes': get: x-speakeasy-entity-operation: terraform-resource: MeshList#get terraform-datasource: null operationId: getMeshList summary: Returns a list of Mesh in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns responses: '200': $ref: '#/components/responses/MeshList' tags: - Mesh x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{name}': delete: x-speakeasy-entity-operation: terraform-resource: Mesh#delete terraform-datasource: null operationId: deleteMesh summary: Deletes Mesh entity parameters: - name: name in: path description: name of the Mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - Mesh x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 get: x-speakeasy-entity-operation: terraform-resource: Mesh#get terraform-datasource: null operationId: getMesh summary: Returns Mesh entity parameters: - name: name in: path description: name of the Mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshItem' '404': $ref: '#/components/responses/NotFound' tags: - Mesh x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'Mesh#create,update' terraform-datasource: null operationId: putMesh summary: Creates or Updates Mesh entity parameters: - name: name in: path description: name of the Mesh required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshItem' responses: '200': $ref: '#/components/responses/MeshCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshCreateOrUpdateSuccessResponse' tags: - Mesh x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshgateways': get: x-speakeasy-entity-operation: terraform-resource: MeshGatewayList#get terraform-datasource: null operationId: getMeshGatewayList summary: Returns a list of MeshGateway in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshGatewayList' tags: - MeshGateway x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshgateways/{name}': delete: x-speakeasy-entity-operation: terraform-resource: MeshGateway#delete terraform-datasource: null operationId: deleteMeshGateway summary: Deletes MeshGateway entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshGateway required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshGatewayDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshGateway x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 get: x-speakeasy-entity-operation: terraform-resource: MeshGateway#get terraform-datasource: null operationId: getMeshGateway summary: Returns MeshGateway entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshGateway required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshGatewayItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshGateway x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshGateway#create,update' terraform-datasource: null operationId: putMeshGateway summary: Creates or Updates MeshGateway entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshGateway required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshGatewayItem' responses: '200': $ref: '#/components/responses/MeshGatewayCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshGatewayCreateOrUpdateSuccessResponse' tags: - MeshGateway x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/secrets': get: x-speakeasy-entity-operation: terraform-resource: MeshSecretList#get terraform-datasource: null operationId: getSecretList summary: Returns a list of Secret in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/SecretList' tags: - Secret x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/secrets/{name}': delete: x-speakeasy-entity-operation: terraform-resource: MeshSecret#delete terraform-datasource: null operationId: deleteSecret summary: Deletes Secret entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the Secret required: true schema: type: string responses: '200': $ref: '#/components/responses/SecretDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - Secret x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 get: x-speakeasy-entity-operation: terraform-resource: MeshSecret#get terraform-datasource: null operationId: getSecret summary: Returns Secret entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the Secret required: true schema: type: string responses: '200': $ref: '#/components/responses/SecretItem' '404': $ref: '#/components/responses/NotFound' tags: - Secret x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshSecret#create,update' terraform-datasource: null operationId: putSecret summary: Creates or Updates Secret entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the Secret required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/SecretItem' responses: '200': $ref: '#/components/responses/SecretCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/SecretCreateOrUpdateSuccessResponse' tags: - Secret x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/zoneegresses': get: x-speakeasy-entity-operation: terraform-resource: MeshZoneEgressList#get terraform-datasource: null operationId: getZoneEgressList summary: Returns a list of ZoneEgress in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns responses: '200': $ref: '#/components/responses/ZoneEgressList' tags: - ZoneEgress x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/zoneegresses/{name}': delete: x-speakeasy-entity-operation: terraform-resource: MeshZoneEgress#delete terraform-datasource: null operationId: deleteZoneEgress summary: Deletes ZoneEgress entity parameters: - name: name in: path description: name of the ZoneEgress required: true schema: type: string responses: '200': $ref: '#/components/responses/ZoneEgressDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - ZoneEgress x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 get: x-speakeasy-entity-operation: terraform-resource: MeshZoneEgress#get terraform-datasource: null operationId: getZoneEgress summary: Returns ZoneEgress entity parameters: - name: name in: path description: name of the ZoneEgress required: true schema: type: string responses: '200': $ref: '#/components/responses/ZoneEgressItem' '404': $ref: '#/components/responses/NotFound' tags: - ZoneEgress x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshZoneEgress#create,update' terraform-datasource: null operationId: putZoneEgress summary: Creates or Updates ZoneEgress entity parameters: - name: name in: path description: name of the ZoneEgress required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/ZoneEgressItem' responses: '200': $ref: '#/components/responses/ZoneEgressCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/ZoneEgressCreateOrUpdateSuccessResponse' tags: - ZoneEgress x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/zoneingresses': get: x-speakeasy-entity-operation: terraform-resource: MeshZoneIngressList#get terraform-datasource: null operationId: getZoneIngressList summary: Returns a list of ZoneIngress in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns responses: '200': $ref: '#/components/responses/ZoneIngressList' tags: - ZoneIngress x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/zoneingresses/{name}': delete: x-speakeasy-entity-operation: terraform-resource: MeshZoneIngress#delete terraform-datasource: null operationId: deleteZoneIngress summary: Deletes ZoneIngress entity parameters: - name: name in: path description: name of the ZoneIngress required: true schema: type: string responses: '200': $ref: '#/components/responses/ZoneIngressDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - ZoneIngress x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 get: x-speakeasy-entity-operation: terraform-resource: MeshZoneIngress#get terraform-datasource: null operationId: getZoneIngress summary: Returns ZoneIngress entity parameters: - name: name in: path description: name of the ZoneIngress required: true schema: type: string responses: '200': $ref: '#/components/responses/ZoneIngressItem' '404': $ref: '#/components/responses/NotFound' tags: - ZoneIngress x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshZoneIngress#create,update' terraform-datasource: null operationId: putZoneIngress summary: Creates or Updates ZoneIngress entity parameters: - name: name in: path description: name of the ZoneIngress required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/ZoneIngressItem' responses: '200': $ref: '#/components/responses/ZoneIngressCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/ZoneIngressCreateOrUpdateSuccessResponse' tags: - ZoneIngress x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/hostnamegenerators/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshHostnameGenerator#get terraform-datasource: null operationId: getHostnameGenerator summary: Returns HostnameGenerator entity parameters: - name: name in: path description: name of the HostnameGenerator required: true schema: type: string responses: '200': $ref: '#/components/responses/HostnameGeneratorItem' '404': $ref: '#/components/responses/NotFound' tags: - HostnameGenerator x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshHostnameGenerator#create,update' terraform-datasource: null operationId: putHostnameGenerator summary: Creates or Updates HostnameGenerator entity parameters: - name: name in: path description: name of the HostnameGenerator required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/HostnameGeneratorItem' responses: '200': $ref: '#/components/responses/HostnameGeneratorCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/HostnameGeneratorCreateOrUpdateSuccessResponse' tags: - HostnameGenerator x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshHostnameGenerator#delete terraform-datasource: null operationId: deleteHostnameGenerator summary: Deletes HostnameGenerator entity parameters: - name: name in: path description: name of the HostnameGenerator required: true schema: type: string responses: '200': $ref: '#/components/responses/HostnameGeneratorDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - HostnameGenerator x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/hostnamegenerators': get: x-speakeasy-entity-operation: terraform-resource: MeshHostnameGeneratorList#get terraform-datasource: null operationId: getHostnameGeneratorList summary: Returns a list of HostnameGenerator in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns responses: '200': $ref: '#/components/responses/HostnameGeneratorList' tags: - HostnameGenerator x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshexternalservices/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshExternalService#get terraform-datasource: null operationId: getMeshExternalService summary: Returns MeshExternalService entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshExternalService required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshExternalServiceItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshExternalService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshExternalService#create,update' terraform-datasource: null operationId: putMeshExternalService summary: Creates or Updates MeshExternalService entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshExternalService required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshExternalServiceItem' responses: '200': $ref: '#/components/responses/MeshExternalServiceCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshExternalServiceCreateOrUpdateSuccessResponse' tags: - MeshExternalService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshExternalService#delete terraform-datasource: null operationId: deleteMeshExternalService summary: Deletes MeshExternalService entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshExternalService required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshExternalServiceDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshExternalService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshexternalservices': get: x-speakeasy-entity-operation: terraform-resource: MeshExternalServiceList#get terraform-datasource: null operationId: getMeshExternalServiceList summary: Returns a list of MeshExternalService in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshExternalServiceList' tags: - MeshExternalService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshidentities/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshIdentity#get terraform-datasource: null operationId: getMeshIdentity summary: Returns MeshIdentity entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshIdentity required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshIdentityItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshIdentity x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshIdentity#create,update' terraform-datasource: null operationId: putMeshIdentity summary: Creates or Updates MeshIdentity entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshIdentity required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshIdentityItem' responses: '200': $ref: '#/components/responses/MeshIdentityCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshIdentityCreateOrUpdateSuccessResponse' tags: - MeshIdentity x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshIdentity#delete terraform-datasource: null operationId: deleteMeshIdentity summary: Deletes MeshIdentity entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshIdentity required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshIdentityDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshIdentity x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshidentities': get: x-speakeasy-entity-operation: terraform-resource: MeshIdentityList#get terraform-datasource: null operationId: getMeshIdentityList summary: Returns a list of MeshIdentity in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshIdentityList' tags: - MeshIdentity x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshmultizoneservices/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshMultiZoneService#get terraform-datasource: null operationId: getMeshMultiZoneService summary: Returns MeshMultiZoneService entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshMultiZoneService required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshMultiZoneServiceItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshMultiZoneService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshMultiZoneService#create,update' terraform-datasource: null operationId: putMeshMultiZoneService summary: Creates or Updates MeshMultiZoneService entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshMultiZoneService required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshMultiZoneServiceItem' responses: '200': $ref: '#/components/responses/MeshMultiZoneServiceCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshMultiZoneServiceCreateOrUpdateSuccessResponse' tags: - MeshMultiZoneService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshMultiZoneService#delete terraform-datasource: null operationId: deleteMeshMultiZoneService summary: Deletes MeshMultiZoneService entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshMultiZoneService required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshMultiZoneServiceDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshMultiZoneService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshmultizoneservices': get: x-speakeasy-entity-operation: terraform-resource: MeshMultiZoneServiceList#get terraform-datasource: null operationId: getMeshMultiZoneServiceList summary: Returns a list of MeshMultiZoneService in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshMultiZoneServiceList' tags: - MeshMultiZoneService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshservices/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshService#get terraform-datasource: null operationId: getMeshService summary: Returns MeshService entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshService required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshServiceItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshService#create,update' terraform-datasource: null operationId: putMeshService summary: Creates or Updates MeshService entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshService required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshServiceItem' responses: '200': $ref: '#/components/responses/MeshServiceCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshServiceCreateOrUpdateSuccessResponse' tags: - MeshService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshService#delete terraform-datasource: null operationId: deleteMeshService summary: Deletes MeshService entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshService required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshServiceDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshservices': get: x-speakeasy-entity-operation: terraform-resource: MeshServiceList#get terraform-datasource: null operationId: getMeshServiceList summary: Returns a list of MeshService in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshServiceList' tags: - MeshService x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtrusts/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshTrust#get terraform-datasource: null operationId: getMeshTrust summary: Returns MeshTrust entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTrust required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTrustItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshTrust x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshTrust#create,update' terraform-datasource: null operationId: putMeshTrust summary: Creates or Updates MeshTrust entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTrust required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshTrustItem' responses: '200': $ref: '#/components/responses/MeshTrustCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshTrustCreateOrUpdateSuccessResponse' tags: - MeshTrust x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshTrust#delete terraform-datasource: null operationId: deleteMeshTrust summary: Deletes MeshTrust entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshTrust required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTrustDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshTrust x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshtrusts': get: x-speakeasy-entity-operation: terraform-resource: MeshTrustList#get terraform-datasource: null operationId: getMeshTrustList summary: Returns a list of MeshTrust in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshTrustList' tags: - MeshTrust x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/workloads/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshWorkload#get terraform-datasource: null operationId: getWorkload summary: Returns Workload entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the Workload required: true schema: type: string responses: '200': $ref: '#/components/responses/WorkloadItem' '404': $ref: '#/components/responses/NotFound' tags: - Workload x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshWorkload#create,update' terraform-datasource: null operationId: putWorkload summary: Creates or Updates Workload entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the Workload required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/WorkloadItem' responses: '200': $ref: '#/components/responses/WorkloadCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/WorkloadCreateOrUpdateSuccessResponse' tags: - Workload x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshWorkload#delete terraform-datasource: null operationId: deleteWorkload summary: Deletes Workload entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the Workload required: true schema: type: string responses: '200': $ref: '#/components/responses/WorkloadDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - Workload x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/workloads': get: x-speakeasy-entity-operation: terraform-resource: MeshWorkloadList#get terraform-datasource: null operationId: getWorkloadList summary: Returns a list of Workload in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/WorkloadList' tags: - Workload x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshglobalratelimits/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshGlobalRateLimit#get terraform-datasource: null operationId: getMeshGlobalRateLimit summary: Returns MeshGlobalRateLimit entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshGlobalRateLimit required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshGlobalRateLimitItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshGlobalRateLimit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshGlobalRateLimit#create,update' terraform-datasource: null operationId: putMeshGlobalRateLimit summary: Creates or Updates MeshGlobalRateLimit entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshGlobalRateLimit required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshGlobalRateLimitItem' responses: '200': $ref: '#/components/responses/MeshGlobalRateLimitCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshGlobalRateLimitCreateOrUpdateSuccessResponse' tags: - MeshGlobalRateLimit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshGlobalRateLimit#delete terraform-datasource: null operationId: deleteMeshGlobalRateLimit summary: Deletes MeshGlobalRateLimit entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshGlobalRateLimit required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshGlobalRateLimitDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshGlobalRateLimit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshglobalratelimits': get: x-speakeasy-entity-operation: terraform-resource: MeshGlobalRateLimitList#get terraform-datasource: null operationId: getMeshGlobalRateLimitList summary: Returns a list of MeshGlobalRateLimit in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshGlobalRateLimitList' tags: - MeshGlobalRateLimit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshopas/{name}': get: x-speakeasy-entity-operation: terraform-resource: MeshOPA#get terraform-datasource: null operationId: getMeshOPA summary: Returns MeshOPA entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshOPA required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshOPAItem' '404': $ref: '#/components/responses/NotFound' tags: - MeshOPA x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshOPA#create,update' terraform-datasource: null operationId: putMeshOPA summary: Creates or Updates MeshOPA entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshOPA required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/MeshOPAItem' responses: '200': $ref: '#/components/responses/MeshOPACreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/MeshOPACreateOrUpdateSuccessResponse' tags: - MeshOPA x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshOPA#delete terraform-datasource: null operationId: deleteMeshOPA summary: Deletes MeshOPA entity parameters: - name: mesh in: path description: name of the mesh required: true schema: type: string - name: name in: path description: name of the MeshOPA required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshOPADeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - MeshOPA x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/meshes/{mesh}/meshopas': get: x-speakeasy-entity-operation: terraform-resource: MeshOPAList#get terraform-datasource: null operationId: getMeshOPAList summary: Returns a list of MeshOPA in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns - name: mesh in: path description: name of the mesh required: true schema: type: string responses: '200': $ref: '#/components/responses/MeshOPAList' tags: - MeshOPA x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/accessaudits': get: x-speakeasy-entity-operation: terraform-resource: MeshAccessAuditList#get terraform-datasource: null operationId: getAccessAuditList summary: Returns a list of AccessAudit in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns responses: '200': $ref: '#/components/responses/AccessAuditList' tags: - AccessAudit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/accessaudits/{name}': delete: x-speakeasy-entity-operation: terraform-resource: MeshAccessAudit#delete terraform-datasource: null operationId: deleteAccessAudit summary: Deletes AccessAudit entity parameters: - name: name in: path description: name of the AccessAudit required: true schema: type: string responses: '200': $ref: '#/components/responses/AccessAuditDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - AccessAudit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 get: x-speakeasy-entity-operation: terraform-resource: MeshAccessAudit#get terraform-datasource: null operationId: getAccessAudit summary: Returns AccessAudit entity parameters: - name: name in: path description: name of the AccessAudit required: true schema: type: string responses: '200': $ref: '#/components/responses/AccessAuditItem' '404': $ref: '#/components/responses/NotFound' tags: - AccessAudit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshAccessAudit#create,update' terraform-datasource: null operationId: putAccessAudit summary: Creates or Updates AccessAudit entity parameters: - name: name in: path description: name of the AccessAudit required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/AccessAuditItem' responses: '200': $ref: '#/components/responses/AccessAuditCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/AccessAuditCreateOrUpdateSuccessResponse' tags: - AccessAudit x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/access-roles': get: x-speakeasy-entity-operation: terraform-resource: MeshAccessRoleList#get terraform-datasource: null operationId: getAccessRoleList summary: Returns a list of AccessRole in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns responses: '200': $ref: '#/components/responses/AccessRoleList' tags: - AccessRole x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/access-roles/{name}': delete: x-speakeasy-entity-operation: terraform-resource: MeshAccessRole#delete terraform-datasource: null operationId: deleteAccessRole summary: Deletes AccessRole entity parameters: - name: name in: path description: name of the AccessRole required: true schema: type: string responses: '200': $ref: '#/components/responses/AccessRoleDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - AccessRole x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 get: x-speakeasy-entity-operation: terraform-resource: MeshAccessRole#get terraform-datasource: null operationId: getAccessRole summary: Returns AccessRole entity parameters: - name: name in: path description: name of the AccessRole required: true schema: type: string responses: '200': $ref: '#/components/responses/AccessRoleItem' '404': $ref: '#/components/responses/NotFound' tags: - AccessRole x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshAccessRole#create,update' terraform-datasource: null operationId: putAccessRole summary: Creates or Updates AccessRole entity parameters: - name: name in: path description: name of the AccessRole required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/AccessRoleItem' responses: '200': $ref: '#/components/responses/AccessRoleCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/AccessRoleCreateOrUpdateSuccessResponse' tags: - AccessRole x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/access-role-bindings': get: x-speakeasy-entity-operation: terraform-resource: MeshAccessRoleBindingList#get terraform-datasource: null operationId: getAccessRoleBindingList summary: Returns a list of AccessRoleBinding in the mesh. parameters: - name: offset in: query description: offset in the list of entities required: false schema: type: integer example: 0 - name: size in: query description: the number of items per page required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 - name: filter in: query description: 'filter by labels when multiple filters are present, they are ANDed' required: false schema: type: object properties: key: type: string value: type: string example: label.k8s.kuma.io/namespace: my-ns responses: '200': $ref: '#/components/responses/AccessRoleBindingList' tags: - AccessRoleBinding x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' '/v1/mesh/control-planes/{cpId}/api/access-role-bindings/{name}': delete: x-speakeasy-entity-operation: terraform-resource: MeshAccessRoleBinding#delete terraform-datasource: null operationId: deleteAccessRoleBinding summary: Deletes AccessRoleBinding entity parameters: - name: name in: path description: name of the AccessRoleBinding required: true schema: type: string responses: '200': $ref: '#/components/responses/AccessRoleBindingDeleteSuccessResponse' '404': $ref: '#/components/responses/NotFound' tags: - AccessRoleBinding x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 get: x-speakeasy-entity-operation: terraform-resource: MeshAccessRoleBinding#get terraform-datasource: null operationId: getAccessRoleBinding summary: Returns AccessRoleBinding entity parameters: - name: name in: path description: name of the AccessRoleBinding required: true schema: type: string responses: '200': $ref: '#/components/responses/AccessRoleBindingItem' '404': $ref: '#/components/responses/NotFound' tags: - AccessRoleBinding x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 put: x-speakeasy-entity-operation: terraform-resource: 'MeshAccessRoleBinding#create,update' terraform-datasource: null operationId: putAccessRoleBinding summary: Creates or Updates AccessRoleBinding entity parameters: - name: name in: path description: name of the AccessRoleBinding required: true schema: type: string requestBody: description: Put request required: true content: application/json: schema: $ref: '#/components/schemas/AccessRoleBindingItem' responses: '200': $ref: '#/components/responses/AccessRoleBindingCreateOrUpdateSuccessResponse' '201': $ref: '#/components/responses/AccessRoleBindingCreateOrUpdateSuccessResponse' tags: - AccessRoleBinding x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 parameters: - $ref: '#/components/parameters/cpId' /v1/mesh/control-planes: get: x-speakeasy-entity-operation: MeshControlPlanes#get operationId: list-mesh-control-planes summary: List Control Planes description: Returns an array of control planes objects. parameters: - $ref: '#/components/parameters/PageSize' - $ref: '#/components/parameters/PageNumber' responses: '200': $ref: '#/components/responses/ListMeshControlPlanesResponse' '401': $ref: '#/components/responses/MeshControlPlaneUnauthorizedError' '403': $ref: '#/components/responses/MeshControlPlaneForbiddenError' tags: - Mesh x-speakeasy-pagination: type: offsetLimit inputs: - name: 'page[number]' in: parameters type: page - name: 'page[size]' in: parameters type: limit outputs: results: $.data numPages: $.meta.page.total x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 post: x-speakeasy-entity-operation: terraform-resource: MeshControlPlane#create terraform-datasource: null operationId: create-cp summary: Create a new control plane description: Create a new control plane requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateMeshControlPlaneRequest' responses: '201': $ref: '#/components/responses/CreateMeshControlPlaneResponse' '400': $ref: '#/components/responses/CreateMeshControlPlaneValidationError' '401': $ref: '#/components/responses/MeshControlPlaneUnauthorizedError' '403': $ref: '#/components/responses/MeshControlPlaneForbiddenError' tags: - Mesh x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 '/v1/mesh/control-planes/{cpId}': parameters: - name: cpId in: path description: Id of the Konnect resource required: true schema: type: string format: uuid example: bf138ba2-c9b1-4229-b268-04d9d8a6410b x-speakeasy-match: id x-speakeasy-param-suppress-computed-diff: true get: x-speakeasy-entity-operation: terraform-resource: MeshControlPlane#read terraform-datasource: null operationId: get-mesh-control-plane summary: Get the control plane description: Get the control plane responses: '200': $ref: '#/components/responses/RetrieveMeshControlPlaneResponse' '401': $ref: '#/components/responses/MeshControlPlaneUnauthorizedError' '403': $ref: '#/components/responses/MeshControlPlaneForbiddenError' '404': $ref: '#/components/responses/MeshControlPlaneNotFoundError' tags: - Mesh x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 delete: x-speakeasy-entity-operation: terraform-resource: MeshControlPlane#delete terraform-datasource: null operationId: delete-mesh-control-plane summary: Delete the control plane description: Delete the control plane responses: '204': description: No Content '400': $ref: '#/components/responses/DeleteMeshControlPlaneValidationError' '401': $ref: '#/components/responses/MeshControlPlaneUnauthorizedError' '403': $ref: '#/components/responses/MeshControlPlaneForbiddenError' '404': $ref: '#/components/responses/MeshControlPlaneNotFoundError' tags: - Mesh x-speakeasy-retries: strategy: backoff backoff: initialInterval: 1000 maxInterval: 60000 maxElapsedTime: 360000 exponent: 2 statusCodes: - 400 retryConnectionErrors: true put: x-speakeasy-entity-operation: terraform-resource: MeshControlPlane#update terraform-datasource: null operationId: update-cp summary: Update a whole control plane description: Update a whole control plane requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PutMeshControlPlaneRequest' responses: '200': $ref: '#/components/responses/PutMeshControlPlaneResponse' '400': $ref: '#/components/responses/PutMeshControlPlaneValidationError' '401': $ref: '#/components/responses/MeshControlPlaneUnauthorizedError' '403': $ref: '#/components/responses/MeshControlPlaneForbiddenError' '404': $ref: '#/components/responses/MeshControlPlaneNotFoundError' tags: - Mesh x-speakeasy-retries: strategy: backoff backoff: initialInterval: 100 maxInterval: 500 maxElapsedTime: 500 retryConnectionErrors: true statusCodes: - 404 - 408 - 429 - 500 - 502 - 503 - 504 /v1/auth-servers: post: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServer#create terraform-datasource: null operationId: createAuthServer summary: Create a new auth server description: 'Create a new auth server. Each auth server has a unique, randomly generated, public issuer URL.' requestBody: $ref: '#/components/requestBodies/CreateAuthServer' responses: '201': $ref: '#/components/responses/AuthServer' '400': $ref: '#/components/responses/BadRequest' '409': $ref: '#/components/responses/Conflict' tags: - Auth Server '/v1/auth-servers/{authServerId}': parameters: - $ref: '#/components/parameters/authServerId' get: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServer#read terraform-datasource: null operationId: getAuthServer summary: Get an auth server description: Get an auth server. responses: '200': $ref: '#/components/responses/AuthServer' '404': $ref: '#/components/responses/NotFound' tags: - Auth Server patch: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServer#update terraform-datasource: null operationId: updateAuthServer summary: Update an auth server description: Update an auth server. requestBody: $ref: '#/components/requestBodies/UpdateAuthServer' responses: '200': $ref: '#/components/responses/AuthServer' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Auth Server delete: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServer#delete terraform-datasource: null operationId: deleteAuthServer summary: Delete an auth server description: 'Delete an auth server. If force=true, delete the auth server and all its associated resources. If force=false, only allow deletion if no resources are associated with the auth server. This action is irreversible.' parameters: - name: force in: query description: 'If true, delete the specified auth server and all its associated resources. If false, only allow deletion if no clients, scopes or claims are associated with the auth server.' schema: type: string default: 'false' enum: - 'true' - 'false' x-speakeasy-name-override: force_destroy responses: '204': description: Success '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' tags: - Auth Server '/v1/auth-servers/{authServerId}/claims': parameters: - $ref: '#/components/parameters/authServerIdForChildren' post: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerClaim#create terraform-datasource: null operationId: createAuthServerClaim summary: Create a new auth server claim description: 'Create a new claim for a given auth server. The `name` attribute will appear in the JWT access token as a claim with the given case-sensitive name. The `value` attribute will be used to populate the claim value in the JWT access token. The value can be templated, which allows you to use variables like `${ uuidv4 }` to generate dynamic values. Claim values are hydrated based on their types, which may include JSON.' requestBody: $ref: '#/components/requestBodies/CreateClaim' responses: '201': $ref: '#/components/responses/Claim' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' tags: - Auth Server Claims '/v1/auth-servers/{authServerId}/claims/{claimId}': parameters: - $ref: '#/components/parameters/authServerIdForChildren' - $ref: '#/components/parameters/claimId' get: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerClaim#read terraform-datasource: null operationId: getAuthServerClaim summary: Get an auth server claim description: Get a claim for given auth server. responses: '200': $ref: '#/components/responses/Claim' '404': $ref: '#/components/responses/NotFound' tags: - Auth Server Claims patch: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerClaim#update terraform-datasource: null operationId: updateAuthServerClaim summary: Update an auth server claim description: Update a claim for a given auth server. requestBody: $ref: '#/components/requestBodies/UpdateClaim' responses: '200': $ref: '#/components/responses/Claim' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' tags: - Auth Server Claims delete: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerClaim#delete terraform-datasource: null operationId: deleteAuthServerClaim summary: Delete an auth server claim description: 'Delete a claim for a given auth server. If the claim is included in any scopes, it will be removed from those scopes.' responses: '204': description: Success '404': $ref: '#/components/responses/NotFound' tags: - Auth Server Claims '/v1/auth-servers/{authServerId}/scopes': parameters: - $ref: '#/components/parameters/authServerIdForChildren' post: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerScope#create terraform-datasource: null operationId: createAuthServerScope summary: Create a new auth server scope description: Create a new scope for a given auth server. The `name` attribute must be unique within the auth server. requestBody: $ref: '#/components/requestBodies/CreateScope' responses: '201': $ref: '#/components/responses/Scope' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Auth Server Scopes '/v1/auth-servers/{authServerId}/scopes/{scopeId}': parameters: - $ref: '#/components/parameters/authServerIdForChildren' - $ref: '#/components/parameters/scopeId' get: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerScope#read terraform-datasource: null operationId: getAuthServerScope summary: Get an auth server scope description: Get a scope for given auth server. responses: '200': $ref: '#/components/responses/Scope' '404': $ref: '#/components/responses/NotFound' tags: - Auth Server Scopes patch: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerScope#update terraform-datasource: null operationId: updateAuthServerScope summary: Update an auth server scope description: Update a scope for a given auth server. requestBody: $ref: '#/components/requestBodies/UpdateScope' responses: '200': $ref: '#/components/responses/Scope' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Auth Server Scopes delete: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerScope#delete terraform-datasource: null operationId: deleteAuthServerScope summary: Delete an auth server scope description: 'Delete a scope for a given auth server. If the scope is included in any clients, it will be removed from those clients.' responses: '204': description: Success '404': $ref: '#/components/responses/NotFound' tags: - Auth Server Scopes '/v1/auth-servers/{authServerId}/clients': parameters: - $ref: '#/components/parameters/authServerIdForChildren' post: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerClient#create terraform-datasource: null operationId: createAuthServerClient summary: Create a new auth server client description: Create a new client for a given auth server. The client ID and secret will be generated automatically. The `name` attribute must be unique within the auth server. The `grant_types` and `response_types` attributes define the OAuth 2.0 and OpenID Connect capabilities of the client. requestBody: $ref: '#/components/requestBodies/CreateClient' responses: '201': $ref: '#/components/responses/CreatedClient' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Auth Server Clients '/v1/auth-servers/{authServerId}/clients/{clientId}': parameters: - $ref: '#/components/parameters/authServerIdForChildren' - $ref: '#/components/parameters/clientId' get: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerClient#read terraform-datasource: null operationId: getAuthServerClient summary: Get an auth server client description: Get a client for given auth server. responses: '200': $ref: '#/components/responses/Client' '404': $ref: '#/components/responses/NotFound' tags: - Auth Server Clients put: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerClient#update terraform-datasource: null operationId: replaceAuthServerClient summary: Replace an auth server client description: 'Replace a client for a given auth server. The client ID and secret can be provided to update an existing client, or to create a client with the matching ID and secret.' requestBody: $ref: '#/components/requestBodies/ReplaceClient' responses: '200': $ref: '#/components/responses/Client' '201': $ref: '#/components/responses/Client' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' tags: - Auth Server Clients delete: x-speakeasy-entity-operation: terraform-resource: IdentityAuthServerClient#delete terraform-datasource: null operationId: deleteAuthServerClient summary: Delete an auth server client description: Delete a client for a given auth server. All tokens associated with the client will also be deleted. This action is irreversible. responses: '204': description: Success '404': $ref: '#/components/responses/NotFound' tags: - Auth Server Clients /v2/dashboards: post: x-speakeasy-entity-operation: terraform-resource: Dashboard#create terraform-datasource: null operationId: dashboards-create summary: Create a new dashboard description: Creates a new dashboard from the provided definition. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DashboardUpdateRequest' responses: '201': description: 'The created dashboard, including generated fields.' content: application/json: schema: $ref: '#/components/schemas/DashboardResponse' '400': description: Bad request; returned when the request payload was not valid. content: application/problem+json: {} '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Dashboards '/v2/dashboards/{dashboardId}': parameters: - name: dashboardId in: path description: The dashboard's ID. required: true schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: Dashboard#read terraform-datasource: null operationId: dashboards-get summary: Get a single dashboard description: Get a dashboard that your account has access to. responses: '200': description: The dashboard with the given ID. content: application/json: schema: $ref: '#/components/schemas/DashboardResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Dashboards put: x-speakeasy-entity-operation: terraform-resource: Dashboard#update terraform-datasource: null operationId: dashboards-update summary: Update an existing dashboard description: 'Update an existing dashboard, replacing its definition with the provided one.' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DashboardUpdateRequest' responses: '200': description: 'The created dashboard, including generated fields.' content: application/json: schema: $ref: '#/components/schemas/DashboardResponse' '400': description: Bad request; returned when the request payload was not valid. content: application/problem+json: {} '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Dashboards delete: x-speakeasy-entity-operation: terraform-resource: Dashboard#delete terraform-datasource: null operationId: dashboards-delete summary: Delete an existing dashboard description: Delete an existing dashboard. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Dashboards /v1/event-gateways: parameters: [] post: x-speakeasy-entity-operation: terraform-resource: EventGateway#create terraform-datasource: null operationId: create-event-gateway summary: Create Event Gateway description: Create a Event gateway in the Konnect Organization. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateGatewayRequest' responses: '201': $ref: '#/components/responses/CreateGatewayResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '409': $ref: '#/components/responses/Conflict' '500': $ref: '#/components/responses/Internal' '503': $ref: '#/components/responses/NotAvailable' tags: - Event Gateways '/v1/event-gateways/{gatewayId}': parameters: - name: gatewayId in: path description: The UUID of your Gateway. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: EventGateway#read terraform-datasource: null operationId: get-event-gateway summary: Get an Event Gateway description: Returns information about an individual Event gateway. responses: '200': description: A response to retrieving a single eventgateway. content: application/json: schema: $ref: '#/components/schemas/EventGatewayInfo' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/Internal' '503': $ref: '#/components/responses/NotAvailable' tags: - Event Gateways put: x-speakeasy-entity-operation: terraform-resource: EventGateway#update terraform-datasource: null operationId: update-event-gateway summary: Update Event Gateway description: Update an individual gateway. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateGatewayRequest' responses: '200': $ref: '#/components/responses/UpdateGatewayResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/Internal' '503': $ref: '#/components/responses/NotAvailable' tags: - Event Gateways delete: x-speakeasy-entity-operation: terraform-resource: EventGateway#delete terraform-datasource: null operationId: delete-event-gateway summary: Delete Event Gateway description: Delete an individual gateway. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateways '/v1/event-gateways/{gatewayId}/listeners': parameters: - $ref: '#/components/parameters/gatewayId' post: x-speakeasy-entity-operation: terraform-resource: EventGatewayListener#create terraform-datasource: null operationId: create-event-gateway-listener summary: Create Event Gateway Listener description: Creates a new listener associated with the specified Event Gateway. requestBody: $ref: '#/components/requestBodies/CreateEventGatewayListenerRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayListener' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Listeners '/v1/event-gateways/{gatewayId}/listeners/{eventGatewayListenerId}': parameters: - $ref: '#/components/parameters/gatewayId' - name: eventGatewayListenerId in: path description: The ID of the Event Gateway Listener. required: true schema: type: string format: uuid x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: EventGatewayListener#read terraform-datasource: null operationId: get-event-gateway-listener summary: Get an Event Gateway Listener description: Returns information about a specific listener associated with the Event Gateway. responses: '200': description: A single event gateway listener object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayListener' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Listeners put: x-speakeasy-entity-operation: terraform-resource: EventGatewayListener#update terraform-datasource: null operationId: update-event-gateway-listener summary: Update Event Gateway Listener description: Updates an existing listener associated with the specified Event Gateway. requestBody: $ref: '#/components/requestBodies/UpdateEventGatewayListenerRequest' responses: '200': description: Updated event gateway listener object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayListener' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Listeners delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayListener#delete terraform-datasource: null operationId: delete-event-gateway-listener summary: Delete Event Gateway Listener description: Deletes a specific listener associated with the Event Gateway. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Listeners '/v1/event-gateways/{gatewayId}/virtual-clusters': parameters: - $ref: '#/components/parameters/gatewayId' post: x-speakeasy-entity-operation: terraform-resource: EventGatewayVirtualCluster#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster summary: Create Virtual Cluster description: Creates a new virtual cluster associated with the specified Event Gateway. requestBody: $ref: '#/components/requestBodies/CreateVirtualClusterRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/VirtualCluster' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Clusters '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}': parameters: - $ref: '#/components/parameters/gatewayId' - name: virtualClusterId in: path description: The ID of the Virtual Cluster. required: true schema: type: string format: uuid x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: EventGatewayVirtualCluster#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster summary: Get a Virtual Cluster description: Returns information about a specific virtual cluster associated with the Event Gateway. responses: '200': description: A single virtual cluster object. content: application/json: schema: $ref: '#/components/schemas/VirtualCluster' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Clusters put: x-speakeasy-entity-operation: terraform-resource: EventGatewayVirtualCluster#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster summary: Update Virtual Cluster description: Updates an existing virtual cluster associated with the specified Event Gateway. requestBody: $ref: '#/components/requestBodies/UpdateVirtualClusterRequest' responses: '200': description: Updated virtual cluster object. content: application/json: schema: $ref: '#/components/schemas/VirtualCluster' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Clusters delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayVirtualCluster#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster summary: Delete Virtual Cluster description: Deletes a specific virtual cluster associated with the Event Gateway. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Clusters '/v1/event-gateways/{gatewayId}/backend-clusters': parameters: - $ref: '#/components/parameters/gatewayId' post: x-speakeasy-entity-operation: terraform-resource: EventGatewayBackendCluster#create terraform-datasource: null operationId: create-event-gateway-backend-cluster summary: Create Backend Cluster description: Creates a new backend cluster. requestBody: $ref: '#/components/requestBodies/CreateBackendClusterRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/BackendCluster' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Backend Clusters '/v1/event-gateways/{gatewayId}/backend-clusters/{backendClusterId}': parameters: - $ref: '#/components/parameters/gatewayId' - name: backendClusterId in: path description: The ID of the Backend Cluster. required: true schema: type: string format: uuid x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: EventGatewayBackendCluster#read terraform-datasource: null operationId: get-event-gateway-backend-cluster summary: Get a Backend Cluster description: Returns information about a specific backend cluster. responses: '200': description: A single backend cluster object. content: application/json: schema: $ref: '#/components/schemas/BackendCluster' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Backend Clusters put: x-speakeasy-entity-operation: terraform-resource: EventGatewayBackendCluster#update terraform-datasource: null operationId: update-event-gateway-backend-cluster summary: Update Backend Cluster description: Updates an existing backend cluster. requestBody: $ref: '#/components/requestBodies/UpdateBackendClusterRequest' responses: '200': description: Updated backend cluster object. content: application/json: schema: $ref: '#/components/schemas/BackendCluster' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Backend Clusters delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayBackendCluster#delete terraform-datasource: null operationId: delete-event-gateway-backend-cluster summary: Delete Backend Cluster description: Deletes a specific backend cluster. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Backend Clusters '/v1/event-gateways/{gatewayId}/vaults': parameters: - $ref: '#/components/parameters/gatewayId' post: x-unstable: true x-internal: true x-speakeasy-entity-operation: terraform-resource: EventGatewayVault#create terraform-datasource: null operationId: create-event-gateway-vault summary: Create Vault description: Creates a new vault associated with the specified Event Gateway. requestBody: $ref: '#/components/requestBodies/CreateEventGatewayVaultRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayVault' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Vaults '/v1/event-gateways/{gatewayId}/vaults/{vaultId}': parameters: - $ref: '#/components/parameters/gatewayId' - name: vaultId in: path description: The ID of the Vault. required: true schema: type: string format: uuid x-speakeasy-match: id get: x-unstable: true x-internal: true x-speakeasy-entity-operation: terraform-resource: EventGatewayVault#read terraform-datasource: null operationId: get-event-gateway-vault summary: Get a Vault description: Returns information about a specific vault associated with the Event Gateway. responses: '200': description: A single vault object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayVault' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Vaults put: x-unstable: true x-internal: true x-speakeasy-entity-operation: terraform-resource: EventGatewayVault#update terraform-datasource: null operationId: update-event-gateway-vault summary: Update Vault description: Updates an existing vault associated with the specified Event Gateway. requestBody: $ref: '#/components/requestBodies/UpdateEventGatewayVaultRequest' responses: '200': description: Updated vault object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayVault' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Vaults delete: x-unstable: true x-internal: true x-speakeasy-entity-operation: terraform-resource: EventGatewayVault#delete terraform-datasource: null operationId: delete-event-gateway-vault summary: Delete Vault description: Deletes a specific vault associated with the Event Gateway. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Vaults '/v1/event-gateways/{gatewayId}/schema-registries': parameters: - $ref: '#/components/parameters/gatewayId' post: x-speakeasy-entity-operation: terraform-resource: EventGatewaySchemaRegistry#create terraform-datasource: null operationId: create-event-gateway-schema-registry summary: Create Schema Registry description: Creates a new schema registry associated with the specified Event Gateway. requestBody: $ref: '#/components/requestBodies/CreateSchemaRegistryRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/SchemaRegistry' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Schema Registries '/v1/event-gateways/{gatewayId}/schema-registries/{schemaRegistryId}': parameters: - $ref: '#/components/parameters/gatewayId' - name: schemaRegistryId in: path description: The ID of the Schema Registry. required: true schema: type: string format: uuid x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: EventGatewaySchemaRegistry#read terraform-datasource: null operationId: get-event-gateway-schema-registry summary: Get a Schema Registry description: Returns information about a specific schema registry associated with the Event Gateway. responses: '200': description: A single schema registry object. content: application/json: schema: $ref: '#/components/schemas/SchemaRegistry' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Schema Registries put: x-speakeasy-entity-operation: terraform-resource: EventGatewaySchemaRegistry#update terraform-datasource: null operationId: update-event-gateway-schema-registry summary: Update Schema Registry description: Updates an existing schema registry associated with the specified Event Gateway. requestBody: $ref: '#/components/requestBodies/UpdateSchemaRegistryRequest' responses: '200': description: Updated schema registry object. content: application/json: schema: $ref: '#/components/schemas/SchemaRegistry' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Schema Registries delete: x-speakeasy-entity-operation: terraform-resource: EventGatewaySchemaRegistry#delete terraform-datasource: null operationId: delete-event-gateway-schema-registry summary: Delete Schema Registry description: Deletes a specific schema registry associated with the Event Gateway. responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Schema Registries '/v1/event-gateways/{gatewayId}/data-plane-certificates': parameters: - $ref: '#/components/parameters/gatewayId' post: x-speakeasy-entity-operation: terraform-resource: EventGatewayDataPlaneCertificate#create terraform-datasource: null operationId: create-event-gateway-data-plane-certificate summary: Create a New DataPlane Certificate description: Create new dataplane certificate to this event gateway. A dataplane certificate allows dataplanes configured with the certificate and corresponding private key to establish connection with this event gateway. requestBody: $ref: '#/components/requestBodies/CreateEventGatewayDataPlaneCertificateRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayDataPlaneCertificate' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway DataPlane Certificates '/v1/event-gateways/{gatewayId}/data-plane-certificates/{certificateId}': parameters: - $ref: '#/components/parameters/gatewayId' - name: certificateId in: path description: The ID of the dataplane certificate. required: true schema: type: string format: uuid x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: EventGatewayDataPlaneCertificate#read terraform-datasource: null operationId: get-event-gateway-data-plane-certificate summary: Get a DataPlane Certificate description: Returns information about an individual dataplane certificate. responses: '200': description: A single dataplane certificate. content: application/json: schema: $ref: '#/components/schemas/EventGatewayDataPlaneCertificate' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway DataPlane Certificates put: x-speakeasy-entity-operation: terraform-resource: EventGatewayDataPlaneCertificate#update terraform-datasource: null operationId: update-event-gateway-data-plane-certificate summary: Update Event Gateway DataPlane Certificate description: Updates an existing dataplane certificate associated with the specified Event Gateway. requestBody: $ref: '#/components/requestBodies/UpdateEventGatewayDataPlaneCertificateRequest' responses: '200': description: Updated event gateway dataplane certificate object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayDataPlaneCertificate' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway DataPlane Certificates delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayDataPlaneCertificate#delete terraform-datasource: null operationId: delete-event-gateway-data-plane-certificate summary: Delete Event Gateway DataPlane Certificate description: Deletes a specific dataplane certificate associated with the Event Gateway. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway DataPlane Certificates '/v1/event-gateways/{gatewayId}/static-keys': parameters: - $ref: '#/components/parameters/gatewayId' post: x-speakeasy-entity-operation: terraform-resource: EventGatewayStaticKey#create terraform-datasource: null operationId: create-event-gateway-static-key summary: Create a New Static Key description: Create new static key to this event gateway. requestBody: $ref: '#/components/requestBodies/CreateEventGatewayStaticKeyRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayStaticKey' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Static Keys '/v1/event-gateways/{gatewayId}/static-keys/{staticKeyId}': parameters: - $ref: '#/components/parameters/gatewayId' - name: staticKeyId in: path description: The ID of the static key. required: true schema: type: string format: uuid x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: EventGatewayStaticKey#read terraform-datasource: null operationId: get-event-gateway-static-key summary: Get a Static Key description: Returns information about an individual static key. responses: '200': description: A single static key. content: application/json: schema: $ref: '#/components/schemas/EventGatewayStaticKey' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Static Keys delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayStaticKey#delete terraform-datasource: null operationId: delete-event-gateway-static-key summary: Delete Event Gateway Static Key description: Deletes a specific static key associated with the Event Gateway. responses: '204': description: No Content '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Static Keys '/v1/event-gateways/{gatewayId}/tls-trust-bundles': parameters: - $ref: '#/components/parameters/gatewayId' post: x-speakeasy-entity-operation: terraform-resource: EventGatewayTLSTrustBundle#create terraform-datasource: null operationId: create-event-gateway-tls-trust-bundle summary: Create TLS Trust Bundle description: |- Creates a new TLS trust bundle containing trusted CA certificates for client certificate verification. **Requires a minimum runtime version of `1.1`**. requestBody: $ref: '#/components/requestBodies/CreateTLSTrustBundleRequest' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/TLSTrustBundle' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway TLS Trust Bundles x-min-runtime-version: '1.1' x-speakeasy-param-computed: false '/v1/event-gateways/{gatewayId}/tls-trust-bundles/{tlsTrustBundleId}': parameters: - $ref: '#/components/parameters/gatewayId' - name: tlsTrustBundleId in: path description: The ID of the TLS trust bundle. required: true schema: type: string format: uuid x-speakeasy-match: id get: x-speakeasy-entity-operation: terraform-resource: EventGatewayTLSTrustBundle#read terraform-datasource: null operationId: get-event-gateway-tls-trust-bundle summary: Get a TLS Trust Bundle description: |- Returns information about a specific TLS trust bundle. **Requires a minimum runtime version of `1.1`**. responses: '200': description: A single TLS trust bundle object. content: application/json: schema: $ref: '#/components/schemas/TLSTrustBundle' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway TLS Trust Bundles x-min-runtime-version: '1.1' x-speakeasy-param-computed: false put: x-speakeasy-entity-operation: terraform-resource: EventGatewayTLSTrustBundle#update terraform-datasource: null operationId: update-event-gateway-tls-trust-bundle summary: Update TLS Trust Bundle description: |- Updates an existing TLS trust bundle. **Requires a minimum runtime version of `1.1`**. requestBody: $ref: '#/components/requestBodies/UpdateTLSTrustBundleRequest' responses: '200': description: Updated TLS trust bundle object. content: application/json: schema: $ref: '#/components/schemas/TLSTrustBundle' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway TLS Trust Bundles x-min-runtime-version: '1.1' x-speakeasy-param-computed: false delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayTLSTrustBundle#delete terraform-datasource: null operationId: delete-event-gateway-tls-trust-bundle summary: Delete TLS Trust Bundle description: |- Deletes a specific TLS trust bundle associated with the Event Gateway. **Requires a minimum runtime version of `1.1`**. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway TLS Trust Bundles x-min-runtime-version: '1.1' x-speakeasy-param-computed: false '/v1/event-gateways/{gatewayId}/listeners/{eventGatewayListenerId}/policies/{policyId}#TlsServer': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayListenerPolicyTlsServer#read terraform-datasource: null operationId: get-event-gateway-listener-policy-tls-server summary: Get a Policy for Listener description: Returns information about a specific policy associated with the Event Gateway listener. responses: '200': description: A single policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayListenerPolicy' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Listener Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayListenerPolicyTlsServer#update terraform-datasource: null operationId: update-event-gateway-listener-policy-tls-server summary: Update Policy for Listener description: Updates an existing policy associated with the specified Event Gateway listener. requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayTLSListenerSensitiveDataAwarePolicy' responses: '200': description: Updated policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayListenerPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Listener Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayListenerPolicyTlsServer#delete terraform-datasource: null operationId: delete-event-gateway-listener-policy-tls-server summary: Delete Policy for Listener description: Deletes a specific policy associated with the Event Gateway listener. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Listener Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/eventGatewayListenerId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/listeners/{eventGatewayListenerId}/policies/{policyId}#ForwardToVirtualCluster': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayListenerPolicyForwardToVirtualCluster#read terraform-datasource: null operationId: get-event-gateway-listener-policy-forward-to_virtual_cluster summary: Get a Policy for Listener description: Returns information about a specific policy associated with the Event Gateway listener. responses: '200': description: A single policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayListenerPolicy' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Listener Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayListenerPolicyForwardToVirtualCluster#update terraform-datasource: null operationId: update-event-gateway-listener-policy-forward-to_virtual_cluster summary: Update Policy for Listener description: Updates an existing policy associated with the specified Event Gateway listener. requestBody: content: application/json: schema: $ref: '#/components/schemas/ForwardToVirtualClusterPolicy' responses: '200': description: Updated policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayListenerPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Listener Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayListenerPolicyForwardToVirtualCluster#delete terraform-datasource: null operationId: delete-event-gateway-listener-policy-forward-to_virtual_cluster summary: Delete Policy for Listener description: Deletes a specific policy associated with the Event Gateway listener. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Listener Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/eventGatewayListenerId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/listeners/{eventGatewayListenerId}/policies#TlsServer': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayListenerPolicyTlsServer#create terraform-datasource: null operationId: create-event-gateway-listener-policy-tls-server summary: Create Policy for Listener description: Creates a new policy associated with the specified Event Gateway listener. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayTLSListenerPolicy' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayListenerPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Listener Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/eventGatewayListenerId' '/v1/event-gateways/{gatewayId}/listeners/{eventGatewayListenerId}/policies#ForwardToVirtualCluster': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayListenerPolicyForwardToVirtualCluster#create terraform-datasource: null operationId: create-event-gateway-listener-policy-forward-to_virtual_cluster summary: Create Policy for Listener description: Creates a new policy associated with the specified Event Gateway listener. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/ForwardToVirtualClusterPolicy' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayListenerPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Listener Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/eventGatewayListenerId' '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies/{policyId}#ModifyHeaders': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyModifyHeaders#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-consume-policy-modify-headers summary: Get a Consume Policy for Virtual Cluster description: Returns information about a specific consume policy associated with the Event Gateway virtual cluster. responses: '200': description: A single consume policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Consume Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyModifyHeaders#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-consume-policy-modify-headers summary: Update Consume Policy for Virtual Cluster description: Updates an existing consume policy associated with the specified Event Gateway virtual cluster. requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayModifyHeadersPolicy' responses: '200': description: Updated consume policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyModifyHeaders#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-consume-policy-modify-headers summary: Delete Consume Policy for Virtual Cluster description: Deletes a specific consume policy associated with the Event Gateway virtual cluster. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Consume Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies/{policyId}#SchemaValidation': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicySchemaValidation#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-consume-policy-schema-validation summary: Get a Consume Policy for Virtual Cluster description: Returns information about a specific consume policy associated with the Event Gateway virtual cluster. responses: '200': description: A single consume policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayConsumePolicySchemaValidationTFOnly' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Consume Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicySchemaValidation#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-consume-policy-schema-validation summary: Update Consume Policy for Virtual Cluster description: Updates an existing consume policy associated with the specified Event Gateway virtual cluster. requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayConsumeSchemaValidationPolicy' responses: '200': description: Updated consume policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayConsumePolicySchemaValidationTFOnly' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicySchemaValidation#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-consume-policy-schema-validation summary: Delete Consume Policy for Virtual Cluster description: Deletes a specific consume policy associated with the Event Gateway virtual cluster. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Consume Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies/{policyId}#Decrypt': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyDecrypt#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-consume-policy-decrypt summary: Get a Consume Policy for Virtual Cluster description: Returns information about a specific consume policy associated with the Event Gateway virtual cluster. responses: '200': description: A single consume policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Consume Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyDecrypt#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-consume-policy-decrypt summary: Update Consume Policy for Virtual Cluster description: Updates an existing consume policy associated with the specified Event Gateway virtual cluster. requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayDecryptPolicy' responses: '200': description: Updated consume policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyDecrypt#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-consume-policy-decrypt summary: Delete Consume Policy for Virtual Cluster description: Deletes a specific consume policy associated with the Event Gateway virtual cluster. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Consume Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies/{policyId}#SkipRecord': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicySkipRecord#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-consume-policy-skip-record summary: Get a Consume Policy for Virtual Cluster description: Returns information about a specific consume policy associated with the Event Gateway virtual cluster. responses: '200': description: A single consume policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Consume Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicySkipRecord#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-consume-policy-skip-record summary: Update Consume Policy for Virtual Cluster description: Updates an existing consume policy associated with the specified Event Gateway virtual cluster. requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewaySkipRecordPolicy' responses: '200': description: Updated consume policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicySkipRecord#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-consume-policy-skip-record summary: Delete Consume Policy for Virtual Cluster description: Deletes a specific consume policy associated with the Event Gateway virtual cluster. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Consume Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies/{policyId}#DecryptFields': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyDecryptFields#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-consume-policy-decrypt-fields summary: Get a Consume Policy for Virtual Cluster description: Returns information about a specific consume policy associated with the Event Gateway virtual cluster. responses: '200': description: A single consume policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Consume Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyDecryptFields#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-consume-policy-decrypt-fields summary: Update Consume Policy for Virtual Cluster description: Updates an existing consume policy associated with the specified Event Gateway virtual cluster. requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayParsedRecordDecryptFieldsPolicy' responses: '200': description: Updated consume policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyDecryptFields#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-consume-policy-decrypt-fields summary: Delete Consume Policy for Virtual Cluster description: Deletes a specific consume policy associated with the Event Gateway virtual cluster. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Consume Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies#ModifyHeaders': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyModifyHeaders#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-consume-policy-modify-headers summary: Create Consume Policy for Virtual Cluster description: Creates a new consume policy associated with the specified Event Gateway virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayModifyHeadersPolicyCreate' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies#SchemaValidation': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicySchemaValidation#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-consume-policy-schema-validation summary: Create Consume Policy for Virtual Cluster description: Creates a new consume policy associated with the specified Event Gateway virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayConsumeSchemaValidationPolicy' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayConsumePolicySchemaValidationTFOnly' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies#Decrypt': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyDecrypt#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-consume-policy-decrypt summary: Create Consume Policy for Virtual Cluster description: Creates a new consume policy associated with the specified Event Gateway virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayDecryptPolicy' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies#SkipRecord': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicySkipRecord#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-consume-policy-skip-record summary: Create Consume Policy for Virtual Cluster description: Creates a new consume policy associated with the specified Event Gateway virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewaySkipRecordPolicyCreate' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/consume-policies#DecryptFields': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayConsumePolicyDecryptFields#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-consume-policy-decrypt-fields summary: Create Consume Policy for Virtual Cluster description: Creates a new consume policy associated with the specified Event Gateway virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayParsedRecordDecryptFieldsPolicyCreate' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Consume Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/produce-policies/{policyId}#ModifyHeaders': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyModifyHeaders#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-produce-policy-modify-headers summary: Get a Produce Policy for Virtual Cluster description: Returns information about a specific produce policy associated with the Event Gateway virtual cluster. responses: '200': description: A single produce policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Produce Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyModifyHeaders#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-produce-policy-modify-headers summary: Update Produce Policy for Virtual Cluster description: Updates an existing produce policy associated with the specified Event Gateway virtual cluster. requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayModifyHeadersPolicy' responses: '200': description: Updated produce policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Produce Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyModifyHeaders#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-produce-policy-modify-headers summary: Delete Produce Policy for Virtual Cluster description: Deletes a specific produce policy associated with the Event Gateway virtual cluster. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Produce Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/produce-policies/{policyId}#SchemaValidation': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicySchemaValidation#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-produce-policy-schema-validation summary: Get a Produce Policy for Virtual Cluster description: Returns information about a specific produce policy associated with the Event Gateway virtual cluster. responses: '200': description: A single produce policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayProducePolicySchemaValidationTFOnly' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Produce Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicySchemaValidation#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-produce-policy-schema-validation summary: Update Produce Policy for Virtual Cluster description: Updates an existing produce policy associated with the specified Event Gateway virtual cluster. requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayProduceSchemaValidationPolicy' responses: '200': description: Updated produce policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayProducePolicySchemaValidationTFOnly' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Produce Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicySchemaValidation#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-produce-policy-schema-validation summary: Delete Produce Policy for Virtual Cluster description: Deletes a specific produce policy associated with the Event Gateway virtual cluster. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Produce Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/produce-policies/{policyId}#Encrypt': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyEncrypt#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-produce-policy-encrypt summary: Get a Produce Policy for Virtual Cluster description: Returns information about a specific produce policy associated with the Event Gateway virtual cluster. responses: '200': description: A single produce policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Produce Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyEncrypt#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-produce-policy-encrypt summary: Update Produce Policy for Virtual Cluster description: Updates an existing produce policy associated with the specified Event Gateway virtual cluster. requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayEncryptPolicy' responses: '200': description: Updated produce policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Produce Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyEncrypt#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-produce-policy-encrypt summary: Delete Produce Policy for Virtual Cluster description: Deletes a specific produce policy associated with the Event Gateway virtual cluster. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Produce Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/produce-policies/{policyId}#EncryptFields': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyEncryptFields#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-produce-policy-encrypt-fields summary: Get a Produce Policy for Virtual Cluster description: Returns information about a specific produce policy associated with the Event Gateway virtual cluster. responses: '200': description: A single produce policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Produce Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyEncryptFields#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-produce-policy-encrypt-fields summary: Update Produce Policy for Virtual Cluster description: Updates an existing produce policy associated with the specified Event Gateway virtual cluster. requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayParsedRecordEncryptFieldsPolicy' responses: '200': description: Updated produce policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Produce Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyEncryptFields#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-produce-policy-encrypt-fields summary: Delete Produce Policy for Virtual Cluster description: Deletes a specific produce policy associated with the Event Gateway virtual cluster. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Produce Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/produce-policies#ModifyHeaders': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyModifyHeaders#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-produce-policy-modify-headers summary: Create Produce Policy for Virtual Cluster description: Creates a new produce policy associated with the specified Event Gateway virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayModifyHeadersPolicyCreate' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Produce Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/produce-policies#SchemaValidation': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicySchemaValidation#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-produce-policy-schema-validation summary: Create Produce Policy for Virtual Cluster description: Creates a new produce policy associated with the specified Event Gateway virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayProduceSchemaValidationPolicy' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayProducePolicySchemaValidationTFOnly' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Produce Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/produce-policies#Encrypt': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyEncrypt#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-produce-policy-encrypt summary: Create Produce Policy for Virtual Cluster description: Creates a new produce policy associated with the specified Event Gateway virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayEncryptPolicy' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Produce Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/produce-policies#EncryptFields': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayProducePolicyEncryptFields#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-produce-policy-encrypt-fields summary: Create Produce Policy for Virtual Cluster description: Creates a new produce policy associated with the specified Event Gateway virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayParsedRecordEncryptFieldsPolicyCreate' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Produce Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/cluster-policies/{policyId}#Acls': get: x-speakeasy-entity-operation: terraform-resource: EventGatewayClusterPolicyAcls#read terraform-datasource: null operationId: get-event-gateway-virtual-cluster-cluster-level-policy-acls summary: Get a Cluster Policy for Virtual Cluster description: Returns information about a specific cluster-level policy associated with the Event Gateway virtual cluster. responses: '200': description: A single cluster-level policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Policies put: x-speakeasy-entity-operation: terraform-resource: EventGatewayClusterPolicyAcls#update terraform-datasource: null operationId: update-event-gateway-virtual-cluster-cluster-level-policy-acls summary: Update Cluster Policy for Virtual Cluster description: Updates an existing cluster-level policy associated with the specified Event Gateway virtual cluster. requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayACLsPolicy' responses: '200': description: Updated cluster-level policy object. content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Policies delete: x-speakeasy-entity-operation: terraform-resource: EventGatewayClusterPolicyAcls#delete terraform-datasource: null operationId: delete-event-gateway-virtual-cluster-cluster-level-policy-acls summary: Delete Cluster Policy for Virtual Cluster description: Deletes a specific cluster-level policy associated with the Event Gateway virtual cluster. responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' tags: - Event Gateway Virtual Cluster Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' - name: policyId in: path description: The UUID of the policy. required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 x-speakeasy-match: id '/v1/event-gateways/{gatewayId}/virtual-clusters/{virtualClusterId}/cluster-policies#Acls': post: x-speakeasy-entity-operation: terraform-resource: EventGatewayClusterPolicyAcls#create terraform-datasource: null operationId: create-event-gateway-virtual-cluster-cluster-level-policy-acls summary: Create Cluster Policy for Virtual Cluster description: Creates a new cluster-level policy associated with the specified Event Gateway virtual cluster. parameters: - $ref: '#/components/parameters/EventGatewayPolicyBefore' - $ref: '#/components/parameters/EventGatewayPolicyAfter' requestBody: content: application/json: schema: $ref: '#/components/schemas/EventGatewayACLsPolicy' responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/EventGatewayPolicy' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' tags: - Event Gateway Virtual Cluster Policies parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/virtualClusterId' /v2/cloud-gateways/add-ons: post: x-speakeasy-entity-operation: terraform-resource: CloudGatewayAddon#create operationId: create-add-on summary: Create Add-On description: | Creates a new add-on. Specific add-on types (e.g., managed cache) are defined by the sub-kind configuration. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateAddOnRequest' responses: '201': $ref: '#/components/responses/CreateAddOnResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' '409': description: Conflict content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' servers: - url: 'https://global.api.konghq.com/' tags: - Add-Ons x-servers-added: true x-speakeasy-group: CloudGateways '/v2/cloud-gateways/add-ons/{addOnId}': get: x-speakeasy-entity-operation: terraform-resource: CloudGatewayAddon#read operationId: get-add-on summary: Get Add-On description: Retrieves an add-on by ID. parameters: - $ref: '#/components/parameters/AddOnId' responses: '200': $ref: '#/components/responses/RetrieveAddOnResponse' '401': description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' servers: - url: 'https://global.api.konghq.com/' tags: - Add-Ons x-servers-added: true x-speakeasy-group: CloudGateways delete: x-speakeasy-entity-operation: terraform-resource: CloudGatewayAddon#delete terraform-datasource: null operationId: delete-add-on summary: Delete Add-On description: | Deletes an add-on by ID. The request will be rejected if the managed cache partial is still in use by some plugins. parameters: - $ref: '#/components/parameters/AddOnId' responses: '204': description: No Content '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' servers: - url: 'https://global.api.konghq.com/' tags: - Add-Ons x-servers-added: true x-speakeasy-group: CloudGateways patch: x-speakeasy-entity-operation: terraform-resource: CloudGatewayAddon#update terraform-datasource: null operationId: update-add-on summary: Update Add-On description: Updates the configuration of an existing add-on. parameters: - $ref: '#/components/parameters/AddOnId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateAddOnRequest' responses: '200': $ref: '#/components/responses/UpdateAddOnResponse' '400': description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' '401': description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' '403': description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' '404': description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' servers: - url: 'https://global.api.konghq.com/' tags: - Add-Ons x-servers-added: true x-speakeasy-group: CloudGateways /v2/directories: post: x-unstable: true x-internal: true x-speakeasy-entity-operation: terraform-resource: IdentityDirectory#create terraform-datasource: null operationId: createDirectory summary: Create a new Directory description: | Creates a new directory for grouping principals around an organizational identity boundary. Directories can be configured with metadata, labels, and control plane access restrictions. requestBody: $ref: '#/components/requestBodies/CreateDirectoryRequest' responses: '201': $ref: '#/components/responses/KongDirectoryResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' servers: - url: 'https://us.api.konghq.com/' tags: - Kong Identity Directories x-servers-added: true '/v2/directories/{directoryId}': parameters: - $ref: '#/components/parameters/directoryId' put: x-unstable: true x-internal: true x-speakeasy-entity-operation: terraform-resource: IdentityDirectory#update terraform-datasource: null operationId: replaceDirectory summary: Replace a Directory description: | Completely replaces an existing directory with the provided data. All fields must be specified; any omitted fields will be reset to their defaults. requestBody: $ref: '#/components/requestBodies/ReplaceDirectoryRequest' responses: '200': $ref: '#/components/responses/KongDirectoryResponse' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '409': $ref: '#/components/responses/Conflict' servers: - url: 'https://us.api.konghq.com/' tags: - Kong Identity Directories x-servers-added: true get: x-unstable: true x-internal: true x-speakeasy-entity-operation: terraform-resource: IdentityDirectory#read terraform-datasource: null operationId: getDirectory summary: Get a Directory description: Retrieves detailed information about a specific directory by its ID. responses: '200': $ref: '#/components/responses/KongDirectoryResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' servers: - url: 'https://us.api.konghq.com/' tags: - Kong Identity Directories x-servers-added: true delete: x-unstable: true x-internal: true x-speakeasy-entity-operation: terraform-resource: IdentityDirectory#delete terraform-datasource: null operationId: deleteDirectory summary: Delete a Directory description: | Deletes a directory and optionally all its associated resources (principals, keys, etc.). Use the force parameter to control deletion behavior when dependencies exist. parameters: - name: force in: query description: 'If true, delete the specified directory and all its associated resources. If false, only allow deletion if no clients, scopes or claims are associated with the auth server.' schema: type: string default: 'false' enum: - 'true' - 'false' x-speakeasy-name-override: force_destroy responses: '204': description: Success '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' servers: - url: 'https://us.api.konghq.com/' tags: - Kong Identity Directories x-servers-added: true components: parameters: AddOnId: name: addOnId description: ID of the add-on to operate on. required: true in: path schema: $ref: '#/components/schemas/AddOnId' x-speakeasy-match: id ApiId: schema: type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 name: apiId in: path required: true description: The UUID API identifier authServerId: schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a name: authServerId in: path required: true description: The auth server ID x-speakeasy-match: id authServerIdForChildren: schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a name: authServerId in: path required: true description: The auth server ID x-speakeasy-name-override: auth_server_id claimId: schema: type: string format: uuid example: 07d05309-45cc-4b37-92fb-1524846deec3 name: claimId in: path required: true description: The claim ID x-speakeasy-match: id clientId: schema: $ref: '#/components/schemas/ClientId' name: clientId in: path required: true description: The OAuth 2.0 client ID x-speakeasy-match: id cpId: name: cpId in: path required: true description: Id of the Konnect resource example: bf138ba2-c9b1-4229-b268-04d9d8a6410b x-speakeasy-param-force-new: true schema: type: string format: uuid directoryId: name: directoryId in: path required: true description: ID of the directory x-speakeasy-match: id schema: type: string format: uuid DocumentId: schema: type: string format: uuid example: de5c9818-be5c-42e6-b514-e3d4bc30ddeb name: documentId description: The document identifier related to the API in: path required: true x-speakeasy-match: id eventGatewayListenerId: schema: type: string format: uuid name: eventGatewayListenerId in: path required: true description: The ID of the Event Gateway Listener. x-speakeasy-name-override: listenerId EventGatewayPolicyAfter: schema: type: string format: uuid in: query name: after x-speakeasy-terraform-ignore: true description: | Determines the id of the existing policy the new policy should be inserted after. Either 'before' or 'after' can be provided, when both are omitted the new policy is added to the end of the chain. When both are provided, the request fails with a 400 Bad Request. required: false EventGatewayPolicyBefore: schema: type: string format: uuid in: query name: before x-speakeasy-terraform-ignore: true description: | Determines the id of the existing policy the new policy should be inserted before. Either 'before' or 'after' can be provided, when both are omitted the new policy is added to the end of the chain. When both are provided, the request fails with a 400 Bad Request. required: false gatewayId: name: gatewayId in: path required: true schema: type: string format: uuid example: 9524ec7d-36d9-465d-a8c5-83a3c9390458 description: The UUID of your Gateway. ImplementationId: schema: type: string format: uuid example: 032d905a-ed33-46a3-a093-d8f536af9a8a name: implementationId in: path required: true description: The Portal identifier x-speakeasy-match: id PageId: schema: type: string format: uuid example: ebbac5b0-ac89-45c3-9d2e-c4542c657e79 name: pageId in: path required: true description: ID of the page. x-speakeasy-match: id PageNumber: name: 'page[number]' description: Determines which page of the entities to retrieve. required: false in: query allowEmptyValue: true schema: type: integer example: 1 x-speakeasy-terraform-ignore: true PageSize: name: 'page[size]' description: The maximum number of items to include per page. The last page of a collection may include fewer items. required: false in: query allowEmptyValue: true schema: type: integer example: 100 x-speakeasy-terraform-ignore: true PortalId: schema: type: string format: uuid example: f32d905a-ed33-46a3-a093-d8f536af9a8a name: portalId in: path required: true description: The Portal identifier scopeId: schema: type: string format: uuid example: c5e12516-182c-4928-ae04-05374b3b1cca name: scopeId in: path required: true description: The scope ID x-speakeasy-match: id SnippetId: schema: type: string format: uuid example: ebbac5b0-ac89-45c3-9d2e-c4542c657e79 name: snippetId in: path required: true description: ID of the snippet. x-speakeasy-match: id SortPortals: name: sort description: | Sorts a collection of portals. Supported sort attributes are: - name - description - authentication_enabled - rbac_enabled - auto_approve_applications - auto_approve_developers - default_domain - canonical_domain - created_at - updated_at in: query required: false schema: type: string SpecId: schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a name: specId description: The API specification identifier in: path required: true x-speakeasy-match: id TeamId: x-speakeasy-match: id schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a name: teamId in: path required: true description: ID of the team. VersionId: schema: type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a name: versionId description: The API version identifier in: path required: true x-speakeasy-match: id virtualClusterId: schema: type: string format: uuid name: virtualClusterId in: path required: true description: The ID of the Virtual Cluster. schemas: PortalImageDataUri: description: 'must be a data URL with base64 image data, e.g., data:image/jpeg;base64,' type: string format: uri example: 'data:image/png;base64,YW5faW1hZ2VfZmlsZQ==' pattern: '^data:image/(png|jpe?g|gif|svg+xml|x-icon|ico|icon|vnd.microsoft.icon)(;base64)?,(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$' title: PortalImageDataUri ReplacePortalImageAsset: description: 'The image data to upload. Images must be a data URL with binary image data in base 64 format. See https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs.' type: object properties: data: $ref: '#/components/schemas/PortalImageDataUri' example: data: 'data:image/jpeg;base64,bmljZV9sb29raW5nX3BpY3R1cmU=' default: null additionalProperties: false nullable: true required: - data title: ReplacePortalImageAsset x-speakeasy-param-computed: false PageSlug: description: | The slug of a page in a portal, used to compute its full URL path within the portal hierarchy. When a page has a `parent_page_id`, its full path is built by joining the parent’s slug with its own. For example, if a parent page has the slug `slug1` and this page’s slug is `slug2`, the resulting path will be `/slug1/slug2`. This enables nested page structures like `/slug1/slug2/slug3`. type: string example: /my-page maxLength: 512 title: PageSlug ParentPageId: description: | Pages may be rendered as a tree of files. Specify the `id` of another page as the `parent_page_id` to add some hierarchy to your pages. type: string format: uuid example: null default: null nullable: true x-speakeasy-param-computed: false PageTitle: description: The title of a page in a portal. type: string example: My Page maxLength: 512 title: PageTitle PageContent: description: The renderable markdown content of a page in a portal. type: string example: '# Welcome to My Page' maxLength: 1000000 title: PageContent SnippetName: description: The unique name of a snippet in a portal. type: string example: my-snippet maxLength: 512 title: SnippetName SnippetTitle: description: The display title of a snippet in a portal. type: string example: My Snippet maxLength: 512 title: SnippetTitle SnippetContent: description: The renderable markdown content of a page in a portal. type: string example: '# Welcome to My Snippet' maxLength: 1000000 title: SnippetContent VisibilityStatus: description: Whether the resource is publicly accessible to non-authenticated users. type: string example: public enum: - public - private title: VisibilityStatus x-speakeasy-unknown-values: allow PublishedStatus: description: Whether the resource is visible on a given portal. Defaults to unpublished. type: string example: published enum: - published - unpublished title: PublishedStatus x-speakeasy-unknown-values: allow Description: type: string example: A custom page about developer portals maxLength: 160 title: ResourceDescription PageVisibilityStatus: description: | Whether a page is publicly accessible to non-authenticated users. If not provided, the default_page_visibility value of the portal will be used. type: string example: public enum: - public - private title: PageVisibilityStatus x-speakeasy-unknown-values: allow SnippetVisibilityStatus: description: | Whether a snippet is publicly accessible to non-authenticated users. If not provided, the default_page_visibility value of the portal will be used. type: string example: public enum: - public - private title: PageVisibilityStatus x-speakeasy-unknown-values: allow UpdatePortalPageRequest: description: Update a page in a portal. type: object properties: slug: $ref: '#/components/schemas/PageSlug' title: $ref: '#/components/schemas/PageTitle' content: $ref: '#/components/schemas/PageContent' visibility: $ref: '#/components/schemas/VisibilityStatus' status: $ref: '#/components/schemas/PublishedStatus' description: $ref: '#/components/schemas/Description' parent_page_id: $ref: '#/components/schemas/ParentPageId' additionalProperties: false title: UpdatePortalPageRequest CreatePortalPageRequest: description: Create a page in a portal. type: object properties: slug: $ref: '#/components/schemas/PageSlug' title: $ref: '#/components/schemas/PageTitle' content: $ref: '#/components/schemas/PageContent' visibility: $ref: '#/components/schemas/PageVisibilityStatus' status: $ref: '#/components/schemas/PublishedStatus' description: $ref: '#/components/schemas/Description' parent_page_id: $ref: '#/components/schemas/ParentPageId' additionalProperties: false required: - slug - content title: CreatePortalPageRequest PortalPageResponse: description: Details about a page in a portal. type: object properties: id: $ref: '#/components/schemas/UUID' slug: $ref: '#/components/schemas/PageSlug' title: $ref: '#/components/schemas/PageTitle' content: $ref: '#/components/schemas/PageContent' visibility: $ref: '#/components/schemas/VisibilityStatus' status: $ref: '#/components/schemas/PublishedStatus' description: $ref: '#/components/schemas/Description' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' parent_page_id: $ref: '#/components/schemas/ParentPageId' additionalProperties: false required: - id - slug - title - content - visibility - status - created_at - updated_at - parent_page_id title: PortalPageResponse PortalSnippetResponse: description: Details about a snippet in a portal. type: object properties: id: $ref: '#/components/schemas/UUID' name: $ref: '#/components/schemas/SnippetName' title: $ref: '#/components/schemas/SnippetTitle' content: $ref: '#/components/schemas/SnippetContent' visibility: $ref: '#/components/schemas/VisibilityStatus' status: $ref: '#/components/schemas/PublishedStatus' description: $ref: '#/components/schemas/Description' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - name - content - visibility - status - created_at - updated_at title: PortalSnippetResponse UpdatePortalSnippetRequest: description: Update a snippet in a portal. type: object properties: name: $ref: '#/components/schemas/SnippetName' title: $ref: '#/components/schemas/SnippetTitle' content: $ref: '#/components/schemas/SnippetContent' visibility: $ref: '#/components/schemas/VisibilityStatus' status: $ref: '#/components/schemas/PublishedStatus' description: $ref: '#/components/schemas/Description' additionalProperties: false title: UpdatePortalSnippetRequest CreatePortalSnippetRequest: description: Create a snippet in a portal. type: object properties: name: $ref: '#/components/schemas/SnippetName' title: $ref: '#/components/schemas/SnippetTitle' content: $ref: '#/components/schemas/SnippetContent' visibility: $ref: '#/components/schemas/SnippetVisibilityStatus' status: $ref: '#/components/schemas/PublishedStatus' description: $ref: '#/components/schemas/Description' additionalProperties: false required: - name - content title: CreatePortalSnippetRequest PortalFilterParameters: type: object properties: id: $ref: '#/components/schemas/UuidFieldFilter' name: $ref: '#/components/schemas/StringFieldFilter' description: $ref: '#/components/schemas/StringFieldFilter' authentication_enabled: $ref: '#/components/schemas/BooleanFieldFilter' rbac_enabled: $ref: '#/components/schemas/BooleanFieldFilter' default_api_visibility: $ref: '#/components/schemas/StringFieldFilter' default_page_visibility: $ref: '#/components/schemas/StringFieldFilter' default_application_auth_strategy_id: $ref: '#/components/schemas/UuidFieldFilter' auto_approve_developers: $ref: '#/components/schemas/BooleanFieldFilter' auto_approve_applications: $ref: '#/components/schemas/BooleanFieldFilter' default_domain: $ref: '#/components/schemas/StringFieldFilter' canonical_domain: $ref: '#/components/schemas/StringFieldFilter' title: PortalFilterParameters PortalCustomDomain: type: object properties: hostname: type: string enabled: type: boolean ssl: $ref: '#/components/schemas/PortalCustomDomainSSL' cname_status: $ref: '#/components/schemas/PortalCustomDomainCnameStatus' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - hostname - enabled - ssl - cname_status - created_at - updated_at title: PortalCustomDomain PortalCustomDomainSSL: type: object properties: domain_verification_method: $ref: '#/components/schemas/PortalCustomDomainVerificationMethod' verification_status: $ref: '#/components/schemas/PortalCustomDomainVerificationStatus' validation_errors: $ref: '#/components/schemas/PortalCustomDomainValidationErrors' uploaded_at: description: An ISO-8601 timestamp representation of the ssl certificate upload date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true expires_at: description: An ISO-8601 timestamp representation of the ssl certificate expiration date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true skip_ca_check: description: | True when the provided certificate chain is served as-is without validation against a public trust store. type: boolean readOnly: true x-speakeasy-param-suppress-computed-diff: true additionalProperties: false required: - domain_verification_method - verification_status title: PortalCustomDomainSSL UpdatePortalCustomDomainSSL: type: object properties: custom_certificate: description: Custom certificate to be used for the SSL termination. type: string default: null nullable: true x-speakeasy-param-computed: false custom_private_key: description: Custom certificate private key to be used for the SSL termination. type: string default: null nullable: true x-speakeasy-param-computed: false skip_ca_check: description: | Advanced option. If true, the custom certificate is served exactly as provided, without attempting to bundle against a public trust store. Required for certificates issued by an internal/private CA. type: boolean default: false additionalProperties: false title: UpdatePortalCustomDomainSSL PortalCustomDomainVerificationMethod: type: string enum: - http - custom_certificate title: PortalCustomDomainVerificationMethod x-speakeasy-unknown-values: allow PortalCustomDomainVerificationStatus: type: string enum: - verified - pending - error readOnly: true title: PortalCustomDomainVerificationStatus x-speakeasy-param-suppress-computed-diff: true x-speakeasy-unknown-values: allow PortalCustomDomainCnameStatus: type: string enum: - verified - pending readOnly: true title: PortalCustomDomainCnameStatus x-speakeasy-param-suppress-computed-diff: true x-speakeasy-unknown-values: allow PortalCustomDomainValidationErrors: type: array items: type: string readOnly: true title: PortalCustomDomainValidationErrors x-speakeasy-param-suppress-computed-diff: true CreatePortalCustomDomainRequest: type: object properties: hostname: type: string enabled: type: boolean ssl: $ref: '#/components/schemas/CreatePortalCustomDomainSSL' additionalProperties: false required: - hostname - enabled - ssl title: CreatePortalCustomDomainRequest UpdatePortalCustomDomainRequest: type: object properties: enabled: type: boolean default: null nullable: true x-speakeasy-param-computed: false ssl: $ref: '#/components/schemas/UpdatePortalCustomDomainSSL' additionalProperties: false title: UpdatePortalCustomDomainRequest PortalClaimMappings: description: Mappings from a portal developer atribute to an Identity Provider claim. type: object properties: name: type: string example: name default: name email: type: string example: email default: email groups: type: string example: custom-group-claim default: groups example: name: name email: email groups: custom-group-claim maxProperties: 3 minProperties: 0 title: PortalClaimMappings OIDCAuthEnabled: description: The portal has OIDC enabled or disabled. type: boolean example: false deprecated: true x-speakeasy-param-computed: true SAMLAuthEnabled: description: A Konnect Identity Admin assigns teams to a developer. type: boolean example: false deprecated: true x-speakeasy-param-computed: true OIDCIdpMappingEnabled: description: IdP groups determine the Portal Teams a developer has. Replaced by idp_mapping_enabled. type: boolean example: true deprecated: true x-speakeasy-param-computed: true IDPMappingEnabled: description: Whether IdP groups determine the Konnect Portal teams a developer has. type: boolean example: true x-speakeasy-param-computed: true PortalAuthenticationSettingsResponse: x-speakeasy-entity: PortalAuth description: The developer authentication settings for a portal. type: object properties: basic_auth_enabled: description: The portal has basic auth enabled or disabled. type: boolean example: true oidc_auth_enabled: $ref: '#/components/schemas/OIDCAuthEnabled' saml_auth_enabled: $ref: '#/components/schemas/SAMLAuthEnabled' oidc_team_mapping_enabled: $ref: '#/components/schemas/OIDCIdpMappingEnabled' idp_mapping_enabled: $ref: '#/components/schemas/IDPMappingEnabled' konnect_mapping_enabled: description: A Konnect Identity Admin assigns teams to a developer. type: boolean example: false oidc_config: description: Configuration properties for an OpenID Connect Identity Provider. type: object example: issuer: 'https://identity.example.com/v2' client_id: x7id0o42lklas0blidl2 scopes: - email - openid - profile claim_mappings: name: name email: email groups: custom-group-claim deprecated: true properties: issuer: type: string example: 'https://identity.example.com/v2' client_id: type: string example: x7id0o42lklas0blidl2 scopes: type: array items: type: string default: openid example: - email - openid - profile default: - email - openid - profile claim_mappings: $ref: '#/components/schemas/PortalClaimMappings' readOnly: true required: - issuer - client_id title: PortalOIDCConfig x-speakeasy-param-suppress-computed-diff: true oidc_issuer: type: string example: 'https://identity.example.com/v2' default: null nullable: true x-speakeasy-param-computed: false oidc_client_id: type: string example: x7id0o42lklas0blidl2 default: null nullable: true x-speakeasy-param-computed: false oidc_scopes: type: array items: type: string example: - email - openid - profile default: null nullable: true x-speakeasy-param-computed: false oidc_claim_mappings: description: Mappings from a portal developer atribute to an Identity Provider claim. type: object example: name: name email: email groups: custom-group-claim default: null maxProperties: 3 minProperties: 0 nullable: true properties: name: type: string example: name default: name email: type: string example: email default: email groups: type: string example: custom-group-claim default: groups title: PortalClaimMappings x-speakeasy-param-computed: false example: basic_auth_enabled: true oidc_auth_enabled: true oidc_team_mapping_enabled: true konnect_mapping_enabled: false oidc_config: issuer: 'https://identity.example.com/v2' client_id: x7id0o42lklas0blidl2 scopes: - email - openid - profile claim_mappings: name: name email: email groups: custom-group-claim required: - basic_auth_enabled - konnect_mapping_enabled - oidc_auth_enabled - oidc_team_mapping_enabled title: PortalAuthenticationSettingsResponse x-speakeasy-transform-from-api: jq: | . + { oidc_issuer: .oidc_config.issuer, oidc_client_id: .oidc_config.client_id, oidc_claim_mappings: .oidc_config.claim_mappings, oidc_scopes: .oidc_config.scopes } | del(.oidc_config) PortalAuthenticationSettingsUpdateRequest: x-speakeasy-entity: PortalAuth description: Properties to update a portal's developer auth settings. type: object properties: basic_auth_enabled: description: The organization has basic auth enabled. type: boolean example: true x-speakeasy-param-computed: true oidc_auth_enabled: description: 'Deprecated. Use the [Identity Provider API](https://developer.konghq.com/api/konnect/portal-management/v3/#/operations/update-portal-identity-provider) instead.' type: boolean example: false deprecated: true x-speakeasy-param-computed: true saml_auth_enabled: description: 'Deprecated. Use the [Identity Provider API](https://developer.konghq.com/api/konnect/portal-management/v3/#/operations/update-portal-identity-provider) instead.' type: boolean example: false deprecated: true x-speakeasy-param-computed: true oidc_team_mapping_enabled: $ref: '#/components/schemas/OIDCIdpMappingEnabled' konnect_mapping_enabled: description: Whether a Konnect Identity Admin assigns teams to a developer. type: boolean example: false x-speakeasy-param-computed: true idp_mapping_enabled: $ref: '#/components/schemas/IDPMappingEnabled' oidc_issuer: description: 'Deprecated. Use the [Identity Provider API](https://developer.konghq.com/api/konnect/portal-management/v3/#/operations/update-portal-identity-provider) instead.' type: string default: null deprecated: true nullable: true x-speakeasy-param-computed: false oidc_client_id: description: 'Deprecated. Use the [Identity Provider API](https://developer.konghq.com/api/konnect/portal-management/v3/#/operations/update-portal-identity-provider) instead.' type: string default: null deprecated: true nullable: true x-speakeasy-param-computed: false oidc_client_secret: description: 'Deprecated. Use the [Identity Provider API](https://developer.konghq.com/api/konnect/portal-management/v3/#/operations/update-portal-identity-provider) instead.' type: string default: null deprecated: true nullable: true x-speakeasy-param-computed: false oidc_scopes: description: 'Deprecated. Use the [Identity Provider API](https://developer.konghq.com/api/konnect/portal-management/v3/#/operations/update-portal-identity-provider) instead.' type: array items: type: string default: null deprecated: true nullable: true x-speakeasy-param-computed: false oidc_claim_mappings: description: 'Deprecated. Use the [Identity Provider API](https://developer.konghq.com/api/konnect/portal-management/v3/#/operations/update-portal-identity-provider) instead.' type: object example: name: name email: email groups: custom-group-claim default: null deprecated: true maxProperties: 3 minProperties: 0 nullable: true properties: name: type: string example: name default: name email: type: string example: email default: email groups: type: string example: custom-group-claim default: groups title: PortalClaimMappings x-speakeasy-param-computed: false example: basic_auth_enabled: true oidc_auth_enabled: true oidc_team_mapping_enabled: true konnect_mapping_enabled: false oidc_issuer: 'https://identity.example.com/v2' oidc_client_id: x7id0o42lklas0blidl2 oidc_scopes: - email - openid - profile oidc_claim_mappings: name: name email: email groups: custom-group-claim title: PortalAuthenticationSettingsUpdateRequest PortalUpdateTeamRequest: description: Properties to update on a team. type: object properties: name: type: string example: IDM - Developers default: null nullable: true pattern: '^[\w \W]+$' writeOnly: true x-speakeasy-param-computed: false description: type: string example: The Identity Management (IDM) API team. default: null maxLength: 250 nullable: true writeOnly: true x-speakeasy-param-computed: false can_own_applications: description: Whether the team is allowed to own applications. type: boolean example: true default: null nullable: true x-speakeasy-param-computed: false example: name: IDM - Developers description: The Identity Management (IDM) API team. can_own_applications: false title: PortalUpdateTeamRequest PortalCreateTeamRequest: x-speakeasy-entity: PortalTeam description: Details about a team to create. type: object properties: name: type: string example: IDM - Developers pattern: '^[\w \W]+$' writeOnly: true description: type: string example: The Identity Management (IDM) team. default: null maxLength: 250 nullable: true writeOnly: true x-speakeasy-param-computed: false can_own_applications: description: Whether the team is allowed to own applications type: boolean example: true x-speakeasy-param-computed: true example: name: IDM - Developers description: The Identity Management (IDM) team. can_own_applications: false required: - name title: PortalCreateTeamRequest PortalTeamResponse: description: Details about a developer team. type: object properties: id: type: string format: uuid example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: true x-speakeasy-param-suppress-computed-diff: true name: type: string example: IDM - Developers default: null maxLength: 250 nullable: true pattern: '^[\w \W]+$' x-speakeasy-param-computed: false description: type: string example: The developers for the IDM API. default: null maxLength: 250 nullable: true x-speakeasy-param-computed: false created_at: type: string format: date-time example: '1992-02-07T17:46:57.52Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true updated_at: type: string format: date-time example: '2022-02-07T17:00:00.52Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true can_own_applications: description: Whether the team is allowed to own applications. type: boolean example: false default: null nullable: true x-speakeasy-param-computed: false example: id: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 name: IDM - Developers description: The developers for the IDM API. created_at: '1992-02-07T17:46:57.52Z' updated_at: '2022-08-31T17:00:00.52Z' can_own_applications: false title: PortalTeamResponse UuidFieldFilter: description: 'Filter using **one** of the following operators: `eq`, `oeq`, `neq`' type: object properties: eq: description: The field exactly matches the provided value. type: string oeq: description: The field matches any of the provided values. type: string neq: description: The field does not match the provided value. type: string additionalProperties: false StringFieldFilter: description: 'Filter using **one** of the following operators: `eq`, `oeq`, `neq`, `contains`, `ocontains`' type: object properties: eq: description: The field exactly matches the provided value. type: string contains: description: The field contains the provided value. type: string ocontains: description: The field contains any of the provided values. type: string oeq: description: The field matches any of the provided values. type: string neq: description: The field does not match the provided value. type: string additionalProperties: false BooleanFieldFilter: description: Filter by a boolean value (true/false). type: boolean title: BooleanFieldFilter UUID: description: Contains a unique identifier used for this resource. type: string format: uuid example: 5f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: true x-speakeasy-param-suppress-computed-diff: true CreatedAt: description: An ISO-8601 timestamp representation of entity creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true UpdatedAt: description: An ISO-8601 timestamp representation of entity update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true Labels: description: | Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_". type: object example: env: test additionalProperties: type: string pattern: '^[a-z0-9A-Z]{1}([a-z0-9A-Z-._]*[a-z0-9A-Z]+)?$' minLength: 1 maxLength: 63 nullable: true maxProperties: 50 title: Labels PageMeta: description: Contains pagination query parameters and the total number of objects returned. type: object properties: number: type: number example: 1 x-speakeasy-terraform-ignore: true size: type: number example: 10 x-speakeasy-terraform-ignore: true total: type: number example: 100 x-speakeasy-terraform-ignore: true required: - number - size - total PaginatedMeta: description: returns the pagination information type: object properties: page: $ref: '#/components/schemas/PageMeta' required: - page title: PaginatedMeta x-speakeasy-terraform-ignore: true BaseError: description: standard error type: object properties: status: description: | The HTTP status code of the error. Useful when passing the response body to child properties in a frontend UI. Must be returned as an integer. type: integer readOnly: true x-speakeasy-param-suppress-computed-diff: true title: description: | A short, human-readable summary of the problem. It should not change between occurences of a problem, except for localization. Should be provided as "Sentence case" for direct use in the UI. type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true type: description: The error type. type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true instance: description: | Used to return the correlation ID back to the user, in the format kong:trace:. This helps us find the relevant logs when a customer reports an issue. type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true detail: description: | A human readable explanation specific to this occurence of the problem. This field may contain request/entity data to help the user understand what went wrong. Enclose variable values in square brackets. Should be provided as "Sentence case" for direct use in the UI. type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - status - title - instance - detail title: Error InvalidRules: description: invalid parameters rules type: string enum: - required - is_array - is_base64 - is_boolean - is_date_time - is_integer - is_null - is_number - is_object - is_string - is_uuid - is_fqdn - is_arn - unknown_property - missing_reference - is_label - matches_regex - invalid - is_supported_network_availability_zone_list - is_supported_network_cidr_block - is_supported_provider_region - type nullable: true readOnly: true x-speakeasy-param-suppress-computed-diff: true x-speakeasy-unknown-values: allow InvalidParameterStandard: type: object properties: field: type: string example: name readOnly: true x-speakeasy-param-suppress-computed-diff: true rule: $ref: '#/components/schemas/InvalidRules' source: type: string example: body default: null nullable: true x-speakeasy-param-computed: false reason: type: string example: is a required field readOnly: true x-speakeasy-param-suppress-computed-diff: true additionalProperties: false required: - field - reason InvalidParameterMinimumLength: type: object properties: field: type: string example: name readOnly: true x-speakeasy-param-suppress-computed-diff: true rule: description: invalid parameters rules type: string enum: - min_length - min_digits - min_lowercase - min_uppercase - min_symbols - min_items - min nullable: false readOnly: true x-speakeasy-param-suppress-computed-diff: true x-speakeasy-unknown-values: allow minimum: type: integer example: 8 source: type: string example: body default: null nullable: true x-speakeasy-param-computed: false reason: type: string example: must have at least 8 characters readOnly: true x-speakeasy-param-suppress-computed-diff: true additionalProperties: false required: - field - reason - rule - minimum InvalidParameterMaximumLength: type: object properties: field: type: string example: name readOnly: true x-speakeasy-param-suppress-computed-diff: true rule: description: invalid parameters rules type: string enum: - max_length - max_items - max nullable: false readOnly: true x-speakeasy-param-suppress-computed-diff: true x-speakeasy-unknown-values: allow maximum: type: integer example: 8 source: type: string example: body default: null nullable: true x-speakeasy-param-computed: false reason: type: string example: must not have more than 8 characters readOnly: true x-speakeasy-param-suppress-computed-diff: true additionalProperties: false required: - field - reason - rule - maximum InvalidParameterChoiceItem: type: object properties: field: type: string example: name readOnly: true x-speakeasy-param-suppress-computed-diff: true rule: description: invalid parameters rules type: string enum: - enum nullable: false readOnly: true x-speakeasy-param-suppress-computed-diff: true reason: type: string example: is a required field readOnly: true x-speakeasy-param-suppress-computed-diff: true choices: type: array items: {} minItems: 1 nullable: false readOnly: true uniqueItems: true x-speakeasy-param-suppress-computed-diff: true source: type: string example: body default: null nullable: true x-speakeasy-param-computed: false additionalProperties: false required: - field - reason - rule - choices InvalidParameterDependentItem: type: object properties: field: type: string example: name readOnly: true x-speakeasy-param-suppress-computed-diff: true rule: description: invalid parameters rules type: string enum: - dependent_fields nullable: true readOnly: true x-speakeasy-param-suppress-computed-diff: true reason: type: string example: is a required field readOnly: true x-speakeasy-param-suppress-computed-diff: true dependents: type: array items: {} default: null nullable: true readOnly: true uniqueItems: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true source: type: string example: body default: null nullable: true x-speakeasy-param-computed: false additionalProperties: false required: - field - rule - reason - dependents InvalidParameters: description: invalid parameters type: array items: oneOf: - $ref: '#/components/schemas/InvalidParameterStandard' - $ref: '#/components/schemas/InvalidParameterMinimumLength' - $ref: '#/components/schemas/InvalidParameterMaximumLength' - $ref: '#/components/schemas/InvalidParameterChoiceItem' - $ref: '#/components/schemas/InvalidParameterDependentItem' minItems: 1 nullable: false uniqueItems: true BadRequestError: allOf: - $ref: '#/components/schemas/BaseError' - type: object required: - invalid_parameters properties: invalid_parameters: $ref: '#/components/schemas/InvalidParameters' UnauthorizedError: allOf: - $ref: '#/components/schemas/BaseError' - type: object properties: status: example: 401 title: example: Unauthorized type: example: 'https://httpstatuses.com/401' instance: example: 'kong:trace:1234567890' detail: example: Invalid credentials ForbiddenError: allOf: - $ref: '#/components/schemas/BaseError' - type: object properties: status: example: 403 title: example: Forbidden type: example: 'https://httpstatuses.com/403' instance: example: 'kong:trace:1234567890' detail: example: Forbidden LabelsUpdate: description: | Labels store metadata of an entity that can be used for filtering an entity list or for searching across entity types. Labels are intended to store **INTERNAL** metadata. Keys must be of length 1-63 characters, and cannot start with "kong", "konnect", "mesh", "kic", or "_". type: object example: env: test additionalProperties: type: string pattern: '^[a-z0-9A-Z]{1}([a-z0-9A-Z-._]*[a-z0-9A-Z]+)?$' minLength: 1 maxLength: 63 nullable: true maxProperties: 50 nullable: true writeOnly: true x-speakeasy-param-computed: true NotFoundError: allOf: - $ref: '#/components/schemas/BaseError' - type: object properties: status: example: 404 title: example: Not Found type: example: 'https://httpstatuses.com/404' instance: example: 'kong:trace:1234567890' detail: example: Not found ConflictError: allOf: - $ref: '#/components/schemas/BaseError' - type: object properties: status: example: 409 title: example: Conflict type: example: 'https://httpstatuses.com/409' instance: example: 'kong:trace:1234567890' detail: example: Conflict PortalMenuItem: type: object properties: path: description: The absolute path of a page in a portal with a leading slash. type: string example: /about/company maxLength: 512 title: description: The link display text type: string example: My Page visibility: description: Whether a menu item is public or private. Private menu items are only accessible to authenticated users. type: string example: public enum: - public - private x-speakeasy-unknown-values: allow external: description: 'When clicked, open the link in a new window' type: boolean additionalProperties: false required: - path - title - visibility - external PortalFooterMenuSection: type: object properties: title: description: The footer menu section title type: string maxLength: 512 items: type: array items: $ref: '#/components/schemas/PortalMenuItem' additionalProperties: false required: - title - items PortalCustomization: description: The custom settings of this portal type: object properties: theme: type: object additionalProperties: false nullable: false properties: name: type: string nullable: false mode: type: string enum: - light - dark - system x-speakeasy-unknown-values: allow colors: type: object additionalProperties: false nullable: false properties: primary: type: string example: '#000000' nullable: false pattern: '^#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$' x-validation-message: must be a valid hex color value x-speakeasy-param-computed: false x-speakeasy-param-computed: false layout: type: string nullable: false x-speakeasy-param-computed: false css: type: string default: null nullable: true x-speakeasy-param-computed: false js: type: object additionalProperties: false nullable: false properties: custom: type: string default: null nullable: true x-speakeasy-param-computed: false scripts: type: array items: type: string pattern: '^https://[^:.]+\..+$' default: null maxItems: 20 nullable: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false menu: type: object additionalProperties: false nullable: false properties: main: type: array items: $ref: '#/components/schemas/PortalMenuItem' default: null nullable: true x-speakeasy-param-computed: false footer_sections: type: array items: $ref: '#/components/schemas/PortalFooterMenuSection' default: null nullable: true x-speakeasy-param-computed: false footer_bottom: type: array items: $ref: '#/components/schemas/PortalMenuItem' default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false spec_renderer: type: object additionalProperties: false nullable: false properties: try_it_ui: description: Enable in-browser testing for your APIs. All linked gateways must have the CORS plugin configured. type: boolean default: true try_it_insomnia: description: Enables users to open API specifications in Insomnia to explore and send requests with the native client. Only public API specifications are supported. type: boolean default: true infinite_scroll: description: 'Display the full spec on a single, scrollable page. If disabled, documentation, endpoints, and schemas appear on separate pages.' type: boolean default: true show_schemas: description: 'Control whether schemas are visible in your API specs. When enabled, schemas appear in the side navigation below the endpoints.' type: boolean default: true hide_internal: description: Manage visibility of internal endpoints and models. type: boolean default: false hide_deprecated: description: Manage visibility of deprecated endpoints and models. type: boolean default: false allow_custom_server_urls: description: Let users define a custom server URL for endpoints. This will be used to generate code snippets and to test the API. The URL is client-side only and is not saved. type: boolean default: true x-speakeasy-param-computed: false robots: type: string default: null nullable: true x-speakeasy-param-computed: false additionalProperties: false title: PortalCustomization x-property-annotations: js: - x-unstable - x-internal PortalAllowedIPs: description: The list of allowed ips for the portal. type: array items: type: string example: - 192.168.1.1 - 192.168.1.0/22 maxItems: 25 minItems: 1 uniqueItems: true IPEntry: description: An entry representing a collection of allowed IP addresses or CIDR blocks. type: object properties: id: description: Contains a unique identifier used for this resource. type: string format: uuid example: 5f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: false allowed_ips: $ref: '#/components/schemas/PortalAllowedIPs' additionalProperties: false required: - id - allowed_ips ApiResponseSchema: type: object properties: id: description: The API identifier. type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 readOnly: true x-speakeasy-param-suppress-computed-diff: true name: description: | The name of your API. The `name + version` combination must be unique for each API you publish. type: string example: MyAPI maxLength: 255 minLength: 1 description: description: A description of your API. Will be visible on your live Portal. type: string default: null nullable: true x-speakeasy-param-computed: false version: description: An optional version for your API. Leave this empty if your API is unversioned. type: string maxLength: 255 minLength: 1 nullable: true x-speakeasy-param-computed: true current_version_summary: $ref: '#/components/schemas/ApiVersionSummary' slug: description: | The `slug` is used in generated URLs to provide human readable paths. Defaults to `slugify(name + version)` type: string example: my-api-v1 nullable: true pattern: '^[\w-]+$' x-speakeasy-param-computed: true api_spec_ids: description: The list of API specification ids for the API. type: array items: type: string format: uuid description: The id of the API specification. example: 123e4567-e89b-12d3-a456-426614174000 deprecated: true readOnly: true x-speakeasy-param-suppress-computed-diff: true portals: description: The list of portals which this API is published to. type: array items: type: object additionalProperties: false required: - id - name - display_name properties: id: description: The portal identifier. type: string format: uuid example: 25a2624c-49fc-4764-99e1-224ed819f200 name: description: 'The name of the portal, used to distinguish it from other portals.' type: string example: My Portal display_name: description: The display name of the portal. This value will be the portal's `name` in Portal API. type: string example: My Portal nullable: false readOnly: true uniqueItems: true x-speakeasy-param-suppress-computed-diff: true labels: $ref: '#/components/schemas/Labels' implementation_mode: description: the implementations that are associated with this api either gateway_entity_binding or access_control_enforcement type: string default: null nullable: true readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true attributes: $ref: '#/components/schemas/ApiAttributes' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' images: type: object example: icon: uri: /apis/ebbac5b0-ac89-45c3-9d2e-c4542c657e79/images/icon/raw additionalProperties: false nullable: true properties: icon: type: object default: null additionalProperties: false nullable: true properties: uri: description: The relative API path for retrieving the raw the icon image. type: string format: uri-reference default: null nullable: true pattern: '^/[^\s]+/images/icon/raw$' x-speakeasy-param-computed: false x-speakeasy-param-computed: false readOnly: true title: Images x-speakeasy-param-suppress-computed-diff: true x-speakeasy-terraform-ignore: true additionalProperties: false required: - id - name - version - labels - created_at - updated_at - slug - portals - api_spec_ids - current_version_summary title: API x-property-annotations: images: - x-internal AuthStrategyApiSyncError: type: object properties: control_plane_error: type: string enum: - control_plane_error_no_response - control_plane_error_invalid_response - control_plane_error_unavailable - control_plane_error_internal_error - control_plane_error_bad_request - control_plane_error_plugin_conflict - control_plane_error_data_constraint_error - control_plane_error_implementation_not_found x-speakeasy-unknown-values: allow message: type: string info: type: object additionalProperties: true properties: details: type: array items: type: object additionalProperties: true properties: type: type: string message: type: array items: type: string example: control_plane_error: control_plane_error_unavailable message: Unable to connect to the control plane to update plugin additionalProperties: false nullable: true required: - message ApiDocumentId: description: The API document identifier. type: string format: uuid example: de5c9818-be5c-42e6-b514-e3d4bc30ddeb readOnly: true title: API Document ID x-speakeasy-param-suppress-computed-diff: true ApiDocumentContent: description: Raw markdown content to display in your Portal type: string title: API Document Content ApiDocumentTitle: description: The title of the document. Used to populate the `` tag for the page type: string example: API Document title: API Document Title ApiDocumentStatus: description: If `status=published` the document will be visible in your live portal type: string default: unpublished enum: - published - unpublished x-speakeasy-unknown-values: allow ApiDocumentParentDocumentId: description: | API Documents may be rendered as a tree of files. Specify the `id` of another API Document as the `parent_document_id` to add some heirarchy do your documents. type: string format: uuid example: null default: null nullable: true title: API Document Parent Document ID x-speakeasy-param-computed: false ApiDocumentSlug: description: | The `slug` is used in generated URLs to provide human readable paths. Defaults to `slugify(title)` type: string example: api-document pattern: '^[\w-]+$' title: API Document Slug ApiDocument: type: object properties: id: $ref: '#/components/schemas/ApiDocumentId' content: $ref: '#/components/schemas/ApiDocumentContent' title: $ref: '#/components/schemas/ApiDocumentTitle' slug: $ref: '#/components/schemas/ApiDocumentSlug' status: $ref: '#/components/schemas/ApiDocumentStatus' parent_document_id: $ref: '#/components/schemas/ApiDocumentParentDocumentId' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false title: API Document ApiVersionSummary: type: object properties: id: description: The API version identifier. type: string format: uuid example: 7710d5c4-d902-410b-992f-18b814155b53 readOnly: true x-speakeasy-param-suppress-computed-diff: true version: description: The version of this api spec. type: string spec: type: object additionalProperties: false properties: type: $ref: '#/components/schemas/ApiSpecType' provider: description: Provenance of the spec for the current version. Present when a spec exists. oneOf: - $ref: '#/components/schemas/RawApiSpecProvider' - $ref: '#/components/schemas/UrlApiSpecProvider' - $ref: '#/components/schemas/IntegrationApiSpecProviderPayload' - $ref: '#/components/schemas/ResourceBoundIntegrationApiSpecProviderPayload' title: ApiSpecProvider x-internal: true x-property-annotations: provider: - x-internal created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false nullable: true readOnly: true title: API Version Summary x-speakeasy-param-suppress-computed-diff: true x-speakeasy-terraform-ignore: true APIVersionRequest: type: object properties: version: description: The version of the api. type: string example: 1.0.0 default: null nullable: true x-speakeasy-param-computed: false spec: type: object default: null additionalProperties: false nullable: true properties: content: default: null description: 'The raw content of API specification, in json or yaml format (OpenAPI or AsyncAPI).' example: '{"openapi":"3.0.3","info":{"title":"Example API","version":"1.0.0"},"paths":{"/example":{"get":{"summary":"Example endpoint","responses":{"200":{"description":"Successful response"}}}}}}' nullable: true type: string x-speakeasy-param-computed: false provider: description: | Represent spec provider information used for fetching the API spec. For raw, provide the raw content in the `content` property instead of using this provider. oneOf: - $ref: '#/components/schemas/UrlApiSpecProvider' - $ref: '#/components/schemas/IntegrationApiSpecProviderPayload' - $ref: '#/components/schemas/ResourceBoundIntegrationApiSpecProviderPayload' x-property-annotations: provider: - x-internal x-speakeasy-param-computed: false additionalProperties: false title: API Version Request ApiSpecPayload: type: object oneOf: - $ref: '#/components/schemas/ApiSpecContentPayload' - $ref: '#/components/schemas/ApiSpecProviderPayload' title: ApiSpecPayload writeOnly: true x-internal: true ApiSpecContentPayload: description: | The raw content of API specification, in json or yaml format (OpenAPI or AsyncAPI). type: object properties: content: example: '{"openapi":"3.0.3","info":{"title":"Example API","version":"1.0.0"},"paths":{"/example":{"get":{"summary":"Example endpoint","responses":{"200":{"description":"Successful response"}}}}}}' type: string additionalProperties: false required: - content title: ApiSpecContentPayload x-internal: true x-speakeasy-name-override: ContentPayload ApiSpecProviderPayload: description: | Represent spec provider information used for fetching the API spec. For raw, provide the raw content in the `content` property instead of using this provider. type: object properties: provider: oneOf: - $ref: '#/components/schemas/UrlApiSpecProvider' - $ref: '#/components/schemas/IntegrationApiSpecProviderPayload' - $ref: '#/components/schemas/ResourceBoundIntegrationApiSpecProviderPayload' additionalProperties: false required: - provider title: ApiSpecProviderPayload x-internal: true x-speakeasy-name-override: ProviderPayload ApiSpec: type: object properties: id: description: The API specification identifier. type: string format: uuid example: 7710d5c4-d902-410b-992f-18b814155b53 readOnly: true x-speakeasy-param-suppress-computed-diff: true content: default: null description: | The raw content of your API specification, in json or yaml format (OpenAPI or AsyncAPI). example: '{"openapi":"3.0.3","info":{"title":"Example API","version":"1.0.0"},"paths":{"/example":{"get":{"summary":"Example endpoint","responses":{"200":{"description":"Successful response"}}}}}}' nullable: true type: string x-speakeasy-param-computed: false validation_messages: description: The errors that occurred while parsing the API specification. type: array items: type: object additionalProperties: false required: - message properties: message: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true type: description: | The type of specification being stored. This allows us to render the specification correctly. type: string example: oas3 enum: - oas2 - oas3 - asyncapi title: API Spec Type x-speakeasy-unknown-values: allow created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false title: API Specification ApiPublicationVisibility: description: | The visibility of the API in the portal. Public API publications do not require authentication to view and retrieve information about them. Private API publications require authentication to retrieve information about them. type: string default: private enum: - public - private title: API Publication Visibility x-speakeasy-unknown-values: allow ApiPublicationAuthStrategyIds: description: | The auth strategy the API enforces for applications in the portal. Omitting this property means the portal's default application auth strategy will be used. Setting to null means the API will not require application authentication. DCR support for application registration is currently in development. type: array items: type: string format: uuid default: null maxItems: 1 minItems: 1 nullable: true title: API Publication Auth Strategy IDs x-speakeasy-param-computed: false AutoApproveRegistrations: description: 'Whether the application registration auto approval on this portal for the api is enabled. If set to false, fallbacks on portal''s auto_approve_applications value.' type: boolean title: Auto Approve Registrations ApiPublication: description: An API publication in a portal type: object properties: auto_approve_registrations: $ref: '#/components/schemas/AutoApproveRegistrations' auth_strategy_ids: $ref: '#/components/schemas/ApiPublicationAuthStrategyIds' visibility: $ref: '#/components/schemas/ApiPublicationVisibility' form_id: description: 'UUID of portal form associated with API publication, must be linked to given portal and have type of ''api_registration''' type: string format: uuid nullable: true x-speakeasy-param-computed: true warnings: description: Informational warnings (e.g. incompatible fields stripped for ACE). Empty if none. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false title: API Publication x-property-annotations: form_id: - x-internal - x-unstable ApiImplementationService: description: A Gateway service that implements an API type: object properties: control_plane_id: type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 id: type: string format: uuid example: 7710d5c4-d902-410b-992f-18b814155b53 auth_strategy_sync_error: allOf: - $ref: '#/components/schemas/AuthStrategyApiSyncError' readOnly: true x-speakeasy-ignore: true x-speakeasy-param-suppress-computed-diff: true additionalProperties: false required: - control_plane_id - id title: API Implementation Service ApiImplementationControlPlane: description: A Control plane that implements an API type: object properties: access_control_enforcement_enabled: description: Indicates if the access control enforcement plugin is installed globally in the target control plane type: boolean readOnly: true x-speakeasy-param-suppress-computed-diff: true control_plane_id: type: string format: uuid example: 7710d5c4-d902-410b-992f-18b814155b53 x-speakeasy-name-override: id additionalProperties: false required: - control_plane_id title: API Implementation Control Plane ApiImplementation: description: An entity that implements an API type: object oneOf: - $ref: '#/components/schemas/ApiImplementationGatewayServiceEntity' - $ref: '#/components/schemas/ApiImplementationControlPlaneEntity' title: API Implementation ApiImplementationGatewayServiceEntity: description: A gateway service that implements an API type: object properties: id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' service: $ref: '#/components/schemas/ApiImplementationService' additionalProperties: false title: ApiImplementationGatewayServiceEntity x-speakeasy-name-override: Service Reference ApiImplementationControlPlaneEntity: description: A control plane that implements an API type: object properties: id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' control_plane: $ref: '#/components/schemas/ApiImplementationControlPlane' additionalProperties: false title: ApiImplementationControlPlaneEntity x-speakeasy-name-override: Control Plane Reference ApiAttributes: description: A set of attributes that describe the API type: object example: env: - production domains: - web - mobile default: {} additionalProperties: nullable: true description: 'Set of attributes with unique keys. Each key can include lowercase letters, numbers, hyphens, and underscores.' type: array minItems: 1 maxItems: 20 items: type: string minLength: 1 maxLength: 512 pattern: '^[^,<>]*$' nullable: false title: API Attributes x-speakeasy-type-override: any ApiSpecType: description: | The type of specification being stored. This allows us to render the specification correctly. type: string example: oas3 enum: - oas2 - oas3 - asyncapi title: API Spec Type x-speakeasy-unknown-values: allow RawApiSpecProvider: type: object properties: type: type: string enum: - raw config: type: object additionalProperties: false maxProperties: 0 minProperties: 0 required: - type - config x-speakeasy-name-override: RawProvider UrlApiSpecProvider: type: object properties: type: type: string enum: - url config: type: object properties: url: description: | Public URL that resolves to the raw API spec contents. Supported formats are JSON and YAML. type: string format: uri example: 'https://api.petstore.com/v3/openapi.json' required: - url required: - type - config x-speakeasy-name-override: UrlProvider IntegrationApiSpecProviderPayload: description: | API spec provider registered by a catalog integration. Integrations can function as API spec providers where they register a globally unique `type` and config schema which defines the shape of `config`. Consult integration documentation to learn more about available API spec providers. type: object properties: type: description: The globally unique API spec provider type that is registered by a given catalog integration. type: string example: swaggerhub_api_version maxLength: 120 minLength: 1 config: description: JSON object containing values as defined by integration provider's config schema. type: object example: owner: petco api: pet_store version: v3 additionalProperties: true minProperties: 1 integration_instance: description: The integration instance id or name type: string required: - type - config - integration_instance x-speakeasy-name-override: IntegrationProvider ResourceBoundIntegrationApiSpecProviderPayload: description: | API spec provider registered by a catalog integration. These providers differ from `IntegrationApiSpecProvider` in that they denote a binding relationship between a resource type and the API spec. This means that the API Spec will automatically be created/deleted for/from a service as resources of the given type are mapped/unmapped. Consult integration documentation to learn more about available API spec providers. type: object properties: type: description: | The globally unique API spec provider type that is registered by a given catalog integration. Resource-bound providers create a 1-to-1 mapping between a resource type and the API Spec. type: string maxLength: 120 minLength: 1 config: type: object properties: resource_id: description: ID of the associated Resource the API spec is bound to. type: string example: IqkHvMdyHukxcwAs required: - resource_id required: - type - config x-speakeasy-name-override: ResourceBoundIntegrationProvider UnsupportedMediaTypeError: allOf: - $ref: '#/components/schemas/BaseError' - type: object properties: status: example: 415 title: example: UnsupportedMediaType type: example: 'https://httpstatuses.com/415' instance: example: 'kong:trace:1234567890' detail: example: UnsupportedMediaType PrometheusMetricsBackendConfig: description: PrometheusMetricsBackendConfig defines configuration of Prometheus backend type: object properties: aggregate: description: |- Map with the configuration of applications which metrics are going to be scrapped by kuma-dp. type: array items: description: PrometheusAggregateMetricsConfig defines endpoints that should be scrapped by kuma-dp for prometheus metrics. properties: address: description: Address on which a service expose HTTP endpoint with Prometheus metrics. type: string x-speakeasy-param-computed: false enabled: description: |- If false then the application won't be scrapped. If nil, then it is treated as true and kuma-dp scrapes metrics from the service. type: boolean x-speakeasy-param-computed: false name: description: Name which identify given configuration. type: string x-speakeasy-param-computed: false path: description: Path on which a service expose HTTP endpoint with Prometheus metrics. type: string x-speakeasy-param-computed: false port: description: Port on which a service expose HTTP endpoint with Prometheus metrics. type: integer x-speakeasy-param-computed: false type: object x-speakeasy-param-computed: false default: [] envoy: description: Configuration of Envoy's metrics. type: object properties: filterRegex: description: |- FilterRegex value that is going to be passed to Envoy for filtering Envoy metrics. type: string x-speakeasy-param-computed: false usedOnly: description: |- If true then return metrics that Envoy has updated (counters incremented at least once, gauges changed at least once, and histograms added to at least once). If nil, then it is treated as false. type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false path: description: |- Path on which a dataplane should expose HTTP endpoint with Prometheus metrics. type: string x-speakeasy-param-computed: false port: description: |- Port on which a dataplane should expose HTTP endpoint with Prometheus metrics. type: integer x-speakeasy-param-computed: false skipMTLS: description: |- If true then endpoints for scraping metrics won't require mTLS even if mTLS is enabled in Mesh. If nil, then it is treated as false. type: boolean x-speakeasy-param-computed: false tags: description: |- Tags associated with an application this dataplane is deployed next to, e.g. service=web, version=1.0. `service` tag is mandatory. type: object additionalProperties: type: string x-speakeasy-param-computed: false tls: description: Configuration of TLS for prometheus listener. type: object default: {} properties: mode: description: |- mode defines how configured is the TLS for Prometheus. Supported values, delegated, disabled, activeMTLSBackend. Default to `activeMTLSBackend`. oneOf: - type: string - type: integer x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier FileLoggingBackendConfig: description: FileLoggingBackendConfig defines configuration for file based access logs type: object properties: path: description: Path to a file that logs will be written to type: string x-speakeasy-param-computed: false TcpLoggingBackendConfig: description: TcpLoggingBackendConfig defines configuration for TCP based access logs type: object properties: address: description: Address to TCP service that will receive logs type: string x-speakeasy-param-computed: false DataSource_File: type: object properties: file: description: |- Data source is a path to a file. Deprecated, use other sources of a data. type: string x-speakeasy-param-computed: false DataSource_Inline: type: object properties: inline: description: Data source is inline bytes. type: string format: byte x-speakeasy-param-computed: false DataSource_InlineString: type: object properties: inlineString: description: Data source is inline string type: string x-speakeasy-param-computed: false DataSource_Secret: type: object properties: secret: description: Data source is a secret with given Secret key. type: string x-speakeasy-param-computed: false ProvidedCertificateAuthorityConfig: type: object properties: cert: oneOf: - $ref: '#/components/schemas/DataSource_File' - $ref: '#/components/schemas/DataSource_Inline' - $ref: '#/components/schemas/DataSource_InlineString' - $ref: '#/components/schemas/DataSource_Secret' x-speakeasy-param-computed: false key: oneOf: - $ref: '#/components/schemas/DataSource_File' - $ref: '#/components/schemas/DataSource_Inline' - $ref: '#/components/schemas/DataSource_InlineString' - $ref: '#/components/schemas/DataSource_Secret' x-speakeasy-param-computed: false BuiltinCertificateAuthorityConfig: type: object properties: caCert: type: object properties: expiration: type: string x-speakeasy-param-computed: false rsaBits: type: integer format: uint32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false DatadogTracingBackendConfig: type: object properties: address: description: Address of datadog collector. type: string x-speakeasy-param-computed: false port: description: Port of datadog collector type: integer x-speakeasy-param-computed: false splitService: description: |- Determines if datadog service name should be split based on traffic direction and destination. For example, with `splitService: true` and a `backend` service that communicates with a couple of databases, you would get service names like `backend_INBOUND`, `backend_OUTBOUND_db1`, and `backend_OUTBOUND_db2` in Datadog. Default: false type: boolean x-speakeasy-param-computed: false ZipkinTracingBackendConfig: type: object properties: apiVersion: description: |- Version of the API. values: httpJson, httpJsonV1, httpProto. Default: httpJson see https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/trace/v3/trace.proto#envoy-v3-api-enum-config-trace-v3-zipkinconfig-collectorendpointversion type: string x-speakeasy-param-computed: false sharedSpanContext: description: |- Determines whether client and server spans will share the same span context. Default: true. https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/trace/v3/zipkin.proto#config-trace-v3-zipkinconfig type: boolean x-speakeasy-param-computed: false traceId128bit: description: 'Generate 128bit traces. Default: false' type: boolean x-speakeasy-param-computed: false url: description: Address of Zipkin collector. type: string x-speakeasy-param-computed: false MeshItem: type: object properties: constraints: description: Constraints that applies to the mesh and its entities type: object properties: dataplaneProxy: description: |- DataplaneProxyMembership defines a set of requirements for data plane proxies to be a member of the mesh. type: object properties: requirements: description: |- Requirements defines a set of requirements that data plane proxies must fulfill in order to join the mesh. A data plane proxy must fulfill at least one requirement in order to join the mesh. Empty list of allowed requirements means that any proxy that is not explicitly denied can join. type: array items: description: Rules defines a set of rules for data plane proxies to be member of the mesh. properties: tags: description: |- Tags defines set of required tags. You can specify '*' in value to require non empty value of tag type: object additionalProperties: type: string x-speakeasy-param-computed: false type: object x-speakeasy-param-computed: false default: [] restrictions: description: |- Restrictions defines a set of restrictions that data plane proxies cannot fulfill in order to join the mesh. A data plane proxy cannot fulfill any requirement in order to join the mesh. Restrictions takes precedence over requirements. type: array items: description: Rules defines a set of rules for data plane proxies to be member of the mesh. properties: tags: description: |- Tags defines set of required tags. You can specify '*' in value to require non empty value of tag type: object additionalProperties: type: string x-speakeasy-param-computed: false type: object x-speakeasy-param-computed: false default: [] x-speakeasy-param-computed: false x-speakeasy-param-computed: false labels: type: object additionalProperties: type: string x-speakeasy-param-computed: false logging: description: |- Logging settings. +optional type: object properties: backends: description: List of available logging backends type: array items: description: LoggingBackend defines logging backend available to mesh. properties: conf: type: object oneOf: - $ref: '#/components/schemas/FileLoggingBackendConfig' - $ref: '#/components/schemas/TcpLoggingBackendConfig' x-speakeasy-param-computed: false format: description: |- Format of access logs. Placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log type: string x-speakeasy-param-computed: false name: description: |- Name of the backend, can be then used in Mesh.logging.defaultBackend or in TrafficLogging type: string x-speakeasy-param-computed: false type: description: Type of the backend (Kuma ships with 'tcp' and 'file') type: string x-speakeasy-param-computed: false type: object x-speakeasy-param-computed: false default: [] defaultBackend: description: Name of the default backend type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false meshServices: type: object properties: mode: oneOf: - type: string - type: integer x-speakeasy-param-computed: false x-speakeasy-param-computed: false metrics: description: |- Configuration for metrics collected and exposed by dataplanes. Settings defined here become defaults for every dataplane in a given Mesh. Additionally, it is also possible to further customize this configuration for each dataplane individually using Dataplane resource. +optional type: object properties: backends: description: List of available Metrics backends type: array items: description: MetricsBackend defines metric backends properties: conf: type: object oneOf: - $ref: '#/components/schemas/PrometheusMetricsBackendConfig' x-speakeasy-param-computed: false name: description: 'Name of the backend, can be then used in Mesh.metrics.enabledBackend' type: string x-speakeasy-param-computed: false type: description: Type of the backend (Kuma ships with 'prometheus') type: string x-speakeasy-param-computed: false type: object x-speakeasy-param-computed: false default: [] enabledBackend: description: Name of the enabled backend type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false mtls: description: |- mTLS settings. +optional type: object properties: backends: description: List of available Certificate Authority backends type: array items: description: CertificateAuthorityBackend defines Certificate Authority backend properties: conf: type: object oneOf: - $ref: '#/components/schemas/ProvidedCertificateAuthorityConfig' - $ref: '#/components/schemas/BuiltinCertificateAuthorityConfig' - $ref: '#/components/schemas/VaultCertificateAuthorityConfig' - $ref: '#/components/schemas/ACMCertificateAuthorityConfig' - $ref: '#/components/schemas/CertManagerCertificateAuthorityConfig' x-speakeasy-param-computed: false dpCert: description: Dataplane certificate settings type: object properties: requestTimeout: description: Timeout on request to CA for DP certificate generation and retrieval type: object properties: nanos: type: integer x-speakeasy-param-computed: false seconds: type: integer x-speakeasy-param-computed: false x-speakeasy-param-computed: false rotation: description: Rotation settings type: object properties: expiration: description: Time after which generated certificate for Dataplane will expire type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false mode: description: |- Mode defines the behaviour of inbound listeners with regard to traffic encryption oneOf: - type: string - type: integer x-speakeasy-param-computed: false name: description: Name of the backend type: string x-speakeasy-param-computed: false rootChain: type: object properties: requestTimeout: description: |- Timeout on request for to CA for root certificate chain. If not specified, defaults to 10s. type: object properties: nanos: type: integer x-speakeasy-param-computed: false seconds: type: integer x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: description: |- Type of the backend. Has to be one of the loaded plugins (Kuma ships with builtin and provided) type: string x-speakeasy-param-computed: false type: object x-speakeasy-param-computed: false default: [] enabledBackend: description: Name of the enabled backend type: string x-speakeasy-param-computed: false skipValidation: description: 'If enabled, skips CA validation.' type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true networking: description: Networking settings of the mesh type: object properties: outbound: description: Outbound settings type: object properties: passthrough: description: Control the passthrough cluster type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false routing: description: Routing settings of the mesh type: object properties: defaultForbidMeshExternalServiceAccess: description: |- If true, blocks traffic to MeshExternalServices. Default: false type: boolean x-speakeasy-param-computed: false localityAwareLoadBalancing: description: Enable the Locality Aware Load Balancing type: boolean x-speakeasy-param-computed: false zoneEgress: description: |- Enable routing traffic to services in other zone or external services through ZoneEgress. Default: false type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false skipCreatingInitialPolicies: description: |- List of policies to skip creating by default when the mesh is created. e.g. TrafficPermission, MeshRetry, etc. An '*' can be used to skip all policies. type: array items: type: string x-speakeasy-param-computed: false default: [] tracing: description: |- Tracing settings. +optional type: object properties: backends: description: List of available tracing backends type: array items: description: TracingBackend defines tracing backend available to mesh. properties: conf: type: object oneOf: - $ref: '#/components/schemas/DatadogTracingBackendConfig' - $ref: '#/components/schemas/ZipkinTracingBackendConfig' x-speakeasy-param-computed: false name: description: |- Name of the backend, can be then used in Mesh.tracing.defaultBackend or in TrafficTrace type: string x-speakeasy-param-computed: false sampling: description: |- Percentage of traces that will be sent to the backend (range 0.0 - 100.0). Empty value defaults to 100.0% type: number x-speakeasy-param-computed: false type: description: Type of the backend (Kuma ships with 'zipkin') type: string x-speakeasy-param-computed: false type: object x-speakeasy-param-computed: false default: [] defaultBackend: description: Name of the default backend type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: type: string x-speakeasy-param-computed: false required: - type - name MeshAccessLogItem: description: 'MeshAccessLog configures access logging for traffic between services in the mesh. It allows you to capture and export request/response logs to various backends (file, TCP, or OpenTelemetry) for monitoring, debugging, and auditing purposes.' type: object properties: type: description: the type of the resource type: string enum: - MeshAccessLog x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mal_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshAccessLog resource. type: object properties: from: description: From list makes a match between clients and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of clients referenced in 'targetRef' type: object properties: backends: type: array items: properties: file: description: FileBackend defines configuration for file based access logs type: object properties: format: description: |- Format of access logs. Placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators type: object properties: json: type: array items: properties: key: type: string x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - key - value type: object example: - key: start_time value: '%START_TIME%' - key: bytes_received value: '%BYTES_RECEIVED%' x-speakeasy-plan-modifiers: SupressZeroNullModifier omitEmptyValues: type: boolean default: false x-speakeasy-param-computed: false plain: type: string example: '[%START_TIME%] %KUMA_MESH% %UPSTREAM_HOST%' x-speakeasy-param-computed: false type: type: string enum: - Plain - Json x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false path: description: Path to a file that logs will be written to type: string example: /tmp/access.log minLength: 1 x-speakeasy-param-computed: false required: - path x-speakeasy-param-computed: false openTelemetry: description: Defines an OpenTelemetry logging backend. type: object properties: attributes: description: |- Attributes can contain placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators type: array items: properties: key: type: string x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - key - value type: object example: - key: mesh value: '%KUMA_MESH%' x-speakeasy-plan-modifiers: SupressZeroNullModifier body: description: |- Body is a raw string or an OTLP any value as described at https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/data-model.md#field-body It can contain placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators example: kvlistValue: values: - key: mesh value: stringValue: '%KUMA_MESH%' x-kubernetes-preserve-unknown-fields: true x-speakeasy-plan-modifiers: ArbitraryJSONModifier endpoint: description: Endpoint of OpenTelemetry collector. An empty port defaults to 4317. type: string example: 'otel-collector:4317' minLength: 1 x-speakeasy-param-computed: false required: - endpoint x-speakeasy-param-computed: false tcp: description: TCPBackend defines a TCP logging backend. type: object properties: address: description: Address of the TCP logging backend type: string example: '127.0.0.1:5000' minLength: 1 x-speakeasy-param-computed: false format: description: |- Format of access logs. Placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators type: object properties: json: type: array items: properties: key: type: string x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - key - value type: object example: - key: start_time value: '%START_TIME%' - key: bytes_received value: '%BYTES_RECEIVED%' x-speakeasy-plan-modifiers: SupressZeroNullModifier omitEmptyValues: type: boolean default: false x-speakeasy-param-computed: false plain: type: string example: '[%START_TIME%] %KUMA_MESH% %UPSTREAM_HOST%' x-speakeasy-param-computed: false type: type: string enum: - Plain - Json x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false required: - address x-speakeasy-param-computed: false type: type: string enum: - Tcp - File - OpenTelemetry x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of clients. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - default - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier rules: description: |- Rules defines inbound access log configurations. Currently limited to selecting all inbound traffic, as L7 matching is not yet implemented. type: array items: properties: default: description: Default contains configuration of the inbound access logging type: object properties: backends: type: array items: properties: file: description: FileBackend defines configuration for file based access logs type: object properties: format: description: |- Format of access logs. Placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators type: object properties: json: type: array items: properties: key: type: string x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - key - value type: object example: - key: start_time value: '%START_TIME%' - key: bytes_received value: '%BYTES_RECEIVED%' x-speakeasy-plan-modifiers: SupressZeroNullModifier omitEmptyValues: type: boolean default: false x-speakeasy-param-computed: false plain: type: string example: '[%START_TIME%] %KUMA_MESH% %UPSTREAM_HOST%' x-speakeasy-param-computed: false type: type: string enum: - Plain - Json x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false path: description: Path to a file that logs will be written to type: string example: /tmp/access.log minLength: 1 x-speakeasy-param-computed: false required: - path x-speakeasy-param-computed: false openTelemetry: description: Defines an OpenTelemetry logging backend. type: object properties: attributes: description: |- Attributes can contain placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators type: array items: properties: key: type: string x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - key - value type: object example: - key: mesh value: '%KUMA_MESH%' x-speakeasy-plan-modifiers: SupressZeroNullModifier body: description: |- Body is a raw string or an OTLP any value as described at https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/data-model.md#field-body It can contain placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators example: kvlistValue: values: - key: mesh value: stringValue: '%KUMA_MESH%' x-kubernetes-preserve-unknown-fields: true endpoint: description: Endpoint of OpenTelemetry collector. An empty port defaults to 4317. type: string example: 'otel-collector:4317' minLength: 1 x-speakeasy-param-computed: false required: - endpoint x-speakeasy-param-computed: false tcp: description: TCPBackend defines a TCP logging backend. type: object properties: address: description: Address of the TCP logging backend type: string example: '127.0.0.1:5000' minLength: 1 x-speakeasy-param-computed: false format: description: |- Format of access logs. Placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators type: object properties: json: type: array items: properties: key: type: string x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - key - value type: object example: - key: start_time value: '%START_TIME%' - key: bytes_received value: '%BYTES_RECEIVED%' x-speakeasy-plan-modifiers: SupressZeroNullModifier omitEmptyValues: type: boolean default: false x-speakeasy-param-computed: false plain: type: string example: '[%START_TIME%] %KUMA_MESH% %UPSTREAM_HOST%' x-speakeasy-param-computed: false type: type: string enum: - Plain - Json x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false required: - address x-speakeasy-param-computed: false type: type: string enum: - Tcp - File - OpenTelemetry x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false required: - default type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined in-place. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false to: description: To list makes a match between the consumed services and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of destinations referenced in 'targetRef' type: object properties: backends: type: array items: properties: file: description: FileBackend defines configuration for file based access logs type: object properties: format: description: |- Format of access logs. Placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators type: object properties: json: type: array items: properties: key: type: string x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - key - value type: object example: - key: start_time value: '%START_TIME%' - key: bytes_received value: '%BYTES_RECEIVED%' x-speakeasy-plan-modifiers: SupressZeroNullModifier omitEmptyValues: type: boolean default: false x-speakeasy-param-computed: false plain: type: string example: '[%START_TIME%] %KUMA_MESH% %UPSTREAM_HOST%' x-speakeasy-param-computed: false type: type: string enum: - Plain - Json x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false path: description: Path to a file that logs will be written to type: string example: /tmp/access.log minLength: 1 x-speakeasy-param-computed: false required: - path x-speakeasy-param-computed: false openTelemetry: description: Defines an OpenTelemetry logging backend. type: object properties: attributes: description: |- Attributes can contain placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators type: array items: properties: key: type: string x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - key - value type: object example: - key: mesh value: '%KUMA_MESH%' x-speakeasy-plan-modifiers: SupressZeroNullModifier body: description: |- Body is a raw string or an OTLP any value as described at https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/logs/data-model.md#field-body It can contain placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators example: kvlistValue: values: - key: mesh value: stringValue: '%KUMA_MESH%' x-kubernetes-preserve-unknown-fields: true x-speakeasy-plan-modifiers: ArbitraryJSONModifier endpoint: description: Endpoint of OpenTelemetry collector. An empty port defaults to 4317. type: string example: 'otel-collector:4317' minLength: 1 x-speakeasy-param-computed: false required: - endpoint x-speakeasy-param-computed: false tcp: description: TCPBackend defines a TCP logging backend. type: object properties: address: description: Address of the TCP logging backend type: string example: '127.0.0.1:5000' minLength: 1 x-speakeasy-param-computed: false format: description: |- Format of access logs. Placeholders available on https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#command-operators type: object properties: json: type: array items: properties: key: type: string x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - key - value type: object example: - key: start_time value: '%START_TIME%' - key: bytes_received value: '%BYTES_RECEIVED%' x-speakeasy-plan-modifiers: SupressZeroNullModifier omitEmptyValues: type: boolean default: false x-speakeasy-param-computed: false plain: type: string example: '[%START_TIME%] %KUMA_MESH% %UPSTREAM_HOST%' x-speakeasy-param-computed: false type: type: string enum: - Plain - Json x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false required: - address x-speakeasy-param-computed: false type: type: string enum: - Tcp - File - OpenTelemetry x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of destinations. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - default - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshCircuitBreakerItem: description: MeshCircuitBreaker protects services from cascading failures by limiting connections and detecting unhealthy instances. It provides connection limits to prevent overload and outlier detection to temporarily remove failing endpoints from the load balancing pool. type: object properties: type: description: the type of the resource type: string enum: - MeshCircuitBreaker x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mcb_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshCircuitBreaker resource. type: object properties: from: description: From list makes a match between clients and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of destinations referenced in 'targetRef' type: object properties: connectionLimits: description: |- ConnectionLimits contains configuration of each circuit breaking limit, which when exceeded makes the circuit breaker to become open (no traffic is allowed like no current is allowed in the circuits when physical circuit breaker ir open) type: object properties: maxConnectionPools: description: |- The maximum number of connection pools per cluster that are concurrently supported at once. Set this for clusters which create a large number of connection pools. type: integer format: int32 x-speakeasy-param-computed: false maxConnections: description: |- The maximum number of connections allowed to be made to the upstream cluster. type: integer format: int32 x-speakeasy-param-computed: false maxPendingRequests: description: |- The maximum number of pending requests that are allowed to the upstream cluster. This limit is applied as a connection limit for non-HTTP traffic. type: integer format: int32 x-speakeasy-param-computed: false maxRequests: description: |- The maximum number of parallel requests that are allowed to be made to the upstream cluster. This limit does not apply to non-HTTP traffic. type: integer format: int32 x-speakeasy-param-computed: false maxRetries: description: |- The maximum number of parallel retries that will be allowed to the upstream cluster. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false outlierDetection: description: |- OutlierDetection contains the configuration of the process of dynamically determining whether some number of hosts in an upstream cluster are performing unlike the others and removing them from the healthy load balancing set. Performance might be along different axes such as consecutive failures, temporal success rate, temporal latency, etc. Outlier detection is a form of passive health checking. type: object properties: baseEjectionTime: description: |- The base time that a host is ejected for. The real time is equal to the base time multiplied by the number of times the host has been ejected. type: string x-speakeasy-param-computed: false detectors: description: Contains configuration for supported outlier detectors type: object properties: failurePercentage: description: |- Failure Percentage based outlier detection functions similarly to success rate detection, in that it relies on success rate data from each host in a cluster. However, rather than compare those values to the mean success rate of the cluster as a whole, they are compared to a flat user-configured threshold. This threshold is configured via the outlierDetection.failurePercentageThreshold field. The other configuration fields for failure percentage based detection are similar to the fields for success rate detection. As with success rate detection, detection will not be performed for a host if its request volume over the aggregation interval is less than the outlierDetection.detectors.failurePercentage.requestVolume value. Detection also will not be performed for a cluster if the number of hosts with the minimum required request volume in an interval is less than the outlierDetection.detectors.failurePercentage.minimumHosts value. type: object properties: minimumHosts: description: |- The minimum number of hosts in a cluster in order to perform failure percentage-based ejection. If the total number of hosts in the cluster is less than this value, failure percentage-based ejection will not be performed. type: integer format: int32 x-speakeasy-param-computed: false requestVolume: description: |- The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to perform failure percentage-based ejection for this host. If the volume is lower than this setting, failure percentage-based ejection will not be performed for this host. type: integer format: int32 x-speakeasy-param-computed: false threshold: description: |- The failure percentage to use when determining failure percentage-based outlier detection. If the failure percentage of a given host is greater than or equal to this value, it will be ejected. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false gatewayFailures: description: |- In the default mode (outlierDetection.splitExternalLocalOriginErrors is false) this detection type takes into account a subset of 5xx errors, called "gateway errors" (502, 503 or 504 status code) and local origin failures, such as timeout, TCP reset etc. In split mode (outlierDetection.splitExternalLocalOriginErrors is true) this detection type takes into account a subset of 5xx errors, called "gateway errors" (502, 503 or 504 status code) and is supported only by the http router. type: object properties: consecutive: description: |- The number of consecutive gateway failures (502, 503, 504 status codes) before a consecutive gateway failure ejection occurs. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false localOriginFailures: description: |- This detection type is enabled only when outlierDetection.splitExternalLocalOriginErrors is true and takes into account only locally originated errors (timeout, reset, etc). If Envoy repeatedly cannot connect to an upstream host or communication with the upstream host is repeatedly interrupted, it will be ejected. Various locally originated problems are detected: timeout, TCP reset, ICMP errors, etc. This detection type is supported by http router and tcp proxy. type: object properties: consecutive: description: |- The number of consecutive locally originated failures before ejection occurs. Parameter takes effect only when splitExternalAndLocalErrors is set to true. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false successRate: description: |- Success Rate based outlier detection aggregates success rate data from every host in a cluster. Then at given intervals ejects hosts based on statistical outlier detection. Success Rate outlier detection will not be calculated for a host if its request volume over the aggregation interval is less than the outlierDetection.detectors.successRate.requestVolume value. Moreover, detection will not be performed for a cluster if the number of hosts with the minimum required request volume in an interval is less than the outlierDetection.detectors.successRate.minimumHosts value. In the default configuration mode (outlierDetection.splitExternalLocalOriginErrors is false) this detection type takes into account all types of errors: locally and externally originated. In split mode (outlierDetection.splitExternalLocalOriginErrors is true), locally originated errors and externally originated (transaction) errors are counted and treated separately. type: object properties: minimumHosts: description: |- The number of hosts in a cluster that must have enough request volume to detect success rate outliers. If the number of hosts is less than this setting, outlier detection via success rate statistics is not performed for any host in the cluster. type: integer format: int32 x-speakeasy-param-computed: false requestVolume: description: |- The minimum number of total requests that must be collected in one interval (as defined by the interval duration configured in outlierDetection section) to include this host in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that host. type: integer format: int32 x-speakeasy-param-computed: false standardDeviationFactor: description: |- This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (standard_deviation * success_rate_standard_deviation_factor). Either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false totalFailures: description: |- In the default mode (outlierDetection.splitExternalAndLocalErrors is false) this detection type takes into account all generated errors: locally originated and externally originated (transaction) errors. In split mode (outlierDetection.splitExternalLocalOriginErrors is true) this detection type takes into account only externally originated (transaction) errors, ignoring locally originated errors. If an upstream host is an HTTP-server, only 5xx types of error are taken into account (see Consecutive Gateway Failure for exceptions). Properly formatted responses, even when they carry an operational error (like index not found, access denied) are not taken into account. type: object properties: consecutive: description: |- The number of consecutive server-side error responses (for HTTP traffic, 5xx responses; for TCP traffic, connection failures; for Redis, failure to respond PONG; etc.) before a consecutive total failure ejection occurs. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false disabled: description: 'When set to true, outlierDetection configuration won''t take any effect' type: boolean x-speakeasy-param-computed: false healthyPanicThreshold: description: |- Allows to configure panic threshold for Envoy cluster. If not specified, the default is 50%. To disable panic mode, set to 0%. Either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false interval: description: |- The time interval between ejection analysis sweeps. This can result in both new ejections and hosts being returned to service. type: string x-speakeasy-param-computed: false maxEjectionPercent: description: |- The maximum % of an upstream cluster that can be ejected due to outlier detection. Defaults to 10% but will eject at least one host regardless of the value. type: integer format: int32 x-speakeasy-param-computed: false splitExternalAndLocalErrors: description: |- Determines whether to distinguish local origin failures from external errors. If set to true the following configuration parameters are taken into account: detectors.localOriginFailures.consecutive type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of destinations. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier rules: description: |- Rules defines inbound circuit breaker configurations. Currently limited to selecting all inbound traffic, as L7 matching is not yet implemented. type: array items: properties: default: description: Default contains configuration of the inbound circuit breaker type: object properties: connectionLimits: description: |- ConnectionLimits contains configuration of each circuit breaking limit, which when exceeded makes the circuit breaker to become open (no traffic is allowed like no current is allowed in the circuits when physical circuit breaker ir open) type: object properties: maxConnectionPools: description: |- The maximum number of connection pools per cluster that are concurrently supported at once. Set this for clusters which create a large number of connection pools. type: integer format: int32 x-speakeasy-param-computed: false maxConnections: description: |- The maximum number of connections allowed to be made to the upstream cluster. type: integer format: int32 x-speakeasy-param-computed: false maxPendingRequests: description: |- The maximum number of pending requests that are allowed to the upstream cluster. This limit is applied as a connection limit for non-HTTP traffic. type: integer format: int32 x-speakeasy-param-computed: false maxRequests: description: |- The maximum number of parallel requests that are allowed to be made to the upstream cluster. This limit does not apply to non-HTTP traffic. type: integer format: int32 x-speakeasy-param-computed: false maxRetries: description: |- The maximum number of parallel retries that will be allowed to the upstream cluster. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false outlierDetection: description: |- OutlierDetection contains the configuration of the process of dynamically determining whether some number of hosts in an upstream cluster are performing unlike the others and removing them from the healthy load balancing set. Performance might be along different axes such as consecutive failures, temporal success rate, temporal latency, etc. Outlier detection is a form of passive health checking. type: object properties: baseEjectionTime: description: |- The base time that a host is ejected for. The real time is equal to the base time multiplied by the number of times the host has been ejected. type: string x-speakeasy-param-computed: false detectors: description: Contains configuration for supported outlier detectors type: object properties: failurePercentage: description: |- Failure Percentage based outlier detection functions similarly to success rate detection, in that it relies on success rate data from each host in a cluster. However, rather than compare those values to the mean success rate of the cluster as a whole, they are compared to a flat user-configured threshold. This threshold is configured via the outlierDetection.failurePercentageThreshold field. The other configuration fields for failure percentage based detection are similar to the fields for success rate detection. As with success rate detection, detection will not be performed for a host if its request volume over the aggregation interval is less than the outlierDetection.detectors.failurePercentage.requestVolume value. Detection also will not be performed for a cluster if the number of hosts with the minimum required request volume in an interval is less than the outlierDetection.detectors.failurePercentage.minimumHosts value. type: object properties: minimumHosts: description: |- The minimum number of hosts in a cluster in order to perform failure percentage-based ejection. If the total number of hosts in the cluster is less than this value, failure percentage-based ejection will not be performed. type: integer format: int32 x-speakeasy-param-computed: false requestVolume: description: |- The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to perform failure percentage-based ejection for this host. If the volume is lower than this setting, failure percentage-based ejection will not be performed for this host. type: integer format: int32 x-speakeasy-param-computed: false threshold: description: |- The failure percentage to use when determining failure percentage-based outlier detection. If the failure percentage of a given host is greater than or equal to this value, it will be ejected. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false gatewayFailures: description: |- In the default mode (outlierDetection.splitExternalLocalOriginErrors is false) this detection type takes into account a subset of 5xx errors, called "gateway errors" (502, 503 or 504 status code) and local origin failures, such as timeout, TCP reset etc. In split mode (outlierDetection.splitExternalLocalOriginErrors is true) this detection type takes into account a subset of 5xx errors, called "gateway errors" (502, 503 or 504 status code) and is supported only by the http router. type: object properties: consecutive: description: |- The number of consecutive gateway failures (502, 503, 504 status codes) before a consecutive gateway failure ejection occurs. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false localOriginFailures: description: |- This detection type is enabled only when outlierDetection.splitExternalLocalOriginErrors is true and takes into account only locally originated errors (timeout, reset, etc). If Envoy repeatedly cannot connect to an upstream host or communication with the upstream host is repeatedly interrupted, it will be ejected. Various locally originated problems are detected: timeout, TCP reset, ICMP errors, etc. This detection type is supported by http router and tcp proxy. type: object properties: consecutive: description: |- The number of consecutive locally originated failures before ejection occurs. Parameter takes effect only when splitExternalAndLocalErrors is set to true. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false successRate: description: |- Success Rate based outlier detection aggregates success rate data from every host in a cluster. Then at given intervals ejects hosts based on statistical outlier detection. Success Rate outlier detection will not be calculated for a host if its request volume over the aggregation interval is less than the outlierDetection.detectors.successRate.requestVolume value. Moreover, detection will not be performed for a cluster if the number of hosts with the minimum required request volume in an interval is less than the outlierDetection.detectors.successRate.minimumHosts value. In the default configuration mode (outlierDetection.splitExternalLocalOriginErrors is false) this detection type takes into account all types of errors: locally and externally originated. In split mode (outlierDetection.splitExternalLocalOriginErrors is true), locally originated errors and externally originated (transaction) errors are counted and treated separately. type: object properties: minimumHosts: description: |- The number of hosts in a cluster that must have enough request volume to detect success rate outliers. If the number of hosts is less than this setting, outlier detection via success rate statistics is not performed for any host in the cluster. type: integer format: int32 x-speakeasy-param-computed: false requestVolume: description: |- The minimum number of total requests that must be collected in one interval (as defined by the interval duration configured in outlierDetection section) to include this host in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that host. type: integer format: int32 x-speakeasy-param-computed: false standardDeviationFactor: description: |- This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (standard_deviation * success_rate_standard_deviation_factor). Either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false totalFailures: description: |- In the default mode (outlierDetection.splitExternalAndLocalErrors is false) this detection type takes into account all generated errors: locally originated and externally originated (transaction) errors. In split mode (outlierDetection.splitExternalLocalOriginErrors is true) this detection type takes into account only externally originated (transaction) errors, ignoring locally originated errors. If an upstream host is an HTTP-server, only 5xx types of error are taken into account (see Consecutive Gateway Failure for exceptions). Properly formatted responses, even when they carry an operational error (like index not found, access denied) are not taken into account. type: object properties: consecutive: description: |- The number of consecutive server-side error responses (for HTTP traffic, 5xx responses; for TCP traffic, connection failures; for Redis, failure to respond PONG; etc.) before a consecutive total failure ejection occurs. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false disabled: description: 'When set to true, outlierDetection configuration won''t take any effect' type: boolean x-speakeasy-param-computed: false healthyPanicThreshold: description: |- Allows to configure panic threshold for Envoy cluster. If not specified, the default is 50%. To disable panic mode, set to 0%. Either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false interval: description: |- The time interval between ejection analysis sweeps. This can result in both new ejections and hosts being returned to service. type: string x-speakeasy-param-computed: false maxEjectionPercent: description: |- The maximum % of an upstream cluster that can be ejected due to outlier detection. Defaults to 10% but will eject at least one host regardless of the value. type: integer format: int32 x-speakeasy-param-computed: false splitExternalAndLocalErrors: description: |- Determines whether to distinguish local origin failures from external errors. If set to true the following configuration parameters are taken into account: detectors.localOriginFailures.consecutive type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined in place. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false to: description: |- To list makes a match between the consumed services and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of destinations referenced in 'targetRef' type: object properties: connectionLimits: description: |- ConnectionLimits contains configuration of each circuit breaking limit, which when exceeded makes the circuit breaker to become open (no traffic is allowed like no current is allowed in the circuits when physical circuit breaker ir open) type: object properties: maxConnectionPools: description: |- The maximum number of connection pools per cluster that are concurrently supported at once. Set this for clusters which create a large number of connection pools. type: integer format: int32 x-speakeasy-param-computed: false maxConnections: description: |- The maximum number of connections allowed to be made to the upstream cluster. type: integer format: int32 x-speakeasy-param-computed: false maxPendingRequests: description: |- The maximum number of pending requests that are allowed to the upstream cluster. This limit is applied as a connection limit for non-HTTP traffic. type: integer format: int32 x-speakeasy-param-computed: false maxRequests: description: |- The maximum number of parallel requests that are allowed to be made to the upstream cluster. This limit does not apply to non-HTTP traffic. type: integer format: int32 x-speakeasy-param-computed: false maxRetries: description: |- The maximum number of parallel retries that will be allowed to the upstream cluster. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false outlierDetection: description: |- OutlierDetection contains the configuration of the process of dynamically determining whether some number of hosts in an upstream cluster are performing unlike the others and removing them from the healthy load balancing set. Performance might be along different axes such as consecutive failures, temporal success rate, temporal latency, etc. Outlier detection is a form of passive health checking. type: object properties: baseEjectionTime: description: |- The base time that a host is ejected for. The real time is equal to the base time multiplied by the number of times the host has been ejected. type: string x-speakeasy-param-computed: false detectors: description: Contains configuration for supported outlier detectors type: object properties: failurePercentage: description: |- Failure Percentage based outlier detection functions similarly to success rate detection, in that it relies on success rate data from each host in a cluster. However, rather than compare those values to the mean success rate of the cluster as a whole, they are compared to a flat user-configured threshold. This threshold is configured via the outlierDetection.failurePercentageThreshold field. The other configuration fields for failure percentage based detection are similar to the fields for success rate detection. As with success rate detection, detection will not be performed for a host if its request volume over the aggregation interval is less than the outlierDetection.detectors.failurePercentage.requestVolume value. Detection also will not be performed for a cluster if the number of hosts with the minimum required request volume in an interval is less than the outlierDetection.detectors.failurePercentage.minimumHosts value. type: object properties: minimumHosts: description: |- The minimum number of hosts in a cluster in order to perform failure percentage-based ejection. If the total number of hosts in the cluster is less than this value, failure percentage-based ejection will not be performed. type: integer format: int32 x-speakeasy-param-computed: false requestVolume: description: |- The minimum number of total requests that must be collected in one interval (as defined by the interval duration above) to perform failure percentage-based ejection for this host. If the volume is lower than this setting, failure percentage-based ejection will not be performed for this host. type: integer format: int32 x-speakeasy-param-computed: false threshold: description: |- The failure percentage to use when determining failure percentage-based outlier detection. If the failure percentage of a given host is greater than or equal to this value, it will be ejected. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false gatewayFailures: description: |- In the default mode (outlierDetection.splitExternalLocalOriginErrors is false) this detection type takes into account a subset of 5xx errors, called "gateway errors" (502, 503 or 504 status code) and local origin failures, such as timeout, TCP reset etc. In split mode (outlierDetection.splitExternalLocalOriginErrors is true) this detection type takes into account a subset of 5xx errors, called "gateway errors" (502, 503 or 504 status code) and is supported only by the http router. type: object properties: consecutive: description: |- The number of consecutive gateway failures (502, 503, 504 status codes) before a consecutive gateway failure ejection occurs. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false localOriginFailures: description: |- This detection type is enabled only when outlierDetection.splitExternalLocalOriginErrors is true and takes into account only locally originated errors (timeout, reset, etc). If Envoy repeatedly cannot connect to an upstream host or communication with the upstream host is repeatedly interrupted, it will be ejected. Various locally originated problems are detected: timeout, TCP reset, ICMP errors, etc. This detection type is supported by http router and tcp proxy. type: object properties: consecutive: description: |- The number of consecutive locally originated failures before ejection occurs. Parameter takes effect only when splitExternalAndLocalErrors is set to true. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false successRate: description: |- Success Rate based outlier detection aggregates success rate data from every host in a cluster. Then at given intervals ejects hosts based on statistical outlier detection. Success Rate outlier detection will not be calculated for a host if its request volume over the aggregation interval is less than the outlierDetection.detectors.successRate.requestVolume value. Moreover, detection will not be performed for a cluster if the number of hosts with the minimum required request volume in an interval is less than the outlierDetection.detectors.successRate.minimumHosts value. In the default configuration mode (outlierDetection.splitExternalLocalOriginErrors is false) this detection type takes into account all types of errors: locally and externally originated. In split mode (outlierDetection.splitExternalLocalOriginErrors is true), locally originated errors and externally originated (transaction) errors are counted and treated separately. type: object properties: minimumHosts: description: |- The number of hosts in a cluster that must have enough request volume to detect success rate outliers. If the number of hosts is less than this setting, outlier detection via success rate statistics is not performed for any host in the cluster. type: integer format: int32 x-speakeasy-param-computed: false requestVolume: description: |- The minimum number of total requests that must be collected in one interval (as defined by the interval duration configured in outlierDetection section) to include this host in success rate based outlier detection. If the volume is lower than this setting, outlier detection via success rate statistics is not performed for that host. type: integer format: int32 x-speakeasy-param-computed: false standardDeviationFactor: description: |- This factor is used to determine the ejection threshold for success rate outlier ejection. The ejection threshold is the difference between the mean success rate, and the product of this factor and the standard deviation of the mean success rate: mean - (standard_deviation * success_rate_standard_deviation_factor). Either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false totalFailures: description: |- In the default mode (outlierDetection.splitExternalAndLocalErrors is false) this detection type takes into account all generated errors: locally originated and externally originated (transaction) errors. In split mode (outlierDetection.splitExternalLocalOriginErrors is true) this detection type takes into account only externally originated (transaction) errors, ignoring locally originated errors. If an upstream host is an HTTP-server, only 5xx types of error are taken into account (see Consecutive Gateway Failure for exceptions). Properly formatted responses, even when they carry an operational error (like index not found, access denied) are not taken into account. type: object properties: consecutive: description: |- The number of consecutive server-side error responses (for HTTP traffic, 5xx responses; for TCP traffic, connection failures; for Redis, failure to respond PONG; etc.) before a consecutive total failure ejection occurs. type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false disabled: description: 'When set to true, outlierDetection configuration won''t take any effect' type: boolean x-speakeasy-param-computed: false healthyPanicThreshold: description: |- Allows to configure panic threshold for Envoy cluster. If not specified, the default is 50%. To disable panic mode, set to 0%. Either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false interval: description: |- The time interval between ejection analysis sweeps. This can result in both new ejections and hosts being returned to service. type: string x-speakeasy-param-computed: false maxEjectionPercent: description: |- The maximum % of an upstream cluster that can be ejected due to outlier detection. Defaults to 10% but will eject at least one host regardless of the value. type: integer format: int32 x-speakeasy-param-computed: false splitExternalAndLocalErrors: description: |- Determines whether to distinguish local origin failures from external errors. If set to true the following configuration parameters are taken into account: detectors.localOriginFailures.consecutive type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of destinations. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshFaultInjectionItem: description: 'MeshFaultInjection allows you to test the resiliency of your services by injecting faults like delays, connection aborts, and response bandwidth limits into the traffic. This is useful for chaos testing and validating that your applications handle failures gracefully.' type: object properties: type: description: the type of the resource type: string enum: - MeshFaultInjection x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mfi_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshFaultInjection resource. type: object properties: from: description: From list makes a match between clients and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of destinations referenced in 'targetRef' type: object properties: http: description: Http allows to define list of Http faults between dataplanes. type: array items: description: FaultInjection defines the configuration of faults between dataplanes. properties: abort: description: |- Abort defines a configuration of not delivering requests to destination service and replacing the responses from destination dataplane by predefined status code type: object properties: httpStatus: description: HTTP status code which will be returned to source side type: integer format: int32 x-speakeasy-param-computed: false percentage: description: |- Percentage of requests on which abort will be injected, has to be either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false required: - httpStatus - percentage x-speakeasy-param-computed: false delay: description: Delay defines configuration of delaying a response from a destination type: object properties: percentage: description: |- Percentage of requests on which delay will be injected, has to be either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false value: description: The duration during which the response will be delayed type: string x-speakeasy-param-computed: false required: - percentage - value x-speakeasy-param-computed: false responseBandwidth: description: |- ResponseBandwidth defines a configuration to limit the speed of responding to the requests type: object properties: limit: description: |- Limit is represented by value measure in Gbps, Mbps, kbps, e.g. 10kbps type: string x-speakeasy-param-computed: false percentage: description: |- Percentage of requests on which response bandwidth limit will be either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false required: - limit - percentage x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of destinations. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier rules: description: Rules defines inbound fault injection configuration type: array items: properties: default: description: Default defines fault configuration type: object properties: http: description: Http allows to define list of Http faults between dataplanes. type: array items: description: FaultInjection defines the configuration of faults between dataplanes. properties: abort: description: |- Abort defines a configuration of not delivering requests to destination service and replacing the responses from destination dataplane by predefined status code type: object properties: httpStatus: description: HTTP status code which will be returned to source side type: integer format: int32 x-speakeasy-param-computed: false percentage: description: |- Percentage of requests on which abort will be injected, has to be either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false required: - httpStatus - percentage x-speakeasy-param-computed: false delay: description: Delay defines configuration of delaying a response from a destination type: object properties: percentage: description: |- Percentage of requests on which delay will be injected, has to be either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false value: description: The duration during which the response will be delayed type: string x-speakeasy-param-computed: false required: - percentage - value x-speakeasy-param-computed: false responseBandwidth: description: |- ResponseBandwidth defines a configuration to limit the speed of responding to the requests type: object properties: limit: description: |- Limit is represented by value measure in Gbps, Mbps, kbps, e.g. 10kbps type: string x-speakeasy-param-computed: false percentage: description: |- Percentage of requests on which response bandwidth limit will be either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false required: - limit - percentage x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false matches: description: Matches defines list of matches for which fault injection will be applied type: array items: properties: spiffeID: description: SpiffeID defines a matcher configuration for SpiffeID matching type: object properties: type: description: Type defines how to match incoming traffic by SpiffeID. `Exact` or `Prefix` are allowed. type: string enum: - Exact - Prefix x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value is SpiffeId of a client that needs to match for the configuration to be applied type: string x-speakeasy-param-computed: false required: - type - value x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier required: - default type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false to: description: To list makes a match between clients and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of destinations referenced in 'targetRef' type: object properties: http: description: Http allows to define list of Http faults between dataplanes. type: array items: description: FaultInjection defines the configuration of faults between dataplanes. properties: abort: description: |- Abort defines a configuration of not delivering requests to destination service and replacing the responses from destination dataplane by predefined status code type: object properties: httpStatus: description: HTTP status code which will be returned to source side type: integer format: int32 x-speakeasy-param-computed: false percentage: description: |- Percentage of requests on which abort will be injected, has to be either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false required: - httpStatus - percentage x-speakeasy-param-computed: false delay: description: Delay defines configuration of delaying a response from a destination type: object properties: percentage: description: |- Percentage of requests on which delay will be injected, has to be either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false value: description: The duration during which the response will be delayed type: string x-speakeasy-param-computed: false required: - percentage - value x-speakeasy-param-computed: false responseBandwidth: description: |- ResponseBandwidth defines a configuration to limit the speed of responding to the requests type: object properties: limit: description: |- Limit is represented by value measure in Gbps, Mbps, kbps, e.g. 10kbps type: string x-speakeasy-param-computed: false percentage: description: |- Percentage of requests on which response bandwidth limit will be either int or decimal represented as string. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false required: - limit - percentage x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of destinations. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshGatewayItem: type: object properties: conf: description: The desired configuration of the MeshGateway. type: object properties: listeners: description: |- Listeners define logical endpoints that are bound on this MeshGateway's address(es). type: array items: properties: crossMesh: description: |- CrossMesh enables traffic to flow to this listener only from other meshes. type: boolean x-speakeasy-param-computed: false hostname: description: |- Hostname specifies the virtual hostname to match for protocol types that define this concept. When unspecified, "", or `*`, all hostnames are matched. This field can be omitted for protocols that don't require hostname based matching. type: string x-speakeasy-param-computed: false port: description: |- Port is the network port. Multiple listeners may use the same port, subject to the Listener compatibility rules. type: integer x-speakeasy-param-computed: false protocol: description: Protocol specifies the network protocol this listener expects to receive. oneOf: - type: string - type: integer x-speakeasy-param-computed: false resources: description: Resources is used to specify listener-specific resource settings. type: object properties: connectionLimit: type: integer x-speakeasy-param-computed: false x-speakeasy-param-computed: false tags: description: |- Tags specifies a unique combination of tags that routes can use to match themselves to this listener. When matching routes to listeners, the control plane constructs a set of matching tags for each listener by forming the union of the gateway tags and the listener tags. A route will be attached to the listener if all of the route's tags are preset in the matching tags type: object additionalProperties: type: string x-speakeasy-param-computed: false tls: description: |- TLS is the TLS configuration for the Listener. This field is required if the Protocol field is "HTTPS" or "TLS" and ignored otherwise. type: object properties: certificates: description: |- Certificates is an array of datasources that contain TLS certificates and private keys. Each datasource must contain a sequence of PEM-encoded objects. The server certificate and private key are required, but additional certificates are allowed and will be added to the certificate chain. The server certificate must be the first certificate in the datasource. When multiple certificate datasources are configured, they must have different key types. In practice, this means that one datasource should contain an RSA key and certificate, and the other an ECDSA key and certificate. type: array items: oneOf: - $ref: '#/components/schemas/DataSource_File' - $ref: '#/components/schemas/DataSource_Inline' - $ref: '#/components/schemas/DataSource_InlineString' - $ref: '#/components/schemas/DataSource_Secret' x-speakeasy-param-computed: false default: [] mode: description: |- Mode defines the TLS behavior for the TLS session initiated by the client. oneOf: - type: string - type: integer x-speakeasy-param-computed: false options: description: |- Options should eventually configure how TLS is configured. This is where cipher suite and version configuration can be specified, client certificates enforced, and so on. type: object properties: {} x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: object x-speakeasy-param-computed: false default: [] x-speakeasy-param-computed: false labels: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue mesh: type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true name: type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true selectors: description: |- Selectors is a list of selectors that are used to match builtin gateway dataplanes that will receive this MeshGateway configuration. type: array items: description: Selector defines structure for selecting tags for given dataplane properties: match: description: 'Tags to match, can be used for both source and destinations' type: object additionalProperties: type: string x-speakeasy-param-computed: false type: object x-speakeasy-param-computed: false default: [] tags: description: |- Tags is the set of tags common to all of the gateway's listeners. This field must not include a `kuma.io/service` tag (the service is always defined on the dataplanes). type: object additionalProperties: type: string x-speakeasy-param-computed: false type: type: string x-speakeasy-param-computed: false required: - type - name - mesh MeshHTTPRouteItem: description: |- NOTICE: This policy defines its own `GetDefault` method so that it can have the given structure for deserialization but still use the generic policy merging machinery. // MeshHTTPRoute configures how HTTP requests are routed between services in the mesh. It enables advanced traffic management including path-based routing, header matching, request/response modification, redirects, URL rewrites, traffic mirroring, and weighted load balancing across service endpoints. type: object properties: type: description: the type of the resource type: string enum: - MeshHTTPRoute x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mhttpr_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshHTTPRoute resource. type: object properties: targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false to: description: To matches destination services of requests and holds configuration. type: array items: properties: hostnames: description: |- Hostnames is only valid when targeting MeshGateway and limits the effects of the rules to requests to this hostname. Given hostnames must intersect with the hostname of the listeners the route attaches to. type: array items: type: string x-speakeasy-plan-modifiers: SupressZeroNullModifier rules: description: |- Rules contains the routing rules applies to a combination of top-level targetRef and the targetRef in this entry. type: array items: properties: default: description: |- Default holds routing rules that can be merged with rules from other policies. type: object properties: backendRefs: type: array items: description: BackendRef defines where to forward traffic. properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false port: description: Port is only supported when this ref refers to a real MeshService object type: integer format: int32 x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false weight: type: integer default: 1 minimum: 0 x-speakeasy-param-computed: false required: - kind type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier filters: type: array items: properties: requestHeaderModifier: description: |- Only one action is supported per header name. Configuration to set or add multiple values for a header must use RFC 7230 header value formatting, separating each value with a comma. type: object properties: add: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier remove: type: array items: type: string maxItems: 16 x-speakeasy-plan-modifiers: SupressZeroNullModifier set: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false requestMirror: type: object properties: backendRef: description: BackendRef defines where to forward traffic. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false port: description: Port is only supported when this ref refers to a real MeshService object type: integer format: int32 x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false weight: type: integer default: 1 minimum: 0 x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false percentage: description: |- Percentage of requests to mirror. If not specified, all requests to the target cluster will be mirrored. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false required: - backendRef x-speakeasy-param-computed: false requestRedirect: type: object properties: hostname: description: |- PreciseHostname is the fully qualified domain name of a network host. This matches the RFC 1123 definition of a hostname with 1 notable exception that numeric IP addresses are not allowed. Note that as per RFC1035 and RFC1123, a *label* must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character. No other punctuation is allowed. type: string maxLength: 253 minLength: 1 pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$' x-speakeasy-param-computed: false path: description: |- Path defines parameters used to modify the path of the incoming request. The modified path is then used to construct the location header. When empty, the request path is used as-is. type: object properties: replaceFullPath: type: string x-speakeasy-param-computed: false replacePrefixMatch: type: string x-speakeasy-param-computed: false type: type: string enum: - ReplaceFullPath - ReplacePrefixMatch x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false port: description: |- Port is the port to be used in the value of the `Location` header in the response. When empty, port (if specified) of the request is used. type: integer format: int32 maximum: 65535 minimum: 1 x-speakeasy-param-computed: false scheme: type: string enum: - http - https x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow statusCode: description: StatusCode is the HTTP status code to be used in response. type: integer default: 302 enum: - 301 - 302 - 303 - 307 - 308 x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false responseHeaderModifier: description: |- Only one action is supported per header name. Configuration to set or add multiple values for a header must use RFC 7230 header value formatting, separating each value with a comma. type: object properties: add: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier remove: type: array items: type: string maxItems: 16 x-speakeasy-plan-modifiers: SupressZeroNullModifier set: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false type: type: string enum: - RequestHeaderModifier - ResponseHeaderModifier - RequestRedirect - URLRewrite - RequestMirror x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow urlRewrite: type: object properties: hostToBackendHostname: description: |- HostToBackendHostname rewrites the hostname to the hostname of the upstream host. This option is only available when targeting MeshGateways. type: boolean x-speakeasy-param-computed: false hostname: description: Hostname is the value to be used to replace the host header value during forwarding. type: string maxLength: 253 minLength: 1 pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$' x-speakeasy-param-computed: false path: description: Path defines a path rewrite. type: object properties: replaceFullPath: type: string x-speakeasy-param-computed: false replacePrefixMatch: type: string x-speakeasy-param-computed: false type: type: string enum: - ReplaceFullPath - ReplacePrefixMatch x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false x-speakeasy-param-computed: false required: - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false matches: description: |- Matches describes how to match HTTP requests this rule should be applied to. type: array items: properties: headers: type: array items: description: |- HeaderMatch describes how to select an HTTP route by matching HTTP request headers. properties: name: description: |- Name is the name of the HTTP Header to be matched. Name MUST be lower case as they will be handled with case insensitivity (See https://tools.ietf.org/html/rfc7230#section-3.2). type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false type: description: Type specifies how to match against the value of the header. type: string default: Exact enum: - Exact - Present - RegularExpression - Absent - Prefix x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value is the value of HTTP Header to be matched. type: string x-speakeasy-param-computed: false required: - name type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier method: type: string enum: - CONNECT - DELETE - GET - HEAD - OPTIONS - PATCH - POST - PUT - TRACE x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow path: type: object properties: type: type: string enum: - Exact - PathPrefix - RegularExpression x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: |- Exact or prefix matches must be an absolute path. A prefix matches only if separated by a slash or the entire path. type: string minLength: 1 x-speakeasy-param-computed: false required: - type - value x-speakeasy-param-computed: false queryParams: description: |- QueryParams matches based on HTTP URL query parameters. Multiple matches are ANDed together such that all listed matches must succeed. type: array items: properties: name: type: string minLength: 1 x-speakeasy-param-computed: false type: type: string enum: - Exact - RegularExpression x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: type: string x-speakeasy-param-computed: false required: - name - type - value type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier type: object minItems: 1 x-speakeasy-plan-modifiers: SupressZeroNullModifier required: - default - matches type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier targetRef: description: |- TargetRef is a reference to the resource that represents a group of request destinations. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - rules - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshHealthCheckItem: description: 'MeshHealthCheck enables active health checking of services in the mesh. It periodically probes service endpoints using TCP, HTTP, or gRPC health checks to detect and remove unhealthy instances from the load balancing pool, improving overall service reliability.' type: object properties: type: description: the type of the resource type: string enum: - MeshHealthCheck x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mhc_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshHealthCheck resource. type: object properties: targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false to: description: To list makes a match between the consumed services and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of destinations referenced in 'targetRef' type: object properties: alwaysLogHealthCheckFailures: description: |- If set to true, health check failure events will always be logged. If set to false, only the initial health check failure event will be logged. The default value is false. type: boolean x-speakeasy-param-computed: false eventLogPath: description: |- Specifies the path to the file where Envoy can log health check events. If empty, no event log will be written. type: string x-speakeasy-param-computed: false failTrafficOnPanic: description: |- If set to true, Envoy will not consider any hosts when the cluster is in 'panic mode'. Instead, the cluster will fail all requests as if all hosts are unhealthy. This can help avoid potentially overwhelming a failing service. type: boolean x-speakeasy-param-computed: false grpc: description: |- GrpcHealthCheck defines gRPC configuration which will instruct the service the health check will be made for is a gRPC service. type: object properties: authority: description: |- The value of the :authority header in the gRPC health check request, by default name of the cluster this health check is associated with type: string x-speakeasy-param-computed: false disabled: description: If true the GrpcHealthCheck is disabled type: boolean x-speakeasy-param-computed: false serviceName: description: Service name parameter which will be sent to gRPC service type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false healthyPanicThreshold: description: |- Allows to configure panic threshold for Envoy cluster. If not specified, the default is 50%. To disable panic mode, set to 0%. Either int or decimal represented as string. Deprecated: the setting has been moved to MeshCircuitBreaker policy, please use MeshCircuitBreaker policy instead. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false healthyThreshold: description: |- Number of consecutive healthy checks before considering a host healthy. If not specified then the default value is 1 type: integer format: int32 x-speakeasy-param-computed: false http: description: |- HttpHealthCheck defines HTTP configuration which will instruct the service the health check will be made for is an HTTP service. type: object properties: disabled: description: If true the HttpHealthCheck is disabled type: boolean x-speakeasy-param-computed: false expectedStatuses: description: List of HTTP response statuses which are considered healthy type: array items: type: integer x-speakeasy-plan-modifiers: SupressZeroNullModifier path: description: |- The HTTP path which will be requested during the health check (ie. /health) If not specified then the default value is "/" type: string x-speakeasy-param-computed: false requestHeadersToAdd: description: |- The list of HTTP headers which should be added to each health check request type: object properties: add: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier set: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false x-speakeasy-param-computed: false initialJitter: description: |- If specified, Envoy will start health checking after a random time in ms between 0 and initialJitter. This only applies to the first health check. type: string x-speakeasy-param-computed: false interval: description: |- Interval between consecutive health checks. If not specified then the default value is 1m type: string x-speakeasy-param-computed: false intervalJitter: description: |- If specified, during every interval Envoy will add IntervalJitter to the wait time. type: string x-speakeasy-param-computed: false intervalJitterPercent: description: |- If specified, during every interval Envoy will add IntervalJitter * IntervalJitterPercent / 100 to the wait time. If IntervalJitter and IntervalJitterPercent are both set, both of them will be used to increase the wait time. type: integer format: int32 x-speakeasy-param-computed: false noTrafficInterval: description: |- The "no traffic interval" is a special health check interval that is used when a cluster has never had traffic routed to it. This lower interval allows cluster information to be kept up to date, without sending a potentially large amount of active health checking traffic for no reason. Once a cluster has been used for traffic routing, Envoy will shift back to using the standard health check interval that is defined. Note that this interval takes precedence over any other. The default value for "no traffic interval" is 60 seconds. type: string x-speakeasy-param-computed: false reuseConnection: description: Reuse health check connection between health checks. Default is true. type: boolean x-speakeasy-param-computed: false tcp: description: |- TcpHealthCheck defines configuration for specifying bytes to send and expected response during the health check type: object properties: disabled: description: If true the TcpHealthCheck is disabled type: boolean x-speakeasy-param-computed: false receive: description: |- List of Base64 encoded blocks of strings expected as a response. When checking the response, "fuzzy" matching is performed such that each block must be found, and in the order specified, but not necessarily contiguous. If not provided or empty, checks will be performed as "connect only" and be marked as successful when TCP connection is successfully established. type: array items: type: string x-speakeasy-plan-modifiers: SupressZeroNullModifier send: description: Base64 encoded content of the message which will be sent during the health check to the target type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false timeout: description: |- Maximum time to wait for a health check response. If not specified then the default value is 15s type: string x-speakeasy-param-computed: false unhealthyThreshold: description: |- Number of consecutive unhealthy checks before considering a host unhealthy. If not specified then the default value is 5 type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of destinations. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshLoadBalancingStrategyItem: description: 'MeshLoadBalancingStrategy configures how traffic is distributed across service instances. It supports multiple load balancing algorithms (round-robin, least request, ring hash, random, maglev), locality-aware routing to prefer nearby instances, and cross-zone failover strategies for high availability.' type: object properties: type: description: the type of the resource type: string enum: - MeshLoadBalancingStrategy x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mlbs_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshLoadBalancingStrategy resource. type: object properties: targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false to: description: To list makes a match between the consumed services and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of destinations referenced in 'targetRef' type: object properties: hashPolicies: description: |- HashPolicies specify a list of request/connection properties that are used to calculate a hash. These hash policies are executed in the specified order. If a hash policy has the “terminal” attribute set to true, and there is already a hash generated, the hash is returned immediately, ignoring the rest of the hash policy list. type: array items: properties: connection: type: object properties: sourceIP: description: Hash on source IP address. type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false cookie: type: object properties: name: description: The name of the cookie that will be used to obtain the hash key. type: string minLength: 1 x-speakeasy-param-computed: false path: description: The name of the path for the cookie. type: string x-speakeasy-param-computed: false ttl: description: 'If specified, a cookie with the TTL will be generated if the cookie is not present.' type: string x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false filterState: type: object properties: key: description: |- The name of the Object in the per-request filterState, which is an Envoy::Hashable object. If there is no data associated with the key, or the stored object is not Envoy::Hashable, no hash will be produced. type: string minLength: 1 x-speakeasy-param-computed: false required: - key x-speakeasy-param-computed: false header: type: object properties: name: description: The name of the request header that will be used to obtain the hash key. type: string minLength: 1 x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false queryParameter: type: object properties: name: description: |- The name of the URL query parameter that will be used to obtain the hash key. If the parameter is not present, no hash will be produced. Query parameter names are case-sensitive. type: string minLength: 1 x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false terminal: description: |- Terminal is a flag that short-circuits the hash computing. This field provides a ‘fallback’ style of configuration: “if a terminal policy doesn’t work, fallback to rest of the policy list”, it saves time when the terminal policy works. If true, and there is already a hash computed, ignore rest of the list of hash polices. type: boolean x-speakeasy-param-computed: false type: type: string enum: - Header - Cookie - Connection - SourceIP - QueryParameter - FilterState x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier loadBalancer: description: LoadBalancer allows to specify load balancing algorithm. type: object properties: leastRequest: description: |- LeastRequest selects N random available hosts as specified in 'choiceCount' (2 by default) and picks the host which has the fewest active requests type: object properties: activeRequestBias: description: |- ActiveRequestBias refers to dynamic weights applied when hosts have varying load balancing weights. A higher value here aggressively reduces the weight of endpoints that are currently handling active requests. In essence, the higher the ActiveRequestBias value, the more forcefully it reduces the load balancing weight of endpoints that are actively serving requests. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false choiceCount: description: |- ChoiceCount is the number of random healthy hosts from which the host with the fewest active requests will be chosen. Defaults to 2 so that Envoy performs two-choice selection if the field is not set. type: integer format: int32 minimum: 2 x-speakeasy-param-computed: false x-speakeasy-param-computed: false maglev: description: |- Maglev implements consistent hashing to upstream hosts. Maglev can be used as a drop in replacement for the ring hash load balancer any place in which consistent hashing is desired. type: object properties: hashPolicies: description: |- HashPolicies specify a list of request/connection properties that are used to calculate a hash. These hash policies are executed in the specified order. If a hash policy has the “terminal” attribute set to true, and there is already a hash generated, the hash is returned immediately, ignoring the rest of the hash policy list. type: array items: properties: connection: type: object properties: sourceIP: description: Hash on source IP address. type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false cookie: type: object properties: name: description: The name of the cookie that will be used to obtain the hash key. type: string minLength: 1 x-speakeasy-param-computed: false path: description: The name of the path for the cookie. type: string x-speakeasy-param-computed: false ttl: description: 'If specified, a cookie with the TTL will be generated if the cookie is not present.' type: string x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false filterState: type: object properties: key: description: |- The name of the Object in the per-request filterState, which is an Envoy::Hashable object. If there is no data associated with the key, or the stored object is not Envoy::Hashable, no hash will be produced. type: string minLength: 1 x-speakeasy-param-computed: false required: - key x-speakeasy-param-computed: false header: type: object properties: name: description: The name of the request header that will be used to obtain the hash key. type: string minLength: 1 x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false queryParameter: type: object properties: name: description: |- The name of the URL query parameter that will be used to obtain the hash key. If the parameter is not present, no hash will be produced. Query parameter names are case-sensitive. type: string minLength: 1 x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false terminal: description: |- Terminal is a flag that short-circuits the hash computing. This field provides a ‘fallback’ style of configuration: “if a terminal policy doesn’t work, fallback to rest of the policy list”, it saves time when the terminal policy works. If true, and there is already a hash computed, ignore rest of the list of hash polices. type: boolean x-speakeasy-param-computed: false type: type: string enum: - Header - Cookie - Connection - SourceIP - QueryParameter - FilterState x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier tableSize: description: |- The table size for Maglev hashing. Maglev aims for “minimal disruption” rather than an absolute guarantee. Minimal disruption means that when the set of upstream hosts change, a connection will likely be sent to the same upstream as it was before. Increasing the table size reduces the amount of disruption. The table size must be prime number limited to 5000011. If it is not specified, the default is 65537. type: integer format: int32 maximum: 5000011 minimum: 1 x-speakeasy-param-computed: false x-speakeasy-param-computed: false random: description: |- Random selects a random available host. The random load balancer generally performs better than round-robin if no health checking policy is configured. Random selection avoids bias towards the host in the set that comes after a failed host. type: object x-speakeasy-param-computed: false ringHash: description: |- RingHash implements consistent hashing to upstream hosts. Each host is mapped onto a circle (the “ring”) by hashing its address; each request is then routed to a host by hashing some property of the request, and finding the nearest corresponding host clockwise around the ring. type: object properties: hashFunction: description: |- HashFunction is a function used to hash hosts onto the ketama ring. The value defaults to XX_HASH. Available values – XX_HASH, MURMUR_HASH_2. type: string enum: - XXHash - MurmurHash2 x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow hashPolicies: description: |- HashPolicies specify a list of request/connection properties that are used to calculate a hash. These hash policies are executed in the specified order. If a hash policy has the “terminal” attribute set to true, and there is already a hash generated, the hash is returned immediately, ignoring the rest of the hash policy list. type: array items: properties: connection: type: object properties: sourceIP: description: Hash on source IP address. type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false cookie: type: object properties: name: description: The name of the cookie that will be used to obtain the hash key. type: string minLength: 1 x-speakeasy-param-computed: false path: description: The name of the path for the cookie. type: string x-speakeasy-param-computed: false ttl: description: 'If specified, a cookie with the TTL will be generated if the cookie is not present.' type: string x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false filterState: type: object properties: key: description: |- The name of the Object in the per-request filterState, which is an Envoy::Hashable object. If there is no data associated with the key, or the stored object is not Envoy::Hashable, no hash will be produced. type: string minLength: 1 x-speakeasy-param-computed: false required: - key x-speakeasy-param-computed: false header: type: object properties: name: description: The name of the request header that will be used to obtain the hash key. type: string minLength: 1 x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false queryParameter: type: object properties: name: description: |- The name of the URL query parameter that will be used to obtain the hash key. If the parameter is not present, no hash will be produced. Query parameter names are case-sensitive. type: string minLength: 1 x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false terminal: description: |- Terminal is a flag that short-circuits the hash computing. This field provides a ‘fallback’ style of configuration: “if a terminal policy doesn’t work, fallback to rest of the policy list”, it saves time when the terminal policy works. If true, and there is already a hash computed, ignore rest of the list of hash polices. type: boolean x-speakeasy-param-computed: false type: type: string enum: - Header - Cookie - Connection - SourceIP - QueryParameter - FilterState x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier maxRingSize: description: |- Maximum hash ring size. Defaults to 8M entries, and limited to 8M entries, but can be lowered to further constrain resource use. type: integer format: int32 maximum: 8000000 minimum: 1 x-speakeasy-param-computed: false minRingSize: description: |- Minimum hash ring size. The larger the ring is (that is, the more hashes there are for each provided host) the better the request distribution will reflect the desired weights. Defaults to 1024 entries, and limited to 8M entries. type: integer format: int32 maximum: 8000000 minimum: 1 x-speakeasy-param-computed: false x-speakeasy-param-computed: false roundRobin: description: |- RoundRobin is a load balancing algorithm that distributes requests across available upstream hosts in round-robin order. type: object x-speakeasy-param-computed: false type: type: string enum: - RoundRobin - LeastRequest - RingHash - Random - Maglev x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false localityAwareness: description: LocalityAwareness contains configuration for locality aware load balancing. type: object properties: crossZone: description: |- CrossZone defines locality aware load balancing priorities when dataplane proxies inside local zone are unavailable type: object properties: failover: description: Failover defines list of load balancing rules in order of priority type: array items: properties: from: description: From defines the list of zones to which the rule applies type: object properties: zones: type: array items: type: string x-speakeasy-plan-modifiers: SupressZeroNullModifier required: - zones x-speakeasy-param-computed: false to: description: To defines to which zones the traffic should be load balanced type: object properties: type: description: Type defines how target zones will be picked from available zones type: string enum: - None - Only - Any - AnyExcept x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow zones: type: array items: type: string x-speakeasy-plan-modifiers: SupressZeroNullModifier required: - type x-speakeasy-param-computed: false required: - to type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier failoverThreshold: description: |- FailoverThreshold defines the percentage of live destination dataplane proxies below which load balancing to the next priority starts. Example: If you configure failoverThreshold to 70, and you have deployed 10 destination dataplane proxies. Load balancing to next priority will start when number of live destination dataplane proxies drops below 7. Default 50 type: object properties: percentage: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false required: - percentage x-speakeasy-param-computed: false x-speakeasy-param-computed: false disabled: description: |- Disabled allows to disable locality-aware load balancing. When disabled requests are distributed across all endpoints regardless of locality. type: boolean x-speakeasy-param-computed: false localZone: description: LocalZone defines locality aware load balancing priorities between dataplane proxies inside a zone type: object properties: affinityTags: description: AffinityTags list of tags for local zone load balancing. type: array items: properties: key: description: Key defines tag for which affinity is configured type: string x-speakeasy-param-computed: false weight: description: |- Weight of the tag used for load balancing. The bigger the weight the bigger the priority. Percentage of local traffic load balanced to tag is computed by dividing weight by sum of weights from all tags. For example with two affinity tags first with weight 80 and second with weight 20, then 80% of traffic will be redirected to the first tag, and 20% of traffic will be redirected to second one. Setting weights is not mandatory. When weights are not set control plane will compute default weight based on list order. Default: If you do not specify weight we will adjust them so that 90% traffic goes to first tag, 9% to next, and 1% to third and so on. type: integer format: int32 x-speakeasy-param-computed: false required: - key type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of destinations. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshMetricItem: description: 'MeshMetric enables collection and export of service mesh metrics. It configures sidecar and application metrics scraping, allows customization of which metrics are published, and supports exporting to Prometheus or OpenTelemetry backends for monitoring and observability.' type: object properties: type: description: the type of the resource type: string enum: - MeshMetric x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mm_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshMetric resource. type: object properties: default: description: MeshMetric configuration. type: object properties: applications: description: Applications is a list of application that Dataplane Proxy will scrape type: array items: properties: address: description: Address on which an application listens. type: string x-speakeasy-param-computed: false name: description: Name of the application to scrape type: string x-speakeasy-param-computed: false path: description: Path on which an application expose HTTP endpoint with metrics. type: string default: /metrics x-speakeasy-param-computed: false port: description: Port on which an application expose HTTP endpoint with metrics. type: integer format: int32 x-speakeasy-param-computed: false required: - port type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier backends: description: Backends list that will be used to collect metrics. type: array items: properties: openTelemetry: description: OpenTelemetry backend configuration type: object properties: endpoint: description: Endpoint for OpenTelemetry collector type: string x-speakeasy-param-computed: false refreshInterval: description: RefreshInterval defines how frequent metrics should be pushed to collector type: string x-speakeasy-param-computed: false required: - endpoint x-speakeasy-param-computed: false prometheus: description: Prometheus backend configuration. type: object properties: clientId: description: ClientId of the Prometheus backend. Needed when using MADS for DP discovery. type: string x-speakeasy-param-computed: false path: description: Path on which a dataplane should expose HTTP endpoint with Prometheus metrics. type: string default: /metrics x-speakeasy-param-computed: false port: description: Port on which a dataplane should expose HTTP endpoint with Prometheus metrics. type: integer format: int32 default: 5670 x-speakeasy-param-computed: false tls: description: Configuration of TLS for prometheus listener. type: object properties: mode: description: Configuration of TLS for Prometheus listener. type: string default: Disabled enum: - Disabled - ProvidedTLS - ActiveMTLSBackend x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: description: Type of the backend that will be used to collect metrics. At the moment only Prometheus backend is available. type: string enum: - Prometheus - OpenTelemetry x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier sidecar: description: Sidecar metrics collection configuration type: object properties: includeUnused: description: |- IncludeUnused if false will scrape only metrics that has been by sidecar (counters incremented at least once, gauges changed at least once, and histograms added to at least once). If true will scrape all metrics (even the ones with zeros). If not specified then the default value is false. type: boolean x-speakeasy-param-computed: false profiles: description: Profiles allows to customize which metrics are published. type: object properties: appendProfiles: description: AppendProfiles allows to combine the metrics from multiple predefined profiles. type: array items: properties: name: description: 'Name of the predefined profile, one of: all, basic, none' type: string enum: - All - Basic - None x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - name type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier exclude: description: |- Exclude makes it possible to exclude groups of metrics from a resulting profile. Exclude is subordinate to Include. type: array items: properties: match: description: Match is the value used to match using particular Type type: string x-speakeasy-param-computed: false type: description: 'Type defined the type of selector, one of: prefix, regex, exact' type: string enum: - Prefix - Regex - Exact - Contains x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - match - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier include: description: |- Include makes it possible to include additional metrics in a selected profiles. Include takes precedence over Exclude. type: array items: properties: match: description: Match is the value used to match using particular Type type: string x-speakeasy-param-computed: false type: description: 'Type defined the type of selector, one of: prefix, regex, exact' type: string enum: - Prefix - Regex - Exact - Contains x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - match - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined in-place. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshPassthroughItem: description: 'MeshPassthrough controls how traffic to external services (outside the mesh) is handled by the sidecar proxy. It allows you to configure passthrough mode to permit, deny, or selectively allow traffic to specific external destinations based on domain names, IPs, or CIDR ranges.' type: object properties: type: description: the type of the resource type: string enum: - MeshPassthrough x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mp_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshPassthrough resource. type: object properties: default: description: MeshPassthrough configuration. type: object properties: appendMatch: description: AppendMatch is a list of destinations that should be allowed through the sidecar. type: array items: properties: port: description: Port defines the port to which a user makes a request. type: integer format: int32 x-speakeasy-param-computed: false protocol: description: 'Protocol defines the communication protocol. Possible values: `tcp`, `tls`, `grpc`, `http`, `http2`, `mysql`.' type: string default: tcp enum: - tcp - tls - grpc - http - http2 - mysql x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow type: description: 'Type of the match, one of `Domain`, `IP` or `CIDR` is available.' type: string enum: - Domain - IP - CIDR x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value for the specified Type. type: string x-speakeasy-param-computed: false required: - type - value type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier passthroughMode: description: |- Defines the passthrough behavior. Possible values: `All`, `None`, `Matched` When `All` or `None` `appendMatch` has no effect. If not specified then the default value is "Matched". type: string enum: - All - Matched - None x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined in-place. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshProxyPatchItem: description: 'MeshProxyPatch provides advanced customization of the Envoy proxy configuration generated by Kuma. It allows you to add, remove, or modify Envoy resources (clusters, listeners, filters, virtual hosts) using YAML patches or JSON patches for fine-grained control beyond standard policies.' type: object properties: type: description: the type of the resource type: string enum: - MeshProxyPatch x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mpp_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshProxyPatch resource. type: object properties: default: description: |- Default is a configuration specific to the group of destinations referenced in 'targetRef'. type: object properties: appendModifications: description: AppendModifications is a list of modifications applied on the selected proxy. type: array items: properties: cluster: description: Cluster is a modification of Envoy's Cluster resource. type: object properties: jsonPatches: description: |- JsonPatches specifies list of jsonpatches to apply to on Envoy's Cluster resource type: array items: description: JsonPatchBlock is one json patch operation block. properties: from: description: 'From is a jsonpatch from string, used by move and copy operations.' type: string x-speakeasy-param-computed: false op: description: Op is a jsonpatch operation string. type: string enum: - add - remove - replace - move - copy x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow path: description: Path is a jsonpatch path string. type: string x-speakeasy-param-computed: false value: description: Value must be a valid json value used by replace and add operations. x-kubernetes-preserve-unknown-fields: true x-speakeasy-param-computed: false required: - op - path type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier match: description: Match is a set of conditions that have to be matched for modification operation to happen. type: object properties: name: description: Name of the cluster to match. type: string x-speakeasy-param-computed: false origin: description: |- Origin is the name of the component or plugin that generated the resource. Here is the list of well-known origins: inbound - resources generated for handling incoming traffic. outbound - resources generated for handling outgoing traffic. transparent - resources generated for transparent proxy functionality. prometheus - resources generated when Prometheus metrics are enabled. direct-access - resources generated for Direct Access functionality. ingress - resources generated for Zone Ingress. egress - resources generated for Zone Egress. gateway - resources generated for MeshGateway. The list is not complete, because policy plugins can introduce new resources. For example MeshTrace plugin can create Cluster with "mesh-trace" origin. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false operation: description: Operation to execute on matched cluster. type: string enum: - Add - Remove - Patch x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value of xDS resource in YAML format to add or patch. type: string x-speakeasy-param-computed: false required: - operation x-speakeasy-param-computed: false httpFilter: description: |- HTTPFilter is a modification of Envoy HTTP Filter available in HTTP Connection Manager in a Listener resource. type: object properties: jsonPatches: description: |- JsonPatches specifies list of jsonpatches to apply to on Envoy's HTTP Filter available in HTTP Connection Manager in a Listener resource. type: array items: description: JsonPatchBlock is one json patch operation block. properties: from: description: 'From is a jsonpatch from string, used by move and copy operations.' type: string x-speakeasy-param-computed: false op: description: Op is a jsonpatch operation string. type: string enum: - add - remove - replace - move - copy x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow path: description: Path is a jsonpatch path string. type: string x-speakeasy-param-computed: false value: description: Value must be a valid json value used by replace and add operations. x-kubernetes-preserve-unknown-fields: true x-speakeasy-param-computed: false required: - op - path type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier match: description: Match is a set of conditions that have to be matched for modification operation to happen. type: object properties: listenerName: description: Name of the listener to match. type: string x-speakeasy-param-computed: false listenerTags: description: 'Listener tags available in Listener#Metadata#FilterMetadata[io.kuma.tags]' type: object additionalProperties: type: string x-speakeasy-param-computed: false name: description: Name of the HTTP filter. For example "envoy.filters.http.local_ratelimit" type: string x-speakeasy-param-computed: false origin: description: |- Origin is the name of the component or plugin that generated the resource. Here is the list of well-known origins: inbound - resources generated for handling incoming traffic. outbound - resources generated for handling outgoing traffic. transparent - resources generated for transparent proxy functionality. prometheus - resources generated when Prometheus metrics are enabled. direct-access - resources generated for Direct Access functionality. ingress - resources generated for Zone Ingress. egress - resources generated for Zone Egress. gateway - resources generated for MeshGateway. The list is not complete, because policy plugins can introduce new resources. For example MeshTrace plugin can create Cluster with "mesh-trace" origin. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false operation: description: Operation to execute on matched listener. type: string enum: - Remove - Patch - AddFirst - AddBefore - AddAfter - AddLast x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value of xDS resource in YAML format to add or patch. type: string x-speakeasy-param-computed: false required: - operation x-speakeasy-param-computed: false listener: description: Listener is a modification of Envoy's Listener resource. type: object properties: jsonPatches: description: |- JsonPatches specifies list of jsonpatches to apply to on Envoy's Listener resource type: array items: description: JsonPatchBlock is one json patch operation block. properties: from: description: 'From is a jsonpatch from string, used by move and copy operations.' type: string x-speakeasy-param-computed: false op: description: Op is a jsonpatch operation string. type: string enum: - add - remove - replace - move - copy x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow path: description: Path is a jsonpatch path string. type: string x-speakeasy-param-computed: false value: description: Value must be a valid json value used by replace and add operations. x-kubernetes-preserve-unknown-fields: true x-speakeasy-param-computed: false required: - op - path type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier match: description: Match is a set of conditions that have to be matched for modification operation to happen. type: object properties: name: description: Name of the listener to match. type: string x-speakeasy-param-computed: false origin: description: |- Origin is the name of the component or plugin that generated the resource. Here is the list of well-known origins: inbound - resources generated for handling incoming traffic. outbound - resources generated for handling outgoing traffic. transparent - resources generated for transparent proxy functionality. prometheus - resources generated when Prometheus metrics are enabled. direct-access - resources generated for Direct Access functionality. ingress - resources generated for Zone Ingress. egress - resources generated for Zone Egress. gateway - resources generated for MeshGateway. The list is not complete, because policy plugins can introduce new resources. For example MeshTrace plugin can create Cluster with "mesh-trace" origin. type: string x-speakeasy-param-computed: false tags: description: 'Tags available in Listener#Metadata#FilterMetadata[io.kuma.tags]' type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false operation: description: Operation to execute on matched listener. type: string enum: - Add - Remove - Patch x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value of xDS resource in YAML format to add or patch. type: string x-speakeasy-param-computed: false required: - operation x-speakeasy-param-computed: false networkFilter: description: NetworkFilter is a modification of Envoy Listener's filter. type: object properties: jsonPatches: description: |- JsonPatches specifies list of jsonpatches to apply to on Envoy Listener's filter. type: array items: description: JsonPatchBlock is one json patch operation block. properties: from: description: 'From is a jsonpatch from string, used by move and copy operations.' type: string x-speakeasy-param-computed: false op: description: Op is a jsonpatch operation string. type: string enum: - add - remove - replace - move - copy x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow path: description: Path is a jsonpatch path string. type: string x-speakeasy-param-computed: false value: description: Value must be a valid json value used by replace and add operations. x-kubernetes-preserve-unknown-fields: true x-speakeasy-param-computed: false required: - op - path type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier match: description: Match is a set of conditions that have to be matched for modification operation to happen. type: object properties: listenerName: description: Name of the listener to match. type: string x-speakeasy-param-computed: false listenerTags: description: 'Listener tags available in Listener#Metadata#FilterMetadata[io.kuma.tags]' type: object additionalProperties: type: string x-speakeasy-param-computed: false name: description: Name of the network filter. For example "envoy.filters.network.ratelimit" type: string x-speakeasy-param-computed: false origin: description: |- Origin is the name of the component or plugin that generated the resource. Here is the list of well-known origins: inbound - resources generated for handling incoming traffic. outbound - resources generated for handling outgoing traffic. transparent - resources generated for transparent proxy functionality. prometheus - resources generated when Prometheus metrics are enabled. direct-access - resources generated for Direct Access functionality. ingress - resources generated for Zone Ingress. egress - resources generated for Zone Egress. gateway - resources generated for MeshGateway. The list is not complete, because policy plugins can introduce new resources. For example MeshTrace plugin can create Cluster with "mesh-trace" origin. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false operation: description: Operation to execute on matched listener. type: string enum: - Remove - Patch - AddFirst - AddBefore - AddAfter - AddLast x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value of xDS resource in YAML format to add or patch. type: string x-speakeasy-param-computed: false required: - operation x-speakeasy-param-computed: false virtualHost: description: |- VirtualHost is a modification of Envoy's VirtualHost referenced in HTTP Connection Manager in a Listener resource. type: object properties: jsonPatches: description: |- JsonPatches specifies list of jsonpatches to apply to on Envoy's VirtualHost resource type: array items: description: JsonPatchBlock is one json patch operation block. properties: from: description: 'From is a jsonpatch from string, used by move and copy operations.' type: string x-speakeasy-param-computed: false op: description: Op is a jsonpatch operation string. type: string enum: - add - remove - replace - move - copy x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow path: description: Path is a jsonpatch path string. type: string x-speakeasy-param-computed: false value: description: Value must be a valid json value used by replace and add operations. x-kubernetes-preserve-unknown-fields: true x-speakeasy-param-computed: false required: - op - path type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier match: description: Match is a set of conditions that have to be matched for modification operation to happen. type: object properties: name: description: Name of the VirtualHost to match. type: string x-speakeasy-param-computed: false origin: description: |- Origin is the name of the component or plugin that generated the resource. Here is the list of well-known origins: inbound - resources generated for handling incoming traffic. outbound - resources generated for handling outgoing traffic. transparent - resources generated for transparent proxy functionality. prometheus - resources generated when Prometheus metrics are enabled. direct-access - resources generated for Direct Access functionality. ingress - resources generated for Zone Ingress. egress - resources generated for Zone Egress. gateway - resources generated for MeshGateway. The list is not complete, because policy plugins can introduce new resources. For example MeshTrace plugin can create Cluster with "mesh-trace" origin. type: string x-speakeasy-param-computed: false routeConfigurationName: description: Name of the RouteConfiguration resource to match. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false operation: description: Operation to execute on matched listener. type: string enum: - Add - Remove - Patch x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value of xDS resource in YAML format to add or patch. type: string x-speakeasy-param-computed: false required: - match - operation x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - default x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshRateLimitItem: description: MeshRateLimit protects services from being overwhelmed by limiting the rate of incoming requests or connections. It supports local rate limiting for both HTTP (requests per interval) and TCP (connections per interval) traffic with customizable response codes and headers for rate-limited requests. type: object properties: type: description: the type of the resource type: string enum: - MeshRateLimit x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mrl_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshRateLimit resource. type: object properties: from: description: From list makes a match between clients and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of clients referenced in 'targetRef' type: object properties: local: description: LocalConf defines local http or/and tcp rate limit configuration type: object properties: http: description: |- LocalHTTP defines configuration of local HTTP rate limiting https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/local_rate_limit_filter type: object properties: disabled: description: Define if rate limiting should be disabled. type: boolean x-speakeasy-param-computed: false onRateLimit: description: Describes the actions to take on a rate limit event type: object properties: headers: description: The Headers to be added to the HTTP response on a rate limit event type: object properties: add: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier set: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false status: description: The HTTP status code to be set on a rate limit event type: integer format: int32 x-speakeasy-param-computed: false requestRate: description: Defines how many requests are allowed per interval. type: object properties: interval: description: The interval the number of units is accounted for. type: string x-speakeasy-param-computed: false num: description: |- Number of units per interval (depending on usage it can be a number of requests, or a number of connections). type: integer format: int32 x-speakeasy-param-computed: false required: - interval - num x-speakeasy-param-computed: false x-speakeasy-param-computed: false tcp: description: |- LocalTCP defines confguration of local TCP rate limiting https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/local_rate_limit_filter type: object properties: connectionRate: description: Defines how many connections are allowed per interval. type: object properties: interval: description: The interval the number of units is accounted for. type: string x-speakeasy-param-computed: false num: description: |- Number of units per interval (depending on usage it can be a number of requests, or a number of connections). type: integer format: int32 x-speakeasy-param-computed: false required: - interval - num x-speakeasy-param-computed: false disabled: description: |- Define if rate limiting should be disabled. Default: false type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of clients. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier rules: description: |- Rules defines inbound rate limiting configurations. Currently limited to selecting all inbound traffic, as L7 matching is not yet implemented. type: array items: properties: default: description: Default contains configuration of the inbound rate limits type: object properties: local: description: LocalConf defines local http or/and tcp rate limit configuration type: object properties: http: description: |- LocalHTTP defines configuration of local HTTP rate limiting https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/local_rate_limit_filter type: object properties: disabled: description: Define if rate limiting should be disabled. type: boolean x-speakeasy-param-computed: false onRateLimit: description: Describes the actions to take on a rate limit event type: object properties: headers: description: The Headers to be added to the HTTP response on a rate limit event type: object properties: add: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier set: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false status: description: The HTTP status code to be set on a rate limit event type: integer format: int32 x-speakeasy-param-computed: false requestRate: description: Defines how many requests are allowed per interval. type: object properties: interval: description: The interval the number of units is accounted for. type: string x-speakeasy-param-computed: false num: description: |- Number of units per interval (depending on usage it can be a number of requests, or a number of connections). type: integer format: int32 x-speakeasy-param-computed: false required: - interval - num x-speakeasy-param-computed: false x-speakeasy-param-computed: false tcp: description: |- LocalTCP defines confguration of local TCP rate limiting https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/local_rate_limit_filter type: object properties: connectionRate: description: Defines how many connections are allowed per interval. type: object properties: interval: description: The interval the number of units is accounted for. type: string x-speakeasy-param-computed: false num: description: |- Number of units per interval (depending on usage it can be a number of requests, or a number of connections). type: integer format: int32 x-speakeasy-param-computed: false required: - interval - num x-speakeasy-param-computed: false disabled: description: |- Define if rate limiting should be disabled. Default: false type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false to: description: To list makes a match between clients and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of clients referenced in 'targetRef' type: object properties: local: description: LocalConf defines local http or/and tcp rate limit configuration type: object properties: http: description: |- LocalHTTP defines configuration of local HTTP rate limiting https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/local_rate_limit_filter type: object properties: disabled: description: Define if rate limiting should be disabled. type: boolean x-speakeasy-param-computed: false onRateLimit: description: Describes the actions to take on a rate limit event type: object properties: headers: description: The Headers to be added to the HTTP response on a rate limit event type: object properties: add: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier set: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false status: description: The HTTP status code to be set on a rate limit event type: integer format: int32 x-speakeasy-param-computed: false requestRate: description: Defines how many requests are allowed per interval. type: object properties: interval: description: The interval the number of units is accounted for. type: string x-speakeasy-param-computed: false num: description: |- Number of units per interval (depending on usage it can be a number of requests, or a number of connections). type: integer format: int32 x-speakeasy-param-computed: false required: - interval - num x-speakeasy-param-computed: false x-speakeasy-param-computed: false tcp: description: |- LocalTCP defines confguration of local TCP rate limiting https://www.envoyproxy.io/docs/envoy/latest/configuration/listeners/network_filters/local_rate_limit_filter type: object properties: connectionRate: description: Defines how many connections are allowed per interval. type: object properties: interval: description: The interval the number of units is accounted for. type: string x-speakeasy-param-computed: false num: description: |- Number of units per interval (depending on usage it can be a number of requests, or a number of connections). type: integer format: int32 x-speakeasy-param-computed: false required: - interval - num x-speakeasy-param-computed: false disabled: description: |- Define if rate limiting should be disabled. Default: false type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of clients. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshRetryItem: description: 'MeshRetry configures automatic retry behavior for failed requests to improve service reliability. It supports configurable retry conditions, limits, timeouts, and backoff strategies for HTTP, gRPC, and TCP traffic, helping services recover from transient failures.' type: object properties: type: description: the type of the resource type: string enum: - MeshRetry x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mr_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshRetry resource. type: object properties: targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false to: description: To list makes a match between the consumed services and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of destinations referenced in 'targetRef' type: object properties: grpc: description: GRPC defines a configuration of retries for GRPC traffic type: object properties: backOff: description: |- BackOff is a configuration of durations which will be used in an exponential backoff strategy between retries. type: object properties: baseInterval: description: |- BaseInterval is an amount of time which should be taken between retries. Must be greater than zero. Values less than 1 ms are rounded up to 1 ms. If not specified then the default value is "25ms". type: string x-speakeasy-param-computed: false maxInterval: description: |- MaxInterval is a maximal amount of time which will be taken between retries. Default is 10 times the "BaseInterval". type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false numRetries: description: |- NumRetries is the number of attempts that will be made on failed (and retriable) requests. If not set, the default value is 1. type: integer format: int32 x-speakeasy-param-computed: false perTryTimeout: description: |- PerTryTimeout is the maximum amount of time each retry attempt can take before it times out. If not set, the global request timeout for the route will be used. Setting this value to 0 will disable the per-try timeout. type: string x-speakeasy-param-computed: false rateLimitedBackOff: description: |- RateLimitedBackOff is a configuration of backoff which will be used when the upstream returns one of the headers configured. type: object properties: maxInterval: description: |- MaxInterval is a maximal amount of time which will be taken between retries. If not specified then the default value is "300s". type: string x-speakeasy-param-computed: false resetHeaders: description: |- ResetHeaders specifies the list of headers (like Retry-After or X-RateLimit-Reset) to match against the response. Headers are tried in order, and matched case-insensitive. The first header to be parsed successfully is used. If no headers match the default exponential BackOff is used instead. type: array items: properties: format: description: The format of the reset header. type: string enum: - Seconds - UnixTimestamp x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow name: description: The Name of the reset header. type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false required: - format - name type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false retryOn: description: RetryOn is a list of conditions which will cause a retry. type: array items: enum: - Canceled - DeadlineExceeded - Internal - ResourceExhausted - Unavailable type: string x-speakeasy-unknown-values: allow example: - Canceled - DeadlineExceeded - Internal - ResourceExhausted - Unavailable x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false http: description: HTTP defines a configuration of retries for HTTP traffic type: object properties: backOff: description: |- BackOff is a configuration of durations which will be used in exponential backoff strategy between retries. type: object properties: baseInterval: description: |- BaseInterval is an amount of time which should be taken between retries. Must be greater than zero. Values less than 1 ms are rounded up to 1 ms. If not specified then the default value is "25ms". type: string x-speakeasy-param-computed: false maxInterval: description: |- MaxInterval is a maximal amount of time which will be taken between retries. Default is 10 times the "BaseInterval". type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false hostSelection: description: |- HostSelection is a list of predicates that dictate how hosts should be selected when requests are retried. type: array items: properties: predicate: description: Type is requested predicate mode. type: string enum: - OmitPreviousHosts - OmitHostsWithTags - OmitPreviousPriorities x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow tags: description: |- Tags is a map of metadata to match against for selecting the omitted hosts. Required if Type is OmitHostsWithTags type: object additionalProperties: type: string x-speakeasy-param-computed: false updateFrequency: description: |- UpdateFrequency is how often the priority load should be updated based on previously attempted priorities. Used for OmitPreviousPriorities. type: integer format: int32 default: 2 x-speakeasy-param-computed: false required: - predicate type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier hostSelectionMaxAttempts: description: |- HostSelectionMaxAttempts is the maximum number of times host selection will be reattempted before giving up, at which point the host that was last selected will be routed to. If unspecified, this will default to retrying once. type: integer format: int64 x-speakeasy-param-computed: false numRetries: description: |- NumRetries is the number of attempts that will be made on failed (and retriable) requests. If not set, the default value is 1. type: integer format: int32 x-speakeasy-param-computed: false perTryTimeout: description: |- PerTryTimeout is the amount of time after which retry attempt should time out. If left unspecified, the global route timeout for the request will be used. Consequently, when using a 5xx based retry policy, a request that times out will not be retried as the total timeout budget would have been exhausted. Setting this timeout to 0 will disable it. type: string x-speakeasy-param-computed: false rateLimitedBackOff: description: |- RateLimitedBackOff is a configuration of backoff which will be used when the upstream returns one of the headers configured. type: object properties: maxInterval: description: |- MaxInterval is a maximal amount of time which will be taken between retries. If not specified then the default value is "300s". type: string x-speakeasy-param-computed: false resetHeaders: description: |- ResetHeaders specifies the list of headers (like Retry-After or X-RateLimit-Reset) to match against the response. Headers are tried in order, and matched case-insensitive. The first header to be parsed successfully is used. If no headers match the default exponential BackOff is used instead. type: array items: properties: format: description: The format of the reset header. type: string enum: - Seconds - UnixTimestamp x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow name: description: The Name of the reset header. type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false required: - format - name type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false retriableRequestHeaders: description: |- RetriableRequestHeaders is an HTTP headers which must be present in the request for retries to be attempted. type: array items: description: |- HeaderMatch describes how to select an HTTP route by matching HTTP request headers. properties: name: description: |- Name is the name of the HTTP Header to be matched. Name MUST be lower case as they will be handled with case insensitivity (See https://tools.ietf.org/html/rfc7230#section-3.2). type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false type: description: Type specifies how to match against the value of the header. type: string default: Exact enum: - Exact - Present - RegularExpression - Absent - Prefix x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value is the value of HTTP Header to be matched. type: string x-speakeasy-param-computed: false required: - name type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier retriableResponseHeaders: description: |- RetriableResponseHeaders is an HTTP response headers that trigger a retry if present in the response. A retry will be triggered if any of the header matches the upstream response headers. type: array items: description: |- HeaderMatch describes how to select an HTTP route by matching HTTP request headers. properties: name: description: |- Name is the name of the HTTP Header to be matched. Name MUST be lower case as they will be handled with case insensitivity (See https://tools.ietf.org/html/rfc7230#section-3.2). type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false type: description: Type specifies how to match against the value of the header. type: string default: Exact enum: - Exact - Present - RegularExpression - Absent - Prefix x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value is the value of HTTP Header to be matched. type: string x-speakeasy-param-computed: false required: - name type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier retryOn: description: |- RetryOn is a list of conditions which will cause a retry. Available values are: [5XX, GatewayError, Reset, Retriable4xx, ConnectFailure, EnvoyRatelimited, RefusedStream, Http3PostConnectFailure, HttpMethodConnect, HttpMethodDelete, HttpMethodGet, HttpMethodHead, HttpMethodOptions, HttpMethodPatch, HttpMethodPost, HttpMethodPut, HttpMethodTrace]. Also, any HTTP status code (500, 503, etc.). type: array items: type: string example: - 5XX - GatewayError - Reset - Retriable4xx - ConnectFailure - EnvoyRatelimited - RefusedStream - Http3PostConnectFailure - HttpMethodConnect - HttpMethodDelete - HttpMethodGet - HttpMethodHead - HttpMethodOptions - HttpMethodPatch - HttpMethodPost - HttpMethodPut - HttpMethodTrace - '500' - '503' x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false tcp: description: TCP defines a configuration of retries for TCP traffic type: object properties: maxConnectAttempt: description: |- MaxConnectAttempt is a maximal amount of TCP connection attempts which will be made before giving up type: integer format: int32 x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of destinations. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshTCPRouteItem: description: |- NOTICE: This policy defines its own `GetDefault` method so that it can have the given structure for deserialization but still use the generic policy merging machinery. // MeshTCPRoute configures routing for TCP traffic between services in the mesh. It enables traffic splitting and weighted load balancing across different backend endpoints, useful for canary deployments, blue-green deployments, and gradual traffic migration for TCP-based services. type: object properties: type: description: the type of the resource type: string enum: - MeshTCPRoute x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mtcpr_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshTCPRoute resource. type: object properties: targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined in-place. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false to: description: |- To list makes a match between the consumed services and corresponding configurations type: array items: properties: rules: description: |- Rules contains the routing rules applies to a combination of top-level targetRef and the targetRef in this entry. type: array items: properties: default: description: |- Default holds routing rules that can be merged with rules from other policies. type: object properties: backendRefs: type: array items: description: BackendRef defines where to forward traffic. properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false port: description: Port is only supported when this ref refers to a real MeshService object type: integer format: int32 x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false weight: type: integer default: 1 minimum: 0 x-speakeasy-param-computed: false required: - kind type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false required: - default type: object maxItems: 1 x-speakeasy-plan-modifiers: SupressZeroNullModifier targetRef: description: |- TargetRef is a reference to the resource that represents a group of destinations. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - rules - targetRef type: object minItems: 1 x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshTLSItem: description: 'MeshTLS configures TLS and mutual TLS (mTLS) settings for secure communication between services in the mesh. It allows you to enforce encryption, configure TLS versions and cipher suites, and control whether mTLS is required (strict mode) or optional (permissive mode) for inbound traffic.' type: object properties: type: description: the type of the resource type: string enum: - MeshTLS x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mtls_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshTLS resource. type: object properties: from: description: From list makes a match between clients and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of clients referenced in 'targetRef' type: object properties: mode: description: Mode defines the behavior of inbound listeners with regard to traffic encryption. type: string enum: - Permissive - Strict x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow tlsCiphers: description: TlsCiphers section for providing ciphers specification. type: array items: enum: - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-RSA-CHACHA20-POLY1305 type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier tlsVersion: description: Version section for providing version specification. type: object properties: max: description: 'Max defines maximum supported version. One of `TLSAuto`, `TLS10`, `TLS11`, `TLS12`, `TLS13`.' type: string default: TLSAuto enum: - TLSAuto - TLS10 - TLS11 - TLS12 - TLS13 x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow min: description: 'Min defines minimum supported version. One of `TLSAuto`, `TLS10`, `TLS11`, `TLS12`, `TLS13`.' type: string default: TLSAuto enum: - TLSAuto - TLS10 - TLS11 - TLS12 - TLS13 x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of clients. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier rules: description: |- Rules defines inbound tls configurations. Currently limited to selecting all inbound traffic, as L7 matching is not yet implemented. type: array items: properties: default: description: Default contains configuration of the inbound tls type: object properties: mode: description: Mode defines the behavior of inbound listeners with regard to traffic encryption. type: string enum: - Permissive - Strict x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow tlsCiphers: description: TlsCiphers section for providing ciphers specification. type: array items: enum: - ECDHE-ECDSA-AES128-GCM-SHA256 - ECDHE-ECDSA-AES256-GCM-SHA384 - ECDHE-ECDSA-CHACHA20-POLY1305 - ECDHE-RSA-AES128-GCM-SHA256 - ECDHE-RSA-AES256-GCM-SHA384 - ECDHE-RSA-CHACHA20-POLY1305 type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier tlsVersion: description: Version section for providing version specification. type: object properties: max: description: 'Max defines maximum supported version. One of `TLSAuto`, `TLS10`, `TLS11`, `TLS12`, `TLS13`.' type: string default: TLSAuto enum: - TLSAuto - TLS10 - TLS11 - TLS12 - TLS13 x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow min: description: 'Min defines minimum supported version. One of `TLSAuto`, `TLS10`, `TLS11`, `TLS12`, `TLS13`.' type: string default: TLSAuto enum: - TLSAuto - TLS10 - TLS11 - TLS12 - TLS13 x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined in-place. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshTimeoutItem: description: 'MeshTimeout configures timeout limits for service-to-service communication to prevent requests from hanging indefinitely. It supports connection timeouts, idle timeouts, and HTTP-specific timeouts (request, stream, headers) to ensure timely failure detection and improve service responsiveness.' type: object properties: type: description: the type of the resource type: string enum: - MeshTimeout x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mt_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshTimeout resource. type: object properties: from: description: From list makes a match between clients and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of clients referenced in 'targetRef' type: object properties: connectionTimeout: description: |- ConnectionTimeout specifies the amount of time proxy will wait for an TCP connection to be established. Default value is 5 seconds. Cannot be set to 0. type: string x-speakeasy-param-computed: false http: description: Http provides configuration for HTTP specific timeouts type: object properties: maxConnectionDuration: description: |- MaxConnectionDuration is the time after which a connection will be drained and/or closed, starting from when it was first established. Setting this timeout to 0 will disable it. Disabled by default. type: string x-speakeasy-param-computed: false maxStreamDuration: description: |- MaxStreamDuration is the maximum time that a stream’s lifetime will span. Setting this timeout to 0 will disable it. Disabled by default. type: string x-speakeasy-param-computed: false requestHeadersTimeout: description: |- RequestHeadersTimeout The amount of time that proxy will wait for the request headers to be received. The timer is activated when the first byte of the headers is received, and is disarmed when the last byte of the headers has been received. If not specified or set to 0, this timeout is disabled. Disabled by default. type: string x-speakeasy-param-computed: false requestTimeout: description: |- RequestTimeout The amount of time that proxy will wait for the entire request to be received. The timer is activated when the request is initiated, and is disarmed when the last byte of the request is sent, OR when the response is initiated. Setting this timeout to 0 will disable it. Default is 15s. type: string x-speakeasy-param-computed: false streamIdleTimeout: description: |- StreamIdleTimeout is the amount of time that proxy will allow a stream to exist with no activity. Setting this timeout to 0 will disable it. Default is 30m type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false idleTimeout: description: |- IdleTimeout is defined as the period in which there are no bytes sent or received on connection Setting this timeout to 0 will disable it. Be cautious when disabling it because it can lead to connection leaking. Default value is 1h. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of clients. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier rules: description: |- Rules defines inbound timeout configurations. Currently limited to exactly one rule containing default timeouts that apply to all inbound traffic, as L7 matching is not yet implemented. type: array items: properties: default: description: Default contains configuration of the inbound timeouts type: object properties: connectionTimeout: description: |- ConnectionTimeout specifies the amount of time proxy will wait for an TCP connection to be established. Default value is 5 seconds. Cannot be set to 0. type: string x-speakeasy-param-computed: false http: description: Http provides configuration for HTTP specific timeouts type: object properties: maxConnectionDuration: description: |- MaxConnectionDuration is the time after which a connection will be drained and/or closed, starting from when it was first established. Setting this timeout to 0 will disable it. Disabled by default. type: string x-speakeasy-param-computed: false maxStreamDuration: description: |- MaxStreamDuration is the maximum time that a stream’s lifetime will span. Setting this timeout to 0 will disable it. Disabled by default. type: string x-speakeasy-param-computed: false requestHeadersTimeout: description: |- RequestHeadersTimeout The amount of time that proxy will wait for the request headers to be received. The timer is activated when the first byte of the headers is received, and is disarmed when the last byte of the headers has been received. If not specified or set to 0, this timeout is disabled. Disabled by default. type: string x-speakeasy-param-computed: false requestTimeout: description: |- RequestTimeout The amount of time that proxy will wait for the entire request to be received. The timer is activated when the request is initiated, and is disarmed when the last byte of the request is sent, OR when the response is initiated. Setting this timeout to 0 will disable it. Default is 15s. type: string x-speakeasy-param-computed: false streamIdleTimeout: description: |- StreamIdleTimeout is the amount of time that proxy will allow a stream to exist with no activity. Setting this timeout to 0 will disable it. Default is 30m type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false idleTimeout: description: |- IdleTimeout is defined as the period in which there are no bytes sent or received on connection Setting this timeout to 0 will disable it. Be cautious when disabling it because it can lead to connection leaking. Default value is 1h. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false to: description: To list makes a match between the consumed services and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of destinations referenced in 'targetRef' type: object properties: connectionTimeout: description: |- ConnectionTimeout specifies the amount of time proxy will wait for an TCP connection to be established. Default value is 5 seconds. Cannot be set to 0. type: string x-speakeasy-param-computed: false http: description: Http provides configuration for HTTP specific timeouts type: object properties: maxConnectionDuration: description: |- MaxConnectionDuration is the time after which a connection will be drained and/or closed, starting from when it was first established. Setting this timeout to 0 will disable it. Disabled by default. type: string x-speakeasy-param-computed: false maxStreamDuration: description: |- MaxStreamDuration is the maximum time that a stream’s lifetime will span. Setting this timeout to 0 will disable it. Disabled by default. type: string x-speakeasy-param-computed: false requestHeadersTimeout: description: |- RequestHeadersTimeout The amount of time that proxy will wait for the request headers to be received. The timer is activated when the first byte of the headers is received, and is disarmed when the last byte of the headers has been received. If not specified or set to 0, this timeout is disabled. Disabled by default. type: string x-speakeasy-param-computed: false requestTimeout: description: |- RequestTimeout The amount of time that proxy will wait for the entire request to be received. The timer is activated when the request is initiated, and is disarmed when the last byte of the request is sent, OR when the response is initiated. Setting this timeout to 0 will disable it. Default is 15s. type: string x-speakeasy-param-computed: false streamIdleTimeout: description: |- StreamIdleTimeout is the amount of time that proxy will allow a stream to exist with no activity. Setting this timeout to 0 will disable it. Default is 30m type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false idleTimeout: description: |- IdleTimeout is defined as the period in which there are no bytes sent or received on connection Setting this timeout to 0 will disable it. Be cautious when disabling it because it can lead to connection leaking. Default value is 1h. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of destinations. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshTraceItem: description: 'MeshTrace enables distributed tracing to track requests as they flow through multiple services in the mesh. It supports exporting trace data to backends like Zipkin, Datadog, and OpenTelemetry, with configurable sampling rates and custom tags for detailed observability and debugging of service interactions.' type: object properties: type: description: the type of the resource type: string enum: - MeshTrace x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mtr_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshTrace resource. type: object properties: default: description: MeshTrace configuration. type: object properties: backends: description: |- A one element array of backend definition. Envoy allows configuring only 1 backend, so the natural way of representing that would be just one object. Unfortunately due to the reasons explained in MADR 009-tracing-policy this has to be a one element array for now. type: array items: description: 'Only one of zipkin, datadog or openTelemetry can be used.' properties: datadog: description: Datadog backend configuration. type: object properties: splitService: description: |- Determines if datadog service name should be split based on traffic direction and destination. For example, with `splitService: true` and a `backend` service that communicates with a couple of databases, you would get service names like `backend_INBOUND`, `backend_OUTBOUND_db1`, and `backend_OUTBOUND_db2` in Datadog. type: boolean default: false x-speakeasy-param-computed: false url: description: |- Address of Datadog collector, only host and port are allowed (no paths, fragments etc.) type: string x-speakeasy-param-computed: false required: - url x-speakeasy-param-computed: false openTelemetry: description: OpenTelemetry backend configuration. type: object properties: endpoint: description: Address of OpenTelemetry collector. type: string example: 'otel-collector:4317' minLength: 1 x-speakeasy-param-computed: false required: - endpoint x-speakeasy-param-computed: false type: type: string enum: - Zipkin - Datadog - OpenTelemetry x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow zipkin: description: Zipkin backend configuration. type: object properties: apiVersion: description: |- Version of the API. https://github.com/envoyproxy/envoy/blob/v1.22.0/api/envoy/config/trace/v3/zipkin.proto#L66 type: string default: httpJson enum: - httpJson - httpProto x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow sharedSpanContext: description: |- Determines whether client and server spans will share the same span context. https://github.com/envoyproxy/envoy/blob/v1.22.0/api/envoy/config/trace/v3/zipkin.proto#L63 type: boolean default: true x-speakeasy-param-computed: false traceId128bit: description: Generate 128bit traces. type: boolean default: false x-speakeasy-param-computed: false url: description: Address of Zipkin collector. type: string x-speakeasy-param-computed: false required: - url x-speakeasy-param-computed: false required: - type type: object maxItems: 1 x-speakeasy-plan-modifiers: SupressZeroNullModifier sampling: description: |- Sampling configuration. Sampling is the process by which a decision is made on whether to process/export a span or not. type: object properties: client: description: |- Target percentage of requests that will be force traced if the 'x-client-trace-id' header is set. Mirror of client_sampling in Envoy https://github.com/envoyproxy/envoy/blob/v1.22.0/api/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto#L127-L133 Either int or decimal represented as string. If not specified then the default value is 100. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false overall: description: |- Target percentage of requests will be traced after all other sampling checks have been applied (client, force tracing, random sampling). This field functions as an upper limit on the total configured sampling rate. For instance, setting client to 100 but overall to 1 will result in only 1% of client requests with the appropriate headers to be force traced. Mirror of overall_sampling in Envoy https://github.com/envoyproxy/envoy/blob/v1.22.0/api/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto#L142-L150 Either int or decimal represented as string. If not specified then the default value is 100. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false random: description: |- Target percentage of requests that will be randomly selected for trace generation, if not requested by the client or not forced. Mirror of random_sampling in Envoy https://github.com/envoyproxy/envoy/blob/v1.22.0/api/envoy/config/filter/network/http_connection_manager/v2/http_connection_manager.proto#L135-L140 Either int or decimal represented as string. If not specified then the default value is 100. anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false x-speakeasy-param-computed: false tags: description: |- Custom tags configuration. You can add custom tags to traces based on headers or literal values. type: array items: description: |- Custom tags configuration. Only one of literal or header can be used. properties: header: description: Tag taken from a header. type: object properties: default: description: |- Default value to use if header is missing. If the default is missing and there is no value the tag will not be included. type: string x-speakeasy-param-computed: false name: description: Name of the header. type: string x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false literal: description: Tag taken from literal value. type: string x-speakeasy-param-computed: false name: description: Name of the tag. type: string x-speakeasy-param-computed: false required: - name type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshTrafficPermissionItem: description: 'MeshTrafficPermission controls which services are allowed to communicate with each other in the mesh. It provides fine-grained access control by allowing you to define allow/deny rules based on service identity, enabling zero-trust security and supporting shadow mode for testing permission changes before enforcement.' type: object properties: type: description: the type of the resource type: string enum: - MeshTrafficPermission x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mtp_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshTrafficPermission resource. type: object properties: from: description: From list makes a match between clients and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of clients referenced in 'targetRef' type: object properties: action: description: 'Action defines a behavior for the specified group of clients:' type: string enum: - Allow - Deny - AllowWithShadowDeny x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of clients. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier rules: description: Rules defines inbound permissions configuration type: array items: properties: default: type: object properties: allow: description: Allow definees a list of matches for which access will be allowed type: array items: properties: spiffeID: description: SpiffeID defines a matcher configuration for SpiffeID matching type: object properties: type: description: Type defines how to match incoming traffic by SpiffeID. `Exact` or `Prefix` are allowed. type: string enum: - Exact - Prefix x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value is SpiffeId of a client that needs to match for the configuration to be applied type: string x-speakeasy-param-computed: false required: - type - value x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier allowWithShadowDeny: description: |- AllowWithShadowDeny defines a list of matches for which access will be allowed but emits logs as if requests are denied type: array items: properties: spiffeID: description: SpiffeID defines a matcher configuration for SpiffeID matching type: object properties: type: description: Type defines how to match incoming traffic by SpiffeID. `Exact` or `Prefix` are allowed. type: string enum: - Exact - Prefix x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value is SpiffeId of a client that needs to match for the configuration to be applied type: string x-speakeasy-param-computed: false required: - type - value x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier deny: description: Deny defines a list of matches for which access will be denied type: array items: properties: spiffeID: description: SpiffeID defines a matcher configuration for SpiffeID matching type: object properties: type: description: Type defines how to match incoming traffic by SpiffeID. `Exact` or `Prefix` are allowed. type: string enum: - Exact - Prefix x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value is SpiffeId of a client that needs to match for the configuration to be applied type: string x-speakeasy-param-computed: false required: - type - value x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false required: - default type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec ZoneEgressItem: type: object properties: labels: type: object additionalProperties: type: string x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false networking: description: Networking defines the address and port of the Egress to listen on. type: object properties: address: description: Address on which inbound listener will be exposed type: string x-speakeasy-param-computed: false admin: description: Admin contains configuration related to Envoy Admin API type: object properties: port: description: Port on which Envoy Admin API server will be listening type: integer x-speakeasy-param-computed: false x-speakeasy-param-computed: false port: description: Port of the inbound interface that will forward requests to the service. type: integer x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: type: string x-speakeasy-param-computed: false zone: description: |- Zone field contains Zone name where egress is serving, field will be automatically set by Global Kuma CP type: string x-speakeasy-param-computed: false required: - type - name ZoneIngressItem: type: object properties: availableServices: description: |- AvailableService contains tags that represent unique subset of endpoints type: array items: properties: externalService: description: instance of external service available from the zone type: boolean x-speakeasy-param-computed: false instances: description: number of instances available for given tags type: integer x-speakeasy-param-computed: false mesh: description: mesh of the instances available for given tags type: string x-speakeasy-param-computed: false tags: description: tags of the service type: object additionalProperties: type: string x-speakeasy-param-computed: false type: object default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier labels: type: object additionalProperties: type: string x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false networking: description: |- Networking defines the address and port of the Ingress to listen on. Additionally publicly advertised address and port could be specified. type: object properties: address: description: Address on which inbound listener will be exposed type: string x-speakeasy-param-computed: false admin: description: Admin contains configuration related to Envoy Admin API type: object properties: port: description: Port on which Envoy Admin API server will be listening type: integer x-speakeasy-param-computed: false x-speakeasy-param-computed: false advertisedAddress: description: |- AdvertisedAddress defines IP or DNS name on which ZoneIngress is accessible to other Kuma clusters. type: string x-speakeasy-param-computed: false advertisedPort: description: |- AdvertisedPort defines port on which ZoneIngress is accessible to other Kuma clusters. type: integer x-speakeasy-param-computed: false port: description: Port of the inbound interface that will forward requests to the service. type: integer x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: type: string x-speakeasy-param-computed: false zone: description: |- Zone field contains Zone name where ingress is serving, field will be automatically set by Global Kuma CP type: string x-speakeasy-param-computed: false required: - type - name SecretItem: type: object properties: data: description: Value of the secret type: string format: byte x-speakeasy-param-computed: false labels: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue mesh: type: string x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false type: type: string x-speakeasy-param-computed: false required: - type - name - mesh HostnameGeneratorItem: description: 'HostnameGenerator automatically generates DNS hostnames for services in the mesh based on customizable templates. It provides a consistent naming scheme for service discovery by creating predictable hostnames from service labels and metadata, supporting both MeshService, MeshExternalService, and MeshMultiZoneService resources.' type: object properties: type: description: the type of the resource type: string enum: - HostnameGenerator x-speakeasy-param-computed: false kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_hg___kuma-system_myresource1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false spec: description: Spec is the specification of the Kuma HostnameGenerator resource. type: object properties: extension: description: Extension struct for a plugin configuration type: object properties: config: description: Config freeform configuration for the extension. default: null nullable: true x-kubernetes-preserve-unknown-fields: true x-speakeasy-param-computed: false type: description: Type of the extension. type: string x-speakeasy-param-computed: false required: - type x-speakeasy-param-computed: false selector: type: object properties: meshExternalService: type: object properties: matchLabels: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false meshMultiZoneService: type: object properties: matchLabels: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false meshService: type: object properties: matchLabels: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false template: type: string x-speakeasy-param-computed: false required: - template x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshExternalServiceItem: description: 'MeshExternalService represents external services (outside the mesh) that mesh services can communicate with securely. It enables mesh services to reach external APIs, databases, or third-party services by defining endpoints, ports, protocols, and optional TLS configuration for secure outbound connections with hostname-based routing support.' type: object properties: type: description: the type of the resource type: string enum: - MeshExternalService x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_extsvc_default_zone-east_kuma-system_myresource1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshExternalService resource. type: object properties: endpoints: description: Endpoints defines a list of destinations to send traffic to. type: array items: properties: address: description: 'Address defines an address to which a user want to send a request. Is possible to provide `domain`, `ip`.' type: string example: example.com minLength: 1 x-speakeasy-param-computed: false port: description: Port of the endpoint type: integer format: int32 maximum: 65535 minimum: 1 x-speakeasy-param-computed: false required: - address - port type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier extension: description: 'Extension struct for a plugin configuration, in the presence of an extension `endpoints` and `tls` are not required anymore - it''s up to the extension to validate them independently.' type: object properties: config: description: Config freeform configuration for the extension. x-kubernetes-preserve-unknown-fields: true x-speakeasy-plan-modifiers: ArbitraryJSONModifier type: description: Type of the extension. type: string x-speakeasy-param-computed: false required: - type x-speakeasy-param-computed: false match: description: Match defines traffic that should be routed through the sidecar. type: object properties: port: description: Port defines a port to which a user does request. type: integer format: int32 maximum: 65535 minimum: 1 x-speakeasy-param-computed: false protocol: description: 'Protocol defines a protocol of the communication. Possible values: `tcp`, `grpc`, `http`, `http2`.' type: string default: tcp enum: - tcp - grpc - http - http2 x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow type: description: 'Type of the match, only `HostnameGenerator` is available at the moment.' type: string default: HostnameGenerator enum: - HostnameGenerator x-speakeasy-param-computed: false required: - port x-speakeasy-param-computed: false tls: description: Tls provides a TLS configuration when proxy is resposible for a TLS origination type: object properties: allowRenegotiation: description: |- AllowRenegotiation defines if TLS sessions will allow renegotiation. Setting this to true is not recommended for security reasons. type: boolean default: false x-speakeasy-param-computed: false enabled: description: Enabled defines if proxy should originate TLS. type: boolean default: false x-speakeasy-param-computed: false verification: description: Verification section for providing TLS verification details. type: object properties: caCert: description: CaCert defines a certificate of CA. type: object properties: inline: description: Data source is inline bytes. type: string format: byte x-speakeasy-param-computed: false inlineString: description: Data source is inline string` type: string x-speakeasy-param-computed: false secret: description: Data source is a secret with given Secret key. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false clientCert: description: ClientCert defines a certificate of a client. type: object properties: inline: description: Data source is inline bytes. type: string format: byte x-speakeasy-param-computed: false inlineString: description: Data source is inline string` type: string x-speakeasy-param-computed: false secret: description: Data source is a secret with given Secret key. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false clientKey: description: ClientKey defines a client private key. type: object properties: inline: description: Data source is inline bytes. type: string format: byte x-speakeasy-param-computed: false inlineString: description: Data source is inline string` type: string x-speakeasy-param-computed: false secret: description: Data source is a secret with given Secret key. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false mode: description: 'Mode defines if proxy should skip verification, one of `SkipSAN`, `SkipCA`, `Secured`, `SkipAll`. Default `Secured`.' type: string default: Secured enum: - SkipSAN - SkipCA - Secured - SkipAll x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow serverName: description: ServerName overrides the default Server Name Indicator set by Kuma. type: string x-speakeasy-param-computed: false subjectAltNames: description: SubjectAltNames list of names to verify in the certificate. type: array items: properties: type: description: 'Type specifies matching type, one of `Exact`, `Prefix`. Default: `Exact`' type: string default: Exact enum: - Exact - Prefix x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: description: Value to match. type: string x-speakeasy-param-computed: false required: - value type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false version: description: Version section for providing version specification. type: object properties: max: description: 'Max defines maximum supported version. One of `TLSAuto`, `TLS10`, `TLS11`, `TLS12`, `TLS13`.' type: string default: TLSAuto enum: - TLSAuto - TLS10 - TLS11 - TLS12 - TLS13 x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow min: description: 'Min defines minimum supported version. One of `TLSAuto`, `TLS10`, `TLS11`, `TLS12`, `TLS13`.' type: string default: TLSAuto enum: - TLSAuto - TLS10 - TLS11 - TLS12 - TLS13 x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false x-speakeasy-param-computed: false required: - match x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true status: description: Status is the current status of the Kuma MeshExternalService resource. type: object properties: addresses: description: Addresses section for generated domains type: array items: properties: hostname: type: string x-speakeasy-param-computed: false hostnameGeneratorRef: type: object properties: coreName: type: string x-speakeasy-param-computed: false required: - coreName x-speakeasy-param-computed: false origin: type: string x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier hostnameGenerators: type: array items: properties: conditions: description: Conditions is an array of hostname generator conditions. type: array items: properties: message: description: |- message is a human readable message indicating details about the transition. This may be an empty string. type: string maxLength: 32768 x-speakeasy-param-computed: false reason: description: |- reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. type: string maxLength: 1024 minLength: 1 pattern: '^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$' x-speakeasy-param-computed: false status: description: 'status of the condition, one of True, False, Unknown.' type: string enum: - 'True' - 'False' - Unknown x-speakeasy-unknown-values: allow type: description: type of condition in CamelCase or in foo.example.com/CamelCase. type: string maxLength: 316 pattern: '^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$' x-speakeasy-param-computed: false required: - message - reason - status - type type: object x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier hostnameGeneratorRef: type: object properties: coreName: type: string x-speakeasy-param-computed: false required: - coreName x-speakeasy-param-computed: false required: - hostnameGeneratorRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier vip: description: Vip section for allocated IP type: object properties: ip: description: Value allocated IP for a provided domain with `HostnameGenerator` type in a match section. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshIdentityItem: description: 'MeshIdentity manages service identity and certificate provisioning for workloads in the mesh. It configures how services obtain their identity certificates, supporting multiple providers including bundled certificates (self-signed or user-provided CA), SPIRE integration, and custom SPIFFE ID configuration for secure service-to-service authentication.' type: object properties: type: description: the type of the resource type: string enum: - MeshIdentity x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mid_default_zone-east_kuma-system_myresource1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshIdentity resource. type: object properties: provider: type: object properties: bundled: description: |- Bundled provides information about certificates that are generated by the control plane, either autogenerated or provided by the user. type: object properties: autogenerate: description: Autogenerate configures the control plane to use self-signed certificates. type: object properties: enabled: type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false ca: description: CA has configuration related to the CA type: object properties: certificate: description: Certificate allows the user to specify a custom certificate. type: object properties: envVar: type: object properties: name: type: string x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false file: type: object properties: path: type: string x-speakeasy-param-computed: false required: - path x-speakeasy-param-computed: false insecureInline: type: object properties: value: type: string x-speakeasy-param-computed: false required: - value x-speakeasy-param-computed: false secretRef: type: object properties: kind: type: string enum: - Secret x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false required: - kind - name x-speakeasy-param-computed: false type: type: string enum: - File - Secret - EnvVar - InsecureInline x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false privateKey: description: PrivateKey allows the user to specify a custom private key. type: object properties: envVar: type: object properties: name: type: string x-speakeasy-param-computed: false required: - name x-speakeasy-param-computed: false file: type: object properties: path: type: string x-speakeasy-param-computed: false required: - path x-speakeasy-param-computed: false insecureInline: type: object properties: value: type: string x-speakeasy-param-computed: false required: - value x-speakeasy-param-computed: false secretRef: type: object properties: kind: type: string enum: - Secret x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false required: - kind - name x-speakeasy-param-computed: false type: type: string enum: - File - Secret - EnvVar - InsecureInline x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false x-speakeasy-param-computed: false certificateParameters: description: CertificateParameters allows users to define certificate generation parameters. type: object properties: expiry: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false insecureAllowSelfSigned: description: InsecureAllowSelfSigned allows users to enable the use of self-signed certificates. type: boolean x-speakeasy-param-computed: false meshTrustCreation: description: |- MeshTrustCreation defines whether a MeshTrust resource should be automatically created from an existing MeshIdentity. If not defined, the control plane automatically generates a MeshTrust. type: string enum: - Enabled - Disabled x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false spire: description: Spire indicates that SPIRE is used for certificate delivery. type: object properties: agent: description: Spire agent configuration type: object properties: timeout: description: |- Connection timeout to the socket exposed by Spire agent Default 1 second. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: description: Type specifies the type of certificate provider. type: string enum: - Bundled - Spire x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - type x-speakeasy-param-computed: false selector: type: object properties: dataplane: type: object properties: matchLabels: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false spiffeID: type: object properties: path: type: string x-speakeasy-param-computed: false trustDomain: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true status: description: Status is the current status of the Kuma MeshIdentity resource. type: object properties: conditions: description: Conditions is an array of hostname generator conditions. type: array items: properties: message: description: |- message is a human readable message indicating details about the transition. This may be an empty string. type: string maxLength: 32768 x-speakeasy-param-computed: false reason: description: |- reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. type: string maxLength: 1024 minLength: 1 pattern: '^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$' x-speakeasy-param-computed: false status: description: 'status of the condition, one of True, False, Unknown.' type: string enum: - 'True' - 'False' - Unknown x-speakeasy-unknown-values: allow type: description: type of condition in CamelCase or in foo.example.com/CamelCase. type: string maxLength: 316 pattern: '^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$' x-speakeasy-param-computed: false required: - message - reason - status - type type: object x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshMultiZoneServiceItem: description: |- MeshMultiZoneService provides global load balancing and service discovery across multiple zones in a multi-zone mesh deployment. It aggregates MeshServices from different zones by label selectors, creating a unified service endpoint with automatic VIP assignment and hostname generation for cross-zone communication and failover. MeshMultizoneServices are only created on global type: object properties: type: description: the type of the resource type: string enum: - MeshMultiZoneService x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mzsvc_default_zone-east_kuma-demo_myresource1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshMultiZoneService resource. type: object properties: ports: description: Ports is a list of ports from selected MeshServices type: array items: properties: appProtocol: description: Protocol identifies a protocol supported by a service. type: string default: tcp x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false port: type: integer format: int32 x-speakeasy-param-computed: false required: - port type: object minItems: 1 x-speakeasy-plan-modifiers: SupressZeroNullModifier selector: description: Selector is a way to select multiple MeshServices type: object properties: meshService: description: MeshService selects MeshServices type: object properties: matchLabels: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false required: - meshService x-speakeasy-param-computed: false required: - ports - selector x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true status: description: Status is the current status of the Kuma MeshMultiZoneService resource. type: object properties: addresses: description: Addresses is a list of addresses generated by HostnameGenerator type: array items: properties: hostname: type: string x-speakeasy-param-computed: false hostnameGeneratorRef: type: object properties: coreName: type: string x-speakeasy-param-computed: false required: - coreName x-speakeasy-param-computed: false origin: type: string x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier conditions: description: Conditions is an array of current conditions type: array items: properties: message: description: |- message is a human readable message indicating details about the transition. This may be an empty string. type: string maxLength: 32768 x-speakeasy-param-computed: false reason: description: |- reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. type: string maxLength: 1024 minLength: 1 pattern: '^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$' x-speakeasy-param-computed: false status: description: 'status of the condition, one of True, False, Unknown.' type: string enum: - 'True' - 'False' - Unknown x-speakeasy-unknown-values: allow type: description: type of condition in CamelCase or in foo.example.com/CamelCase. type: string maxLength: 316 pattern: '^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$' x-speakeasy-param-computed: false required: - message - reason - status - type type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier hostnameGenerators: description: Status of hostnames generator applied on this resource type: array items: properties: conditions: description: Conditions is an array of hostname generator conditions. type: array items: properties: message: description: |- message is a human readable message indicating details about the transition. This may be an empty string. type: string maxLength: 32768 x-speakeasy-param-computed: false reason: description: |- reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. type: string maxLength: 1024 minLength: 1 pattern: '^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$' x-speakeasy-param-computed: false status: description: 'status of the condition, one of True, False, Unknown.' type: string enum: - 'True' - 'False' - Unknown x-speakeasy-unknown-values: allow type: description: type of condition in CamelCase or in foo.example.com/CamelCase. type: string maxLength: 316 pattern: '^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$' x-speakeasy-param-computed: false required: - message - reason - status - type type: object x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier hostnameGeneratorRef: type: object properties: coreName: type: string x-speakeasy-param-computed: false required: - coreName x-speakeasy-param-computed: false required: - hostnameGeneratorRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier meshServices: description: MeshServices is a list of matched MeshServices type: array items: properties: mesh: type: string x-speakeasy-param-computed: false name: description: Name is a core name of MeshService type: string x-speakeasy-param-computed: false namespace: type: string x-speakeasy-param-computed: false zone: type: string x-speakeasy-param-computed: false required: - mesh - name - namespace - zone type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier vips: description: VIPs is a list of assigned Kuma VIPs. type: array items: properties: ip: type: string x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshServiceItem: description: 'MeshService represents a service in the mesh with its connectivity and health information. It defines service endpoints by selecting data plane proxies through labels or direct references, configures service ports and protocols, tracks service availability and health status, and provides automatic VIP assignment and hostname generation for service discovery.' type: object properties: type: description: the type of the resource type: string enum: - MeshService x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_msvc_default_zone-east_kuma-demo_myresource1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshService resource. type: object properties: identities: type: array items: properties: type: type: string enum: - ServiceTag - SpiffeID x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow value: type: string x-speakeasy-param-computed: false required: - type - value type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier ports: type: array items: properties: appProtocol: description: Protocol identifies a protocol supported by a service. type: string default: tcp x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false port: type: integer format: int32 x-speakeasy-param-computed: false targetPort: anyOf: - type: integer - type: string x-kubernetes-int-or-string: true x-speakeasy-param-computed: false required: - port type: object x-kubernetes-list-map-keys: - port - appProtocol x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier selector: type: object properties: dataplaneLabels: type: object properties: matchLabels: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false dataplaneRef: type: object properties: name: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false dataplaneTags: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false state: description: |- State of MeshService. Available if there is at least one healthy endpoint. Otherwise, Unavailable. It's used for cross zone communication to check if we should send traffic to it, when MeshService is aggregated into MeshMultiZoneService. type: string default: Unavailable enum: - Available - Unavailable x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true status: description: Status is the current status of the Kuma MeshService resource. type: object properties: addresses: type: array items: properties: hostname: type: string x-speakeasy-param-computed: false hostnameGeneratorRef: type: object properties: coreName: type: string x-speakeasy-param-computed: false required: - coreName x-speakeasy-param-computed: false origin: type: string x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier dataplaneProxies: description: Data plane proxies statistics selected by this MeshService. type: object properties: connected: description: Number of data plane proxies connected to the zone control plane type: integer x-speakeasy-param-computed: false healthy: description: Number of data plane proxies with all healthy inbounds selected by this MeshService. type: integer x-speakeasy-param-computed: false total: description: Total number of data plane proxies. type: integer x-speakeasy-param-computed: false x-speakeasy-param-computed: false hostnameGenerators: type: array items: properties: conditions: description: Conditions is an array of hostname generator conditions. type: array items: properties: message: description: |- message is a human readable message indicating details about the transition. This may be an empty string. type: string maxLength: 32768 x-speakeasy-param-computed: false reason: description: |- reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty. type: string maxLength: 1024 minLength: 1 pattern: '^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$' x-speakeasy-param-computed: false status: description: 'status of the condition, one of True, False, Unknown.' type: string enum: - 'True' - 'False' - Unknown x-speakeasy-unknown-values: allow type: description: type of condition in CamelCase or in foo.example.com/CamelCase. type: string maxLength: 316 pattern: '^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$' x-speakeasy-param-computed: false required: - message - reason - status - type type: object x-kubernetes-list-map-keys: - type x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier hostnameGeneratorRef: type: object properties: coreName: type: string x-speakeasy-param-computed: false required: - coreName x-speakeasy-param-computed: false required: - hostnameGeneratorRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier tls: type: object properties: status: type: string enum: - Ready - NotReady x-speakeasy-unknown-values: allow x-speakeasy-param-computed: false vips: type: array items: properties: ip: type: string x-speakeasy-param-computed: false type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshTrustItem: description: 'MeshTrust defines trusted Certificate Authority (CA) bundles for a trust domain in the mesh. It establishes trust relationships for service-to-service mTLS authentication by specifying which CA certificates are trusted to verify service identities, supporting PEM-encoded CA bundles and enabling secure cross-service communication within the trust domain.' type: object properties: type: description: the type of the resource type: string enum: - MeshTrust x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mtrust_default_zone-east_kuma-system_myresource1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshTrust resource. type: object properties: caBundles: description: |- CABundles contains a list of CA bundles supported by this TrustDomain. At least one CA bundle must be specified. type: array items: properties: pem: description: Pem contains the PEM-encoded CA bundle if the Type is set to a PEM-based format. type: object properties: value: description: Value holds the PEM-encoded CA bundle as a string. type: string x-speakeasy-param-computed: false required: - value x-speakeasy-param-computed: false type: description: Type specifies the format or source type of the CA bundle. type: string enum: - Pem x-speakeasy-param-computed: false required: - type type: object minItems: 1 x-speakeasy-plan-modifiers: SupressZeroNullModifier origin: description: |- Origin specifies whether the resource was created from a MeshIdentity. Deprecated: use Status.Origin instead type: object properties: kri: description: Resource identifier type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false trustDomain: description: TrustDomain is the trust domain associated with this resource. type: string maxLength: 253 x-speakeasy-param-computed: false required: - caBundles - trustDomain x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true status: description: Status is the current status of the Kuma MeshTrust resource. type: object properties: origin: description: Origin specifies whether the resource was created from a MeshIdentity. type: object properties: kri: description: Resource identifier type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec WorkloadItem: description: 'Workload represents a logical grouping of data plane proxies in the mesh, providing visibility into their operational status. It tracks statistics about the data plane proxies that belong to a workload, including the number of connected, healthy, and total proxies, enabling monitoring and health assessment of your workload deployments. Workloads is also the primary way data-planes are grouped together in metrics and traces.' type: object properties: type: description: the type of the resource type: string enum: - Workload x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_wl_default_zone-east_kuma-demo_myresource1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false spec: description: Spec is the specification of the Kuma Workload resource. type: object x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true status: description: Status is the current status of the Kuma Workload resource. type: object properties: dataplaneProxies: description: DataplaneProxies defines statistics of data plane proxies that are part of this workload type: object properties: connected: description: Connected defines number of connected data plane proxies type: integer format: int32 x-speakeasy-param-computed: false healthy: description: Healthy defines number of healthy data plane proxies for this workload type: integer format: int32 x-speakeasy-param-computed: false total: description: Total defines total number of data plane proxies for this workload type: integer format: int32 x-speakeasy-param-computed: false required: - connected - healthy - total x-speakeasy-param-computed: false readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec VaultCertificateAuthorityConfig_FromCp_Auth_Aws: type: object properties: aws: type: object properties: iamServerIdHeader: type: string x-speakeasy-param-computed: false role: type: string x-speakeasy-param-computed: false type: oneOf: - type: string - type: integer x-speakeasy-param-computed: false x-speakeasy-param-computed: false VaultCertificateAuthorityConfig_FromCp_Auth_Tls: type: object properties: tls: type: object properties: clientCert: oneOf: - $ref: '#/components/schemas/DataSource_File' - $ref: '#/components/schemas/DataSource_Inline' - $ref: '#/components/schemas/DataSource_InlineString' - $ref: '#/components/schemas/DataSource_Secret' x-speakeasy-param-computed: false clientKey: oneOf: - $ref: '#/components/schemas/DataSource_File' - $ref: '#/components/schemas/DataSource_Inline' - $ref: '#/components/schemas/DataSource_InlineString' - $ref: '#/components/schemas/DataSource_Secret' x-speakeasy-param-computed: false x-speakeasy-param-computed: false VaultCertificateAuthorityConfig_FromCp_Auth_Token: type: object properties: token: oneOf: - $ref: '#/components/schemas/DataSource_File' - $ref: '#/components/schemas/DataSource_Inline' - $ref: '#/components/schemas/DataSource_InlineString' - $ref: '#/components/schemas/DataSource_Secret' x-speakeasy-param-computed: false VaultCertificateAuthorityConfig_FromCp_: type: object properties: fromCp: type: object properties: address: type: string x-speakeasy-param-computed: false agentAddress: type: string x-speakeasy-param-computed: false auth: oneOf: - $ref: '#/components/schemas/VaultCertificateAuthorityConfig_FromCp_Auth_Aws' - $ref: '#/components/schemas/VaultCertificateAuthorityConfig_FromCp_Auth_Tls' - $ref: '#/components/schemas/VaultCertificateAuthorityConfig_FromCp_Auth_Token' x-speakeasy-param-computed: false commonName: type: string x-speakeasy-param-computed: false namespace: type: string x-speakeasy-param-computed: false pki: type: string x-speakeasy-param-computed: false role: type: string x-speakeasy-param-computed: false tls: type: object properties: caCert: oneOf: - $ref: '#/components/schemas/DataSource_File' - $ref: '#/components/schemas/DataSource_Inline' - $ref: '#/components/schemas/DataSource_InlineString' - $ref: '#/components/schemas/DataSource_Secret' x-speakeasy-param-computed: false serverName: type: string x-speakeasy-param-computed: false skipVerify: type: boolean x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false VaultCertificateAuthorityConfig: type: object oneOf: - $ref: '#/components/schemas/VaultCertificateAuthorityConfig_FromCp_' ACMCertificateAuthorityConfig: type: object properties: arn: type: string x-speakeasy-param-computed: false auth: type: object properties: awsCredentials: type: object properties: accessKey: oneOf: - $ref: '#/components/schemas/DataSource_File' - $ref: '#/components/schemas/DataSource_Inline' - $ref: '#/components/schemas/DataSource_InlineString' - $ref: '#/components/schemas/DataSource_Secret' x-speakeasy-param-computed: false accessKeySecret: oneOf: - $ref: '#/components/schemas/DataSource_File' - $ref: '#/components/schemas/DataSource_Inline' - $ref: '#/components/schemas/DataSource_InlineString' - $ref: '#/components/schemas/DataSource_Secret' x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false caCert: oneOf: - $ref: '#/components/schemas/DataSource_File' - $ref: '#/components/schemas/DataSource_Inline' - $ref: '#/components/schemas/DataSource_InlineString' - $ref: '#/components/schemas/DataSource_Secret' x-speakeasy-param-computed: false commonName: type: string x-speakeasy-param-computed: false CertManagerCertificateAuthorityConfig: type: object properties: caCert: oneOf: - $ref: '#/components/schemas/DataSource_File' - $ref: '#/components/schemas/DataSource_Inline' - $ref: '#/components/schemas/DataSource_InlineString' - $ref: '#/components/schemas/DataSource_Secret' x-speakeasy-param-computed: false commonName: type: string x-speakeasy-param-computed: false dnsNames: type: array items: type: string x-speakeasy-param-computed: false default: [] issuerRef: type: object properties: group: type: string x-speakeasy-param-computed: false kind: type: string x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false MeshGlobalRateLimitItem: description: MeshGlobalRateLimit type: object properties: type: description: the type of the resource type: string enum: - MeshGlobalRateLimit x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mgrl_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshGlobalRateLimit resource. type: object properties: from: description: From list makes a match between clients and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of clients referenced in 'targetRef' type: object properties: backend: description: Backend defines location of rate limit backend service. type: object properties: rateLimitService: type: object properties: limitOnServiceFail: description: LimitOnServiceFail will pass limit requests if ratelimit service is not reachable. type: boolean x-speakeasy-param-computed: false timeout: description: Timeout for rate limit request made form Data Plane Proxy to rate limit service. type: string x-speakeasy-param-computed: false url: description: Url defines address of rate limit service. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false required: - rateLimitService x-speakeasy-param-computed: false http: type: object properties: disabled: description: Define if rate limiting should be disabled. type: boolean x-speakeasy-param-computed: false onRateLimit: description: Describes the actions to take on a rate limit event type: object properties: headers: description: The Headers to be added to the HTTP response on a rate limit event type: object properties: add: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier set: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false status: description: The HTTP status code to be set on a rate limit event type: integer format: int32 x-speakeasy-param-computed: false ratelimitOnRequest: description: Defines rate limit based on request content type: array items: properties: kind: description: 'Kind defines type of rate limit config. Possible options: OnHeader.' type: string enum: - OnHeader x-speakeasy-param-computed: false limits: description: Limits defines limit configuration. type: array items: properties: requestRate: description: Defines how many requests are allowed per interval. type: object properties: interval: description: 'The interval the number of units is accounted for. Only 1s, 1m, 1h or 24h can be configured.' type: string x-speakeasy-param-computed: false num: description: |- Number of units per interval (depending on usage it can be a number of requests, or a number of connections). type: integer format: int32 x-speakeasy-param-computed: false required: - interval - num x-speakeasy-param-computed: false value: description: Value of the request element on which rate limit should apply. E.g. header value. type: string x-speakeasy-param-computed: false required: - value type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier name: description: Name of the request element on which rate limit should apply. E.g. header name. type: string x-speakeasy-param-computed: false required: - kind - limits - name type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier requestRate: description: Defines how many requests are allowed per interval. type: object properties: interval: description: 'The interval the number of units is accounted for. Only 1s, 1m, 1h or 24h can be configured.' type: string x-speakeasy-param-computed: false num: description: |- Number of units per interval (depending on usage it can be a number of requests, or a number of connections). type: integer format: int32 x-speakeasy-param-computed: false required: - interval - num x-speakeasy-param-computed: false x-speakeasy-param-computed: false mode: description: |- Mode defines rate limit behavior when limits are reached. Possible options: Limit and Shadow. Setting Shadow will not block over the limit requests but will update metrics. This is useful for testing rate limit configuration. type: string enum: - Limit - Shadow x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - backend - http x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of clients. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false to: description: To list makes a match between clients and corresponding configurations type: array items: properties: default: description: |- Default is a configuration specific to the group of clients referenced in 'targetRef' type: object properties: backend: description: Backend defines location of rate limit backend service. type: object properties: rateLimitService: type: object properties: limitOnServiceFail: description: LimitOnServiceFail will pass limit requests if ratelimit service is not reachable. type: boolean x-speakeasy-param-computed: false timeout: description: Timeout for rate limit request made form Data Plane Proxy to rate limit service. type: string x-speakeasy-param-computed: false url: description: Url defines address of rate limit service. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false required: - rateLimitService x-speakeasy-param-computed: false http: type: object properties: disabled: description: Define if rate limiting should be disabled. type: boolean x-speakeasy-param-computed: false onRateLimit: description: Describes the actions to take on a rate limit event type: object properties: headers: description: The Headers to be added to the HTTP response on a rate limit event type: object properties: add: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier set: type: array items: properties: name: type: string maxLength: 256 minLength: 1 pattern: '^[a-z0-9!#$%&''*+\-.^_\x60|~]+$' x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false required: - name - value type: object maxItems: 16 x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false status: description: The HTTP status code to be set on a rate limit event type: integer format: int32 x-speakeasy-param-computed: false ratelimitOnRequest: description: Defines rate limit based on request content type: array items: properties: kind: description: 'Kind defines type of rate limit config. Possible options: OnHeader.' type: string enum: - OnHeader x-speakeasy-param-computed: false limits: description: Limits defines limit configuration. type: array items: properties: requestRate: description: Defines how many requests are allowed per interval. type: object properties: interval: description: 'The interval the number of units is accounted for. Only 1s, 1m, 1h or 24h can be configured.' type: string x-speakeasy-param-computed: false num: description: |- Number of units per interval (depending on usage it can be a number of requests, or a number of connections). type: integer format: int32 x-speakeasy-param-computed: false required: - interval - num x-speakeasy-param-computed: false value: description: Value of the request element on which rate limit should apply. E.g. header value. type: string x-speakeasy-param-computed: false required: - value type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier name: description: Name of the request element on which rate limit should apply. E.g. header name. type: string x-speakeasy-param-computed: false required: - kind - limits - name type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier requestRate: description: Defines how many requests are allowed per interval. type: object properties: interval: description: 'The interval the number of units is accounted for. Only 1s, 1m, 1h or 24h can be configured.' type: string x-speakeasy-param-computed: false num: description: |- Number of units per interval (depending on usage it can be a number of requests, or a number of connections). type: integer format: int32 x-speakeasy-param-computed: false required: - interval - num x-speakeasy-param-computed: false x-speakeasy-param-computed: false mode: description: |- Mode defines rate limit behavior when limits are reached. Possible options: Limit and Shadow. Setting Shadow will not block over the limit requests but will update metrics. This is useful for testing rate limit configuration. type: string enum: - Limit - Shadow x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow required: - backend - http x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource that represents a group of clients. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false required: - targetRef type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshOPAItem: description: MeshOPA type: object properties: type: description: the type of the resource type: string enum: - MeshOPA x-speakeasy-param-computed: false mesh: description: Mesh is the name of the Kuma mesh this resource belongs to. It may be omitted for cluster-scoped resources. type: string default: default x-speakeasy-param-computed: false x-speakeasy-param-force-new: true kri: description: A unique identifier for this resource instance used by internal tooling and integrations. Typically derived from resource attributes and may be used for cross-references or indexing type: string example: kri_mopa_default_zone-east_kuma-demo_mypolicy1_ readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true name: description: Name of the Kuma resource type: string x-speakeasy-param-computed: false x-speakeasy-param-force-new: true labels: description: The labels to help identity resources type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-terraform-custom-default: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaDefinition: 'kumalabels.EmptyKumaLabelsMapDefault{}' x-speakeasy-terraform-custom-type: imports: - github.com/Kong/shared-speakeasy/customtypes/kumalabels schemaType: 'kumalabels.KumaLabelsMapType{MapType: types.MapType{ElemType: types.StringType}}' valueType: kumalabels.KumaLabelsMapValue spec: description: Spec is the specification of the Kuma MeshOPA resource. type: object properties: default: type: object properties: agentConfig: description: AgentConfig defines bootstrap OPA agent configuration. type: object properties: inline: description: Data source is inline bytes. type: string format: byte x-speakeasy-param-computed: false inlineString: description: Data source is inline string` type: string x-speakeasy-param-computed: false secret: description: Data source is a secret with given Secret key. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false appendPolicies: description: Policies define OPA policies that will be applied on OPA Agent. type: array items: properties: ignoreDecision: description: 'If true, then policy won''t be taken into account when making a decision.' type: boolean x-speakeasy-param-computed: false rego: description: 'OPA Policy written in Rego. Available values: secret, inline, inlineString.' type: object properties: inline: description: Data source is inline bytes. type: string format: byte x-speakeasy-param-computed: false inlineString: description: Data source is inline string` type: string x-speakeasy-param-computed: false secret: description: Data source is a secret with given Secret key. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false required: - rego type: object x-speakeasy-plan-modifiers: SupressZeroNullModifier authConfig: description: AuthConfig are configurations specific to the filter. type: object properties: onAgentFailure: description: |- OnAgentFailure either 'allow' or 'deny' (default to deny) whether to allow requests when the authorization agent failed. type: string enum: - Allow - Deny x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow requestBody: description: |- RequestBody configuration to apply on the request body sent to the authorization agent (if absent, the body is not sent). properties: maxSize: description: |- MaxSize defines the maximum payload size sent to authorization agent. If the payload is larger it will be truncated and there will be a header `x-envoy-auth-partial-body: true`. If it is set to 0 no body will be sent to the agent. type: integer format: int32 x-speakeasy-param-computed: false sendRawBody: description: SendRawBody enable sending raw body instead of the body encoded into UTF-8 type: boolean x-speakeasy-param-computed: false type: object x-speakeasy-param-computed: false statusOnError: description: |- StatusOnError is the http status to return when there's a connection failure between the dataplane and the authorization agent type: integer format: int32 x-speakeasy-param-computed: false timeout: description: Timeout for the single gRPC request from Envoy to OPA Agent. type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: description: |- TargetRef is a reference to the resource the policy takes an effect on. The resource could be either a real store object or virtual resource defined inplace. type: object properties: kind: description: Kind of the referenced resource type: string enum: - Mesh - MeshSubset - MeshGateway - MeshService - MeshExternalService - MeshMultiZoneService - MeshServiceSubset - MeshHTTPRoute - Dataplane x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow labels: description: |- Labels are used to select group of MeshServices that match labels. Either Labels or Name and Namespace can be used. type: object additionalProperties: type: string x-speakeasy-param-computed: false mesh: description: Mesh is reserved for future use to identify cross mesh resources. type: string x-speakeasy-param-computed: false name: description: |- Name of the referenced resource. Can only be used with kinds: `MeshService`, `MeshServiceSubset` and `MeshGatewayRoute` type: string x-speakeasy-param-computed: false namespace: description: |- Namespace specifies the namespace of target resource. If empty only resources in policy namespace will be targeted. type: string x-speakeasy-param-computed: false proxyTypes: description: |- ProxyTypes specifies the data plane types that are subject to the policy. When not specified, all data plane types are targeted by the policy. type: array items: enum: - Sidecar - Gateway type: string x-speakeasy-unknown-values: allow x-speakeasy-plan-modifiers: SupressZeroNullModifier sectionName: description: |- SectionName is used to target specific section of resource. For example, you can target port from MeshService.ports[] by its name. Only traffic to this port will be affected. type: string x-speakeasy-param-computed: false tags: description: |- Tags used to select a subset of proxies by tags. Can only be used with kinds `MeshSubset` and `MeshServiceSubset` type: object additionalProperties: type: string x-speakeasy-param-computed: false required: - kind x-speakeasy-param-computed: false x-speakeasy-param-computed: false creationTime: description: Time at which the resource was created type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true modificationTime: description: Time at which the resource was updated type: string format: date-time example: '0001-01-01T00:00:00Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - type - name - spec MeshControlPlaneFeatures: type: array items: $ref: '#/components/schemas/MeshControlPlaneFeature' MeshControlPlaneFeatureHostnameGenerationCreation: properties: enabled: type: boolean required: - enabled MeshControlPlaneFeatureMeshCreation: properties: enabled: type: boolean required: - enabled MeshControlPlaneFeature: description: | Features to be enabled in the control plane. Currently only defaults are supported. type: object properties: type: type: string enum: - MeshCreation - HostnameGeneratorCreation x-speakeasy-unknown-values: allow hostnameGeneratorCreation: $ref: '#/components/schemas/MeshControlPlaneFeatureHostnameGenerationCreation' meshCreation: $ref: '#/components/schemas/MeshControlPlaneFeatureMeshCreation' required: - type AccessAuditItem: type: object properties: labels: type: object additionalProperties: type: string x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false rules: type: array items: properties: access: type: array items: oneOf: - type: string - type: integer default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier accessAll: type: boolean x-speakeasy-param-computed: false mesh: type: string x-speakeasy-param-computed: false types: type: array items: type: string default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier type: object default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier type: type: string x-speakeasy-param-computed: false required: - type - name AccessRoleItem: type: object properties: labels: type: object additionalProperties: type: string x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false rules: type: array items: properties: access: type: array items: oneOf: - type: string - type: integer default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier mesh: type: string x-speakeasy-param-computed: false names: type: array items: type: string default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier types: type: array items: type: string default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier when: type: array items: properties: destinations: type: object properties: match: description: 'Tags to match, can be used for both source and destinations' type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false dpToken: type: object properties: tags: type: array items: properties: name: type: string x-speakeasy-param-computed: false value: type: string x-speakeasy-param-computed: false type: object default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier x-speakeasy-param-computed: false from: type: object properties: targetRef: type: object properties: kind: type: string x-speakeasy-param-computed: false mesh: type: string x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false tags: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false selectors: type: object properties: match: description: 'Tags to match, can be used for both source and destinations' type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false sources: type: object properties: match: description: 'Tags to match, can be used for both source and destinations' type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false targetRef: type: object properties: kind: type: string x-speakeasy-param-computed: false mesh: type: string x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false tags: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false to: type: object properties: targetRef: type: object properties: kind: type: string x-speakeasy-param-computed: false mesh: type: string x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false tags: type: object additionalProperties: type: string x-speakeasy-param-computed: false x-speakeasy-param-computed: false x-speakeasy-param-computed: false type: object default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier type: object default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier type: type: string x-speakeasy-param-computed: false required: - type - name AccessRoleBindingItem: type: object properties: labels: type: object additionalProperties: type: string x-speakeasy-param-computed: false name: type: string x-speakeasy-param-computed: false roles: type: array items: type: string default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier subjects: type: array items: properties: name: type: string x-speakeasy-param-computed: false type: type: string x-speakeasy-param-computed: false type: object default: null nullable: true x-speakeasy-param-computed: false x-speakeasy-plan-modifiers: SupressZeroNullModifier type: type: string x-speakeasy-param-computed: false required: - type - name MeshControlPlaneLabels: description: Labels to facilitate tagged search on control planes. Keys must be of length 1-63 characters. type: object example: test: 'true' additionalProperties: type: string pattern: '^[a-z0-9A-Z]{1}([a-z0-9A-Z\-\.\_]*[a-z0-9A-Z]+)?$' minLength: 1 maxLength: 63 nullable: true maxProperties: 10 nullable: true title: Labels MeshControlPlaneNonNullableLabels: description: Labels to facilitate tagged search on control planes. Keys must be of length 1-63 characters. type: object example: test: 'true' additionalProperties: type: string pattern: '^[a-z0-9A-Z]{1}([a-z0-9A-Z\-\.\_]*[a-z0-9A-Z]+)?$' minLength: 1 maxLength: 63 maxProperties: 10 nullable: true title: Labels MeshControlPlane: description: a control plane type: object properties: id: description: ID of the control plane. type: string format: uuid example: d32d905a-ed33-46a3-a093-d8f536af9a8a readOnly: true x-speakeasy-param-suppress-computed-diff: true name: $ref: '#/components/schemas/MeshControlPlaneName' description: $ref: '#/components/schemas/MeshControlPlaneDescription' labels: $ref: '#/components/schemas/MeshControlPlaneLabels' features: $ref: '#/components/schemas/MeshControlPlaneFeatures' created_at: type: string format: date-time example: '2023-01-11T02:30:42.227Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true updated_at: type: string format: date-time example: '2023-01-11T02:30:42.227Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true required: - id - name - updated_at - created_at title: ControlPlane CreateMeshControlPlaneRequest: description: a payload to create a control plane type: object properties: name: $ref: '#/components/schemas/MeshControlPlaneName' description: $ref: '#/components/schemas/MeshControlPlaneDescription' features: $ref: '#/components/schemas/MeshControlPlaneFeatures' labels: $ref: '#/components/schemas/MeshControlPlaneLabels' additionalProperties: false required: - name title: CreateMeshControlPlaneRequest PutMeshControlPlaneRequest: description: a payload to update the whole control plane type: object properties: name: $ref: '#/components/schemas/MeshControlPlaneName' description: $ref: '#/components/schemas/MeshControlPlaneDescription' labels: $ref: '#/components/schemas/MeshControlPlaneNonNullableLabels' required: - name title: PutMeshControlPlaneRequest MeshControlPlaneName: description: The name of the control plane. type: string example: Test control plane maxLength: 100 minLength: 1 pattern: '^[a-z0-9A-Z]{1}.*$' MeshControlPlaneDescription: type: string example: A control plane to handle traffic on development environment. maxLength: 250 ResponseType: description: OAuth 2.0 response type type: string enum: - none - token - code - id_token x-speakeasy-unknown-values: allow ResponseTypes: description: List of OAuth 2.0 response types type: array items: $ref: '#/components/schemas/ResponseType' nullable: false GrantType: description: OAuth 2.0 grant type type: string enum: - authorization_code - implicit - client_credentials - refresh_token x-enum-dev: - authorization_code - refresh_token x-speakeasy-unknown-values: allow GrantTypes: description: List of OAuth 2.0 grant types type: array items: $ref: '#/components/schemas/GrantType' nullable: false uniqueItems: true RedirectURIs: description: 'The URIs that the client is allowed to redirect to after authentication in interactive flows. All redirect URIs must be absolute URIs, be secure (HTTPS), and must not include a fragment component.' type: array items: type: string format: uri nullable: false LoginURI: description: The URI of the login page where the user is redirected to authenticate in interactive flows. The login page must be secure (HTTPS). type: string format: uri default: null nullable: true x-speakeasy-param-computed: false TokenDuration: description: 'The duration of the minted token is valid for, in seconds' type: integer default: 300 maximum: 2592000 minimum: 60 RefreshTokenDuration: description: 'The duration of the minted refresh token is valid for, in seconds' type: integer default: 2592000 maximum: 157680000 minimum: 60 ClientAllowAllScopes: description: Specifies whether the client is allowed to request all scopes type: boolean default: false ClientAllowScopes: description: Specifies the scopes IDs that the client is allowed to request type: array items: type: string format: uuid nullable: false uniqueItems: true ClientId: description: The OAuth 2.0 client ID type: string example: kYa9iQFU5xPDSIUH9z1z maxLength: 36 minLength: 1 pattern: '[-_\w]+' readOnly: true x-speakeasy-param-suppress-computed-diff: true AuthServerName: description: The name of the auth server type: string minLength: 1 AuthServerDescription: description: The description of the auth server type: string Audience: description: The recipients that the tokens are intended for. This becomes the 'aud' claim in an access token type: string minLength: 1 UpdateAlgorithm: description: Algorithm used in the key signing process type: string enum: - RS256 - RS384 - RS512 - PS256 - PS384 - PS512 x-speakeasy-unknown-values: allow Algorithm: description: Algorithm used in the key signing process type: string default: RS256 enum: - RS256 - RS384 - RS512 - PS256 - PS384 - PS512 x-speakeasy-unknown-values: allow Issuer: description: The complete URL for the custom authorization server. This becomes the 'iss' claim in an access token. type: string TokenEndpointAuthMethod: description: Requested authentication method for OAuth 2.0 endpoints. type: string default: client_secret_post enum: - client_secret_post - none x-speakeasy-unknown-values: allow TrustedOrigins: description: A list or trusted origins to apply the CORS header on for the auth server type: array items: $ref: '#/components/schemas/TrustedOrigin' maxLength: 16 uniqueItems: true TrustedOrigin: description: A trusted origin for the auth server type: string format: uri example: 'https://example.com' DcrDefaultAccessTokenDuration: description: 'The default access token duration, in seconds, applied to DCR clients registered against this auth server' type: integer default: 300 maximum: 2592000 minimum: 60 UpdateDcrDefaultAccessTokenDuration: description: 'The default access token duration, in seconds, applied to DCR clients registered against this auth server' type: integer maximum: 2592000 minimum: 60 AuthServer: type: object properties: id: description: The ID of the auth server type: string format: uuid name: $ref: '#/components/schemas/AuthServerName' description: $ref: '#/components/schemas/AuthServerDescription' audience: $ref: '#/components/schemas/Audience' signing_algorithm: $ref: '#/components/schemas/Algorithm' issuer: $ref: '#/components/schemas/Issuer' metadata_uri: description: The URI of the metadata document for the auth server type: string format: uri labels: $ref: '#/components/schemas/Labels' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' trusted_origins: $ref: '#/components/schemas/TrustedOrigins' dcr_default_access_token_duration: $ref: '#/components/schemas/DcrDefaultAccessTokenDuration' required: - id - name - description - audience - signing_algorithm - issuer - metadata_uri - labels - created_at - updated_at x-property-annotations: dcr_default_access_token_duration: - x-unstable - x-internal ClaimName: description: The name of the claim type: string minLength: 1 ClaimValue: description: Specifies the value of the claim. It may contain a static value or a dynamic (templated) value. Static values which are valid JSON will result in a JSON object in the token claims. type: string minLength: 1 UpdateClaimIncludeInToken: description: 'Specifies whether to include claim in the token. If the value is set to ''false'' for a claim, the client instead uses the access token to get claims from the ''/userinfo'' endpoint.' type: boolean ClaimIncludeInToken: description: 'Specifies whether to include claim in the token. If the value is set to ''false'' for a claim, the client instead uses the access token to get claims from the ''/userinfo'' endpoint.' type: boolean default: false UpdateClaimIncludeInAllScopes: description: 'Specifies whether to include the claim in all scopes. If the value is set to ''false'' for a claim, the claim is only included in the scopes that explicitly list it.' type: boolean ClaimIncludeInAllScopes: description: 'Specifies whether to include the claim in all scopes. If the value is set to ''false'' for a claim, the claim is only included in the scopes that explicitly list it.' type: boolean default: false ClaimIncludeInScopes: description: Specifies the scopes IDs in which the claim is included type: array items: type: string format: uuid nullable: false UpdateClaimEnabled: description: 'Specifies whether the claim is enabled. If the claim is not enabled, it will not be included in the token or the ''/userinfo'' endpoint.' type: boolean ClaimEnabled: description: 'Specifies whether the claim is enabled. If the claim is not enabled, it will not be included in the token or the ''/userinfo'' endpoint.' type: boolean default: true Claim: type: object properties: id: description: The ID of the claim type: string format: uuid name: $ref: '#/components/schemas/ClaimName' value: $ref: '#/components/schemas/ClaimValue' include_in_token: $ref: '#/components/schemas/ClaimIncludeInToken' include_in_all_scopes: $ref: '#/components/schemas/ClaimIncludeInAllScopes' include_in_scopes: $ref: '#/components/schemas/ClaimIncludeInScopes' enabled: $ref: '#/components/schemas/ClaimEnabled' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - id - name - value - include_in_token - include_in_all_scopes - include_in_scopes - enabled - created_at - updated_at ScopeName: description: The name of the scope type: string minLength: 1 ScopeDescription: description: Description of the scope type: string UpdateScopeDefault: description: 'Specifies whether the scope is included by default in access tokens without being explicitly requested by the client. If the scope is not allowed by the client, it will not be included in the access token.' type: boolean ScopeDefault: description: 'Specifies whether the scope is included by default in access tokens without being explicitly requested by the client. If the scope is not allowed by the client, it will not be included in the access token.' type: boolean default: false UpdateScopeIncludeInMetadata: description: Specifies whether to include the scope in the metadata document type: boolean ScopeIncludeInMetadata: description: Specifies whether to include the scope in the metadata document type: boolean default: false UpdateScopeEnabled: description: 'Specifies whether the scope is enabled. If the scope is not enabled, it cannot be requested by clients and will not be included in the access token.' type: boolean ScopeEnabled: description: 'Specifies whether the scope is enabled. If the scope is not enabled, it cannot be requested by clients and will not be included in the access token.' type: boolean default: true Scope: type: object properties: id: description: The ID of the scope type: string format: uuid name: $ref: '#/components/schemas/ScopeName' description: $ref: '#/components/schemas/ScopeDescription' default: $ref: '#/components/schemas/ScopeDefault' include_in_metadata: $ref: '#/components/schemas/ScopeIncludeInMetadata' enabled: $ref: '#/components/schemas/ScopeEnabled' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - id - name - description - default - include_in_metadata - enabled - created_at - updated_at ClientName: description: The name of the client type: string minLength: 1 Client: type: object properties: id: $ref: '#/components/schemas/ClientId' name: $ref: '#/components/schemas/ClientName' grant_types: $ref: '#/components/schemas/GrantTypes' redirect_uris: $ref: '#/components/schemas/RedirectURIs' login_uri: $ref: '#/components/schemas/LoginURI' access_token_duration: $ref: '#/components/schemas/TokenDuration' id_token_duration: $ref: '#/components/schemas/TokenDuration' refresh_token_duration: $ref: '#/components/schemas/RefreshTokenDuration' allow_all_scopes: $ref: '#/components/schemas/ClientAllowAllScopes' allow_scopes: $ref: '#/components/schemas/ClientAllowScopes' labels: $ref: '#/components/schemas/Labels' response_types: $ref: '#/components/schemas/ResponseTypes' token_endpoint_auth_method: $ref: '#/components/schemas/TokenEndpointAuthMethod' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - id - name - grant_types - redirect_uris - allow_all_scopes - allow_scopes - access_token_duration - id_token_duration - refresh_token_duration - labels - response_types - created_at - updated_at x-property-annotations: login_uri: - x-unstable refresh_token_duration: - x-unstable - x-internal CreatedClient: allOf: - $ref: '#/components/schemas/Client' - type: object properties: client_secret: description: The OAuth 2.0 client secret type: string example: YAzsyUlNZ5gNGeKS9H3VAdxVPzhPo4ae x-speakeasy-param-computed: true AdvancedQuery: description: A query targeting the API usage analytics datasource. type: object properties: datasource: type: string enum: - api_usage metrics: $ref: '#/components/schemas/AdvancedMetrics' dimensions: description: List of attributes or entity types to group by. type: array items: type: string enum: - api - api_package - api_product - api_product_version - application - consumer - control_plane - control_plane_group - country_code - data_plane_node - data_plane_node_version - gateway_service - portal - realm - response_source - route - status_code - status_code_grouped - time - upstream_status_code - upstream_status_code_grouped x-speakeasy-unknown-values: allow example: - status_code_grouped default: null maxItems: 2 nullable: true x-speakeasy-param-computed: false filters: $ref: '#/components/schemas/AdvancedFilters' granularity: $ref: '#/components/schemas/Granularity' time_range: $ref: '#/components/schemas/TimeRange' example: datasource: api_usage time_range: type: relative time_range: 24h tz: EST dimensions: - time - gateway_service filters: - operator: in field: control_plane value: - d5ac5d88-efed-4e10-9dfe-0b0a6646c219 granularity: hourly metrics: - request_count - response_latency_p99 additionalProperties: false required: - datasource LLMQuery: description: A query targeting the LLM usage analytics datasource. type: object properties: datasource: type: string enum: - llm_usage metrics: $ref: '#/components/schemas/LLMMetrics' dimensions: description: List of attributes or entity types to group by. type: array items: type: string enum: - control_plane - control_plane_group - gateway_service - consumer - application - route - ai_provider - ai_response_model - ai_request_model - llm_cache_status - llm_embeddings_provider - llm_embeddings_model - time - realm - status_code - status_code_grouped - ai_plugin x-speakeasy-unknown-values: allow default: null maxItems: 2 nullable: true x-speakeasy-param-computed: false filters: $ref: '#/components/schemas/LLMFilters' granularity: $ref: '#/components/schemas/Granularity' time_range: $ref: '#/components/schemas/TimeRange' example: datasource: llm_usage time_range: type: relative time_range: 24h tz: EST dimensions: - time - ai_plugin filters: - operator: in field: control_plane value: - d5ac5d88-efed-4e10-9dfe-0b0a6646c219 granularity: hourly metrics: - total_tokens additionalProperties: false required: - datasource AgenticQuery: description: A query targeting the agentic usage analytics datasource. type: object properties: datasource: type: string enum: - agentic_usage metrics: $ref: '#/components/schemas/AgenticMetrics' dimensions: description: List of attributes or entity types to group by. type: array items: type: string enum: - a2a_context_id - a2a_error - a2a_method - a2a_task_id - api - api_package - api_product - api_product_version - application - consumer - control_plane - control_plane_group - country_code - data_plane_node - data_plane_node_version - gateway_service - mcp_error - mcp_method - mcp_session_id - mcp_tool_name - portal - realm - response_source - route - status_code - status_code_grouped - time - upstream_status_code - upstream_status_code_grouped x-speakeasy-unknown-values: allow default: null maxItems: 2 nullable: true x-speakeasy-param-computed: false filters: $ref: '#/components/schemas/AgenticFilters' granularity: $ref: '#/components/schemas/Granularity' time_range: $ref: '#/components/schemas/TimeRange' example: datasource: agentic_usage time_range: type: relative time_range: 24h tz: EST dimensions: - time - mcp_tool_name filters: - operator: in field: control_plane value: - d5ac5d88-efed-4e10-9dfe-0b0a6646c219 granularity: hourly metrics: - request_count additionalProperties: false required: - datasource PlatformQuery: description: A query targeting the platform usage analytics datasource. type: object properties: datasource: type: string enum: - platform_usage metrics: $ref: '#/components/schemas/PlatformMetrics' dimensions: description: List of attributes or entity types to group by. type: array items: type: string enum: - time - control_plane - gateway_service - realm - route - consumer - plugin - plugin_name - plugin_scope - data_plane_node_version x-speakeasy-unknown-values: allow default: null maxItems: 2 nullable: true x-speakeasy-param-computed: false filters: $ref: '#/components/schemas/PlatformFilters' granularity: $ref: '#/components/schemas/PlatformGranularity' time_range: $ref: '#/components/schemas/PlatformTimeRange' limit: description: 'Maximum number of group_by buckets to return. Defaults to 50, capped at 1000. Only applies when a group_by dimension is requested.' type: number example: 25 default: 50 maximum: 1000 example: datasource: platform_usage time_range: type: relative time_range: 30d dimensions: - time - control_plane granularity: daily metrics: - service_count - route_count additionalProperties: false required: - datasource Tile: discriminator: propertyName: type mapping: chart: '#/components/schemas/ChartTile' oneOf: - $ref: '#/components/schemas/ChartTile' ChartTile: description: A tile that queries data and renders a chart. type: object properties: layout: description: | Information about how the tile is placed on the dashboard. Examples: - a tile occupying the first half of the top row: `{ "position": { "col": 0, "row": 0 }, size: { "cols": 3, "rows": 1 } }` - a tile occupying the second half of the top row: `{ "position": { "col": 3, "row": 0 }, size: { "cols": 3, "rows": 1 } }` type: object example: position: col: 3 row: 0 size: cols: 3 rows: 1 additionalProperties: false properties: position: description: | Position of the tile in the dashboard's grid. Numbering starts at 0, so a tile in the upper left of the dashboard will be at column 0, row 0. type: object additionalProperties: false properties: col: type: integer maximum: 5 minimum: 0 row: type: integer minimum: 0 required: - col - row size: description: | Number of columns and rows the tile occupies. A dashboard always has 6 columns, but has as many rows as needed to accommodate the given tiles. type: object additionalProperties: false properties: cols: type: integer maximum: 6 minimum: 1 rows: type: integer minimum: 1 required: - cols - rows required: - position - size type: description: The type of tile. Chart tiles must have type 'chart'. type: string enum: - chart definition: description: | The tile's definition, which consists of a query to fetch data and a chart to render the data. Note that some charts expect certain types of queries to render properly. The documentation for the individual chart types has more information. type: object additionalProperties: false properties: query: discriminator: propertyName: datasource mapping: api_usage: '#/components/schemas/AdvancedQuery' llm_usage: '#/components/schemas/LLMQuery' agentic_usage: '#/components/schemas/AgenticQuery' platform_usage: '#/components/schemas/PlatformQuery' oneOf: - $ref: '#/components/schemas/AdvancedQuery' - $ref: '#/components/schemas/LLMQuery' - $ref: '#/components/schemas/AgenticQuery' - $ref: '#/components/schemas/PlatformQuery' chart: $ref: '#/components/schemas/Chart' required: - query - chart additionalProperties: false required: - layout - type - definition Dashboard: description: | A JSON object describing a dashboard. A dashboard is an array of tiles. All tiles are of type 'chart', which query data and render a chart displaying that data. Dashboards have 6 columns and as many rows as necessary to display their tiles. type: object properties: tiles: description: 'The array of tiles. We currently support up to 102 tiles, which is 17 rows of 6x1 tiles.' type: array items: $ref: '#/components/schemas/Tile' maxLength: 102 minLength: 0 preset_filters: description: | An optional array of filters that are applied globally to all relevant tiles in the dashboard. Whether or not a preset filter applies to a tile depends on the filter's dimension. Some dimensions, like `control_plane`, are common to all datasources; other dimensions may only apply to one datasource. type: array items: $ref: '#/components/schemas/AllFilterItems' example: - operator: in field: control_plane value: - 00000000-0000-0000-0000-000000000000 - operator: in field: ai_request_model value: - request_model1 nullable: false additionalProperties: false required: - tiles DashboardUpdateRequest: type: object properties: name: description: | The dashboard name, which is displayed at the top of the dashboard and in lists. It does not need to be unique. type: string maxLength: 255 minLength: 1 definition: $ref: '#/components/schemas/Dashboard' labels: $ref: '#/components/schemas/Labels' required: - name - definition title: Dashboard Request DashboardResponse: type: object properties: name: description: | The dashboard name, which is displayed at the top of the dashboard and in lists. It does not need to be unique. type: string maxLength: 255 minLength: 1 definition: $ref: '#/components/schemas/Dashboard' labels: $ref: '#/components/schemas/Labels' id: $ref: '#/components/schemas/UUID' created_by: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - name - definition title: Dashboard Request AdvancedMetrics: description: 'List of aggregated metrics to collect across the requested time span. If no metrics are specified, request_count will be computed by default.' type: array items: type: string enum: - error_rate - kong_internal_latency_average - kong_internal_latency_p50 - kong_internal_latency_p95 - kong_internal_latency_p99 - kong_latency_average - kong_latency_p50 - kong_latency_p95 - kong_latency_p99 - request_count - request_per_minute - request_size_average - request_size_p50 - request_size_p95 - request_size_p99 - request_size_sum - response_latency_average - response_latency_p50 - response_latency_p95 - response_latency_p99 - response_size_average - response_size_p50 - response_size_p95 - response_size_p99 - response_size_sum - upstream_latency_average - upstream_latency_p50 - upstream_latency_p95 - upstream_latency_p99 x-speakeasy-unknown-values: allow default: - request_count RequestsFilterType: description: 'The type of filter to apply. `in` filters will limit results to only the specified values, while `not_in` filters will exclude the specified values.' type: string enum: - in - not_in x-speakeasy-unknown-values: allow UnscopedUuid: type: string pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$' RequestsFilterTypeEmpty: description: The type of filter to apply. type: string enum: - empty - not_empty x-speakeasy-unknown-values: allow MetricsApiFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. type: array items: $ref: '#/components/schemas/UnscopedUuid' field: description: The field to filter. type: string enum: - api required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - api required: - operator - field title: Filter by api MetricsApiPackageFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. type: array items: $ref: '#/components/schemas/UnscopedUuid' field: description: The field to filter. type: string enum: - api_package required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - api_package required: - operator - field title: Filter by api_package MetricsApiProductFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. type: array items: $ref: '#/components/schemas/UnscopedUuid' field: description: The field to filter. type: string enum: - api_product required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - api_product required: - operator - field title: Filter by api_product MetricsApiProductVersionFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. type: array items: $ref: '#/components/schemas/UnscopedUuid' field: description: The field to filter. type: string enum: - api_product_version required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - api_product_version required: - operator - field title: Filter by api_product_version MetricsApplicationFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. type: array items: $ref: '#/components/schemas/UnscopedUuid' field: description: The field to filter. type: string enum: - application required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - application required: - operator - field title: Filter by application ScopedUuid: type: string pattern: '^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$' MetricsConsumerFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. Because gateway IDs are only unique within a given control plane, the filter values must be of the form `control_plane_id:field_id` or `control_plane_group_id:field_id` for data plane nodes within a control plane group. type: array items: $ref: '#/components/schemas/ScopedUuid' field: description: The field to filter. type: string enum: - consumer required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - consumer required: - operator - field title: Filter by consumer MetricsControlPlaneFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. type: array items: $ref: '#/components/schemas/UnscopedUuid' field: description: The field to filter. type: string enum: - control_plane required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - control_plane required: - operator - field title: Filter by control_plane MetricsControlPlaneGroupFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. type: array items: $ref: '#/components/schemas/UnscopedUuid' field: description: The field to filter. type: string enum: - control_plane_group required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - control_plane_group required: - operator - field title: Filter by control_plane_group MetricsCountryCodeFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - country_code required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - country_code required: - operator - field title: Filter by country_code MetricsDataPlaneNodeFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. Because gateway IDs are only unique within a given control plane, the filter values must be of the form `control_plane_id:field_id` or `control_plane_group_id:field_id` for data plane nodes within a control plane group. type: array items: $ref: '#/components/schemas/ScopedUuid' field: description: The field to filter. type: string enum: - data_plane_node required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - data_plane_node required: - operator - field title: Filter by data_plane_node MetricsDataPlaneNodeVersionFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - data_plane_node_version required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - data_plane_node_version required: - operator - field title: Filter by data_plane_node_version MetricsGatewayServiceFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. Because gateway IDs are only unique within a given control plane, the filter values must be of the form `control_plane_id:field_id` or `control_plane_group_id:field_id` for data plane nodes within a control plane group. type: array items: $ref: '#/components/schemas/ScopedUuid' field: description: The field to filter. type: string enum: - gateway_service required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - gateway_service required: - operator - field title: Filter by gateway_service MetricsPortalFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. type: array items: $ref: '#/components/schemas/UnscopedUuid' field: description: The field to filter. type: string enum: - portal required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - portal required: - operator - field title: Filter by portal MetricsRealmFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. type: array items: $ref: '#/components/schemas/UnscopedUuid' field: description: The field to filter. type: string enum: - realm required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - realm required: - operator - field title: Filter by realm MetricsResponseSourceFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - response_source required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - response_source required: - operator - field title: Filter by response_source MetricsRouteFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The IDs to include in the results. Because gateway IDs are only unique within a given control plane, the filter values must be of the form `control_plane_id:field_id` or `control_plane_group_id:field_id` for data plane nodes within a control plane group. type: array items: $ref: '#/components/schemas/ScopedUuid' field: description: The field to filter. type: string enum: - route required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - route required: - operator - field title: Filter by route MetricsStatusCodeFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The codes to include in the results. type: array items: type: integer minimum: 0 maximum: 999 field: description: The field to filter. type: string enum: - status_code required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - status_code required: - operator - field title: Filter by status_code MetricsStatusCodeGroupedFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The code groups to include in the results. type: array items: type: string pattern: '^\d[xX][xX]$' field: description: The field to filter. type: string enum: - status_code_grouped required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - status_code_grouped required: - operator - field title: Filter by status_code_grouped MetricsUpstreamStatusCodeFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The codes to include in the results. type: array items: type: integer minimum: 0 maximum: 999 field: description: The field to filter. type: string enum: - upstream_status_code required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - upstream_status_code required: - operator - field title: Filter by upstream_status_code MetricsUpstreamStatusCodeGroupedFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The code groups to include in the results. type: array items: type: string pattern: '^\d[xX][xX]$' field: description: The field to filter. type: string enum: - upstream_status_code_grouped required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - upstream_status_code_grouped required: - operator - field title: Filter by upstream_status_code_grouped AdvancedFilters: description: A list of filters to apply to the query. type: array items: type: object properties: field: type: string enum: - api - api_package - api_product - api_product_version - application - consumer - control_plane - control_plane_group - country_code - data_plane_node - data_plane_node_version - gateway_service - portal - realm - response_source - route - status_code - status_code_grouped - upstream_status_code - upstream_status_code_grouped x-speakeasy-unknown-values: allow operator: type: string enum: - in - not_in - empty - not_empty x-speakeasy-unknown-values: allow value: x-speakeasy-type-override: any required: - field - operator Granularity: description: | Force time grouping into buckets of the specified duration. Only has an effect if "time" is in the "dimensions" list. The granularity of the result may be coarser than requested. The finest allowed granularity depends on the query's time range: data farther in the past may have coarser granularity. The exact result granularity will be reported in the response `meta.granularity_ms` field. If granularity is not specified and "time" is in the dimensions list, a default will be chosen based on the time range requested. Different relative times support different granularities: - 15m => tenSecondly, thirtySecondly, minutely - 1h => tenSecondly, thirtySecondly, minutely, fiveMinutely, tenMinutely - 6h => thirtySecondly, minutely, fiveMinutely, tenMinutely, thirtyMinutely, hourly - 12h => minutely, fiveMinutely, tenMinutely, thirtyMinutely, hourly - 24h => fiveMinutely, tenMinutely, thirtyMinutely, hourly - 7d => thirtyMinutely, hourly, twoHourly, twelveHourly, daily - 30d => hourly, twoHourly, twelveHourly, daily, weekly For special time ranges: - current_week, previous_week => thirtyMinutely, hourly, twoHourly, twelveHourly, daily - current_month, previous_month => hourly, twoHourly, twelveHourly, daily, weekly For absolute time ranges, daily will be used. type: string enum: - tenSecondly - thirtySecondly - minutely - fiveMinutely - tenMinutely - thirtyMinutely - hourly - twoHourly - twelveHourly - daily - weekly x-speakeasy-unknown-values: allow MetricsRelativeTimeRangeDtoV2: description: 'A duration representing a relative-to-now span of time. Generally the start time is floored to the requested granularity. Eg 7d from now, with 1day granularity initiated at 2024-01-08T17:11:00+05:00 will query for the time range from 2024-01-01T00:00:00+05:00 to 2024-01-08T17:11:00+05:00. The exact start and end timestamps are returned in the result query in the meta.start and meta.end fields. If the granularity for the previous query was 1hour, it would query a time range from 2024-01-01T17:00:00+05:00 to 2024-01-08T17:11:00+05:00.' type: object properties: tz: type: string default: Etc/UTC type: type: string enum: - relative time_range: type: string default: 1h enum: - 15m - 1h - 6h - 12h - 24h - 7d - 30d - current_week - current_month - previous_week - previous_month x-speakeasy-unknown-values: allow required: - type - time_range title: Relative time range MetricsAbsoluteTimeRangeDtoV2: description: A duration representing an exact start and end time. type: object properties: tz: type: string default: Etc/UTC type: type: string enum: - absolute start: type: string format: date-time default: null nullable: true x-speakeasy-param-computed: false end: type: string format: date-time default: null nullable: true x-speakeasy-param-computed: false required: - type title: Absolute time range TimeRange: description: The time range to query. default: type: relative time_range: 1h discriminator: propertyName: type mapping: relative: '#/components/schemas/MetricsRelativeTimeRangeDtoV2' absolute: '#/components/schemas/MetricsAbsoluteTimeRangeDtoV2' oneOf: - $ref: '#/components/schemas/MetricsRelativeTimeRangeDtoV2' - $ref: '#/components/schemas/MetricsAbsoluteTimeRangeDtoV2' LLMMetrics: description: List of aggregated metrics to collect across the requested time span. type: array items: type: string enum: - total_tokens - prompt_tokens - completion_tokens - ai_request_count - cost - error_rate - llm_cache_embeddings_latency_average - llm_cache_fetch_latency_average - llm_latency_average - llm_embeddings_tokens - llm_embeddings_cost x-speakeasy-unknown-values: allow default: - ai_request_count MetricsAiPluginFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - ai_plugin required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - ai_plugin required: - operator - field title: Filter by ai_plugin MetricsAiProviderFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - ai_provider required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - ai_provider required: - operator - field title: Filter by ai_provider MetricsAiRequestModelFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - ai_request_model required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - ai_request_model required: - operator - field title: Filter by ai_request_model MetricsAiResponseModelFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - ai_response_model required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - ai_response_model required: - operator - field title: Filter by ai_response_model MetricsLlmCacheStatusFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - llm_cache_status required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - llm_cache_status required: - operator - field title: Filter by llm_cache_status MetricsLlmEmbeddingsModelFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - llm_embeddings_model required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - llm_embeddings_model required: - operator - field title: Filter by llm_embeddings_model MetricsLlmEmbeddingsProviderFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - llm_embeddings_provider required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - llm_embeddings_provider required: - operator - field title: Filter by llm_embeddings_provider LLMFilters: description: A list of filters to apply to the query. type: array items: type: object properties: field: type: string enum: - ai_plugin - ai_provider - ai_request_model - ai_response_model - application - consumer - control_plane - control_plane_group - gateway_service - llm_cache_status - llm_embeddings_model - llm_embeddings_provider - realm - route - status_code - status_code_grouped x-speakeasy-unknown-values: allow operator: type: string enum: - in - not_in - empty - not_empty x-speakeasy-unknown-values: allow value: x-speakeasy-type-override: any required: - field - operator AgenticMetrics: description: List of aggregated metrics to collect across the requested time span. type: array items: type: string enum: - a2a_latency_average - a2a_response_size_sum - error_rate - kong_internal_latency_average - kong_internal_latency_p50 - kong_internal_latency_p95 - kong_internal_latency_p99 - kong_latency_average - kong_latency_p50 - kong_latency_p95 - kong_latency_p99 - mcp_response_size_sum - request_count - request_per_minute - request_size_average - request_size_p50 - request_size_p95 - request_size_p99 - request_size_sum - response_latency_average - response_latency_p50 - response_latency_p95 - response_latency_p99 - response_size_average - response_size_p50 - response_size_p95 - response_size_p99 - response_size_sum - upstream_latency_average - upstream_latency_p50 - upstream_latency_p95 - upstream_latency_p99 x-speakeasy-unknown-values: allow default: - request_count MetricsA2aContextIdFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - a2a_context_id required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - a2a_context_id required: - operator - field title: Filter by a2a_context_id MetricsA2aErrorFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - a2a_error required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - a2a_error required: - operator - field title: Filter by a2a_error MetricsA2aMethodFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - a2a_method required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - a2a_method required: - operator - field title: Filter by a2a_method MetricsA2aTaskIdFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - a2a_task_id required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - a2a_task_id required: - operator - field title: Filter by a2a_task_id MetricsMcpErrorFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - mcp_error required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - mcp_error required: - operator - field title: Filter by mcp_error MetricsMcpMethodFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - mcp_method required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - mcp_method required: - operator - field title: Filter by mcp_method MetricsMcpSessionIdFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - mcp_session_id required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - mcp_session_id required: - operator - field title: Filter by mcp_session_id MetricsMcpToolNameFilterByField: oneOf: - title: Multiselect filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterType' value: description: | The values to include in the results. type: array items: type: string field: description: The field to filter. type: string enum: - mcp_tool_name required: - operator - value - field - title: Empty filters type: object properties: operator: $ref: '#/components/schemas/RequestsFilterTypeEmpty' field: description: The field to filter. type: string enum: - mcp_tool_name required: - operator - field title: Filter by mcp_tool_name AgenticFilters: description: A list of filters to apply to the query. type: array items: type: object properties: field: type: string enum: - a2a_context_id - a2a_error - a2a_method - a2a_task_id - api - api_package - api_product - api_product_version - application - consumer - control_plane - control_plane_group - country_code - data_plane_node - data_plane_node_version - gateway_service - mcp_error - mcp_method - mcp_session_id - mcp_tool_name - portal - realm - response_source - route - status_code - status_code_grouped - upstream_status_code - upstream_status_code_grouped x-speakeasy-unknown-values: allow operator: type: string enum: - in - not_in - empty - not_empty x-speakeasy-unknown-values: allow value: x-speakeasy-type-override: any required: - field - operator PlatformMetrics: description: List of aggregated metrics to collect across the requested time span. type: array items: type: string enum: - control_plane_count - service_count - route_count - consumer_count - plugin_count - node_count x-speakeasy-unknown-values: allow default: - control_plane_count PlatformFilter: description: A filter to apply to a platform usage query. type: object properties: field: description: The field to filter. type: string enum: - control_plane - data_plane_node_version - gateway_service - plugin - plugin_name - plugin_scope - realm - route x-speakeasy-unknown-values: allow operator: type: string enum: - in - not_in x-speakeasy-unknown-values: allow value: description: The values to filter by. type: array items: type: string minItems: 1 required: - field - operator - value PlatformFilters: description: A list of filters to apply to the query. type: array items: $ref: '#/components/schemas/PlatformFilter' PlatformGranularity: description: | Force time grouping into buckets of the specified duration. Only has an effect if "time" is in the "dimensions" list. If granularity is not specified and "time" is in the dimensions list, a default will be chosen based on the time range requested. Different relative times support different granularities: - 24h => daily - 7d, current_week, previous_week => daily, weekly - 30d, current_month, previous_month => daily, weekly, monthly - 90d, 180d, 365d, current_quarter, previous_quarter => daily, weekly, monthly For absolute time ranges, daily will be used. Granularity values: - `daily`: Groups data into 24-hour buckets. - `weekly`: Groups data into 7-day buckets. - `monthly`: Groups data into calendar month buckets. type: string enum: - daily - weekly - monthly x-speakeasy-unknown-values: allow PlatformRelativeTimeRange: description: A duration representing a relative-to-now span of time for platform queries. type: object properties: tz: type: string default: Etc/UTC type: type: string enum: - relative time_range: type: string default: 30d enum: - 24h - 7d - 30d - 90d - 180d - 365d - current_week - current_month - current_quarter - previous_week - previous_month - previous_quarter x-speakeasy-unknown-values: allow required: - type - time_range title: Relative time range PlatformTimeRange: description: The time range to query for platform data. default: type: relative time_range: 30d discriminator: propertyName: type mapping: relative: '#/components/schemas/PlatformRelativeTimeRange' absolute: '#/components/schemas/MetricsAbsoluteTimeRangeDtoV2' oneOf: - $ref: '#/components/schemas/PlatformRelativeTimeRange' - $ref: '#/components/schemas/MetricsAbsoluteTimeRangeDtoV2' DonutChart: description: | A chart that can display one-dimensional data in a hollow, segmented circle. To use this chart, ensure that the query includes only one dimension (not `time`). type: object properties: chart_title: description: 'The title of the chart, which is displayed in the tile''s header.' type: string nullable: false type: type: string enum: - donut additionalProperties: false required: - type title: Donut chart TimeseriesChart: description: | A chart that can render timeseries data -- data from a query that has `time` as a dimension -- as lines or bars. This type of chart can support: - One or more metrics: `{ metrics: ["response_latency_p99", "response_latency_p95"], dimensions: ["time"] }` - One metric plus one non-time dimension: `{ metrics: ["request_count"], dimensions: ["time", "gateway_service"] }` Either way, ensure that `time` is in the list of query dimensions. type: object properties: chart_title: description: 'The title of the chart, which is displayed in the tile''s header.' type: string nullable: false type: type: string enum: - timeseries_line - timeseries_bar x-speakeasy-unknown-values: allow stacked: description: | Whether to stack the bars or lines (implicitly adding them together to form a total), or leave them independent from each other. type: boolean nullable: false additionalProperties: false required: - type title: Timeseries chart BarChart: description: | A chart that can display non-timeseries data as bars. This type of chart supports up to 2 dimensions (not `time`). To render a bar chart of timeseries data, use a `timeseries_bar` chart instead. type: object properties: chart_title: description: 'The title of the chart, which is displayed in the tile''s header.' type: string nullable: false type: type: string enum: - horizontal_bar - vertical_bar x-speakeasy-unknown-values: allow stacked: description: | Whether to stack the bars (implicitly adding them together to form a total), or leave them independent from each other. type: boolean nullable: false additionalProperties: false required: - type title: Bar chart SingleValueChart: description: A chart that can render a single number. This chart works with a single metric and no dimensions. type: object properties: chart_title: description: 'The title of the chart, which is displayed in the tile''s header.' type: string nullable: false type: type: string enum: - single_value decimal_points: description: 'The number of figures to render after the decimal. Most metrics only support up to 2 decimals, but some may support more.' type: number default: null nullable: true x-speakeasy-param-computed: false additionalProperties: false required: - type title: Single value chart ChoroplethMapChart: description: | A chart that displays data on a world map. Each region on the map is colored based on the metric value. This chart works only with the `api_usage` datasource and requires a single metric and a single dimension of `country_code`. No additional dimensions are supported. type: object properties: chart_title: description: 'The title of the chart, which is displayed in the tile''s header.' type: string nullable: false type: type: string enum: - choropleth_map additionalProperties: false required: - type title: Choropleth map chart Chart: description: The type of chart to render. discriminator: propertyName: type mapping: donut: '#/components/schemas/DonutChart' timeseries_line: '#/components/schemas/TimeseriesChart' timeseries_bar: '#/components/schemas/TimeseriesChart' horizontal_bar: '#/components/schemas/BarChart' vertical_bar: '#/components/schemas/BarChart' single_value: '#/components/schemas/SingleValueChart' choropleth_map: '#/components/schemas/ChoroplethMapChart' oneOf: - $ref: '#/components/schemas/DonutChart' - $ref: '#/components/schemas/TimeseriesChart' - $ref: '#/components/schemas/BarChart' - $ref: '#/components/schemas/SingleValueChart' - $ref: '#/components/schemas/ChoroplethMapChart' AllFilterItems: type: object properties: field: type: string enum: - a2a_context_id - a2a_error - a2a_method - a2a_task_id - ai_plugin - ai_provider - ai_request_model - ai_response_model - api - api_package - api_product - api_product_version - application - consumer - control_plane - control_plane_group - country_code - data_plane_node - data_plane_node_version - gateway_service - llm_cache_status - llm_embeddings_model - llm_embeddings_provider - mcp_error - mcp_method - mcp_session_id - mcp_tool_name - portal - realm - response_source - route - status_code - status_code_grouped - upstream_status_code - upstream_status_code_grouped x-speakeasy-unknown-values: allow operator: type: string enum: - in - not_in - empty - not_empty x-speakeasy-unknown-values: allow value: x-speakeasy-type-override: any required: - field - operator EventGatewayInfo: description: The gateway object contains information about a Konnect gateway. type: object properties: id: description: The gateway ID. type: string format: uuid example: 7f9fd312-a987-4628-b4c5-bb4f4fddd5f7 readOnly: true x-speakeasy-param-suppress-computed-diff: true name: $ref: '#/components/schemas/GatewayName' description: $ref: '#/components/schemas/GatewayDescription' labels: $ref: '#/components/schemas/Labels' created_at: description: An ISO-8604 timestamp representation of gateway creation date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true x-speakeasy-terraform-ignore: true updated_at: description: An ISO-8604 timestamp representation of gateway update date. type: string format: date-time example: '2022-11-04T20:10:06.927Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true x-speakeasy-terraform-ignore: true nodes_total: description: The total number of nodes associated with the Event Gateway. type: integer virtual_clusters_total: description: The total number of virtual clusters associated with the Event Gateway. type: integer min_runtime_version: $ref: '#/components/schemas/MinRuntimeVersion' version: description: | The version number of the event gateway. Every change to an entity under this gateway will modify the version. type: string example: v1.123 additionalProperties: false required: - id - name - created_at - updated_at - nodes_total - virtual_clusters_total - min_runtime_version - version EventGatewayListener: description: Listeners are used to expose virtual clusters to clients. type: object properties: id: description: The unique identifier of the listener. type: string format: uuid x-speakeasy-param-suppress-computed-diff: true name: description: The unique name of the listener. type: string maxLength: 255 minLength: 1 x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the listener. type: string default: '' maxLength: 512 addresses: $ref: '#/components/schemas/EventGatewayListenerAddresses' ports: $ref: '#/components/schemas/EventGatewayListenerPorts' labels: $ref: '#/components/schemas/Labels' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - name - addresses - ports - created_at - updated_at EventGatewayListenerAddresses: description: | Which address or addresses to listen on. `0.0.0.0` means all addresses on the host. `::` means all addresses on the host in IPv6. If `0.0.0.0` or `::` is used, there can't be other extra addresses defined. WARNING: there are use cases where listening on all addresses is insecure. So use this with caution. `localhost` means only the localhost ipv4 address. type: array items: type: string minLength: 1 minItems: 1 EventGatewayListenerPorts: description: | Which port or ports to listen on. There can be multiple ways to define ports: - as a single port, e.g. 9092 - as a range of ports, e.g. 9092-9094 It's possible to combine both, e.g. [9092, "9093-9095", 9096]. type: array items: $ref: '#/components/schemas/EventGatewayListenerPort' minItems: 1 EventGatewayListenerPort: description: A port or a range of ports in the format 9092 or 9092-9094. type: string pattern: '^(\d{1,5}|\d{1,5}-\d{1,5})$' VirtualCluster: description: A representation of a Kafka cluster that maps to a backend cluster. type: object properties: id: description: The unique identifier of the virtual cluster. type: string format: uuid x-speakeasy-param-suppress-computed-diff: true description: description: A human-readable description of the virtual cluster. type: string default: '' maxLength: 512 destination: $ref: '#/components/schemas/BackendClusterReference' authentication: $ref: '#/components/schemas/VirtualClusterAuthenticationSensitiveDataAwareSchemes' namespace: $ref: '#/components/schemas/VirtualClusterNamespace' topic_aliases: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Topic aliases allow exposing backend topics under additional names. An alias creates a new entry point to the same physical data. The alias `topic` field references namespace-visible names (if namespace is configured). Aliases are independent of namespace and can be used without it. **Requires a minimum runtime version of `1.2`**. type: array items: $ref: '#/components/schemas/VirtualClusterTopicAlias' nullable: true x-min-runtime-version: '1.2' x-speakeasy-param-computed: false x-unstable: true name: $ref: '#/components/schemas/VirtualClusterName' dns_label: $ref: '#/components/schemas/VirtualClusterDNSLabel' acl_mode: $ref: '#/components/schemas/VirtualClusterACLMode' labels: $ref: '#/components/schemas/Labels' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - name - dns_label - destination - authentication - acl_mode - created_at - updated_at VirtualClusterName: description: The name of the virtual cluster. type: string maxLength: 255 minLength: 1 x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' VirtualClusterReference: description: A reference to a virtual cluster. $ref: '#/components/schemas/VirtualClusterReferenceById' VirtualClusterReferenceById: description: Reference a virtual cluster by its unique identifier. type: object properties: id: description: The unique identifier of the virtual cluster. type: string format: uuid minLength: 1 required: - id VirtualClusterAuthenticationSensitiveDataAwareSchemes: description: | How to handle authentication from clients. It tries to authenticate with every rule sequentially one by one. It succeeds on the first match, and fails if no rule matches. type: array items: $ref: '#/components/schemas/VirtualClusterAuthenticationSensitiveDataAwareScheme' minItems: 1 VirtualClusterAuthenticationSchemes: description: | How to handle authentication from clients. It tries to authenticate with every rule sequentially one by one. It succeeds on the first match, and fails if no rule matches. type: array items: $ref: '#/components/schemas/VirtualClusterAuthenticationScheme' minItems: 1 VirtualClusterAuthenticationSensitiveDataAwareScheme: discriminator: propertyName: type mapping: anonymous: '#/components/schemas/VirtualClusterAuthenticationAnonymous' sasl_plain: '#/components/schemas/VirtualClusterAuthenticationSaslPlainSensitiveDataAware' sasl_scram: '#/components/schemas/VirtualClusterAuthenticationSaslScram' oauth_bearer: '#/components/schemas/VirtualClusterAuthenticationOauthBearer' client_certificate: '#/components/schemas/VirtualClusterAuthenticationClientCertificate' oneOf: - $ref: '#/components/schemas/VirtualClusterAuthenticationAnonymous' - $ref: '#/components/schemas/VirtualClusterAuthenticationSaslPlainSensitiveDataAware' - $ref: '#/components/schemas/VirtualClusterAuthenticationSaslScram' - $ref: '#/components/schemas/VirtualClusterAuthenticationOauthBearer' - $ref: '#/components/schemas/VirtualClusterAuthenticationClientCertificate' VirtualClusterAuthenticationScheme: discriminator: propertyName: type mapping: anonymous: '#/components/schemas/VirtualClusterAuthenticationAnonymous' sasl_plain: '#/components/schemas/VirtualClusterAuthenticationSaslPlain' sasl_scram: '#/components/schemas/VirtualClusterAuthenticationSaslScram' oauth_bearer: '#/components/schemas/VirtualClusterAuthenticationOauthBearer' client_certificate: '#/components/schemas/VirtualClusterAuthenticationClientCertificate' oneOf: - $ref: '#/components/schemas/VirtualClusterAuthenticationAnonymous' - $ref: '#/components/schemas/VirtualClusterAuthenticationSaslPlain' - $ref: '#/components/schemas/VirtualClusterAuthenticationSaslScram' - $ref: '#/components/schemas/VirtualClusterAuthenticationOauthBearer' - $ref: '#/components/schemas/VirtualClusterAuthenticationClientCertificate' VirtualClusterAuthenticationAnonymous: type: object properties: type: type: string const: anonymous required: - type VirtualClusterAuthenticationClientCertificate: description: |- Client certificate (mTLS) authentication scheme for the virtual cluster. **Requires a minimum runtime version of `1.1`**. type: object properties: type: type: string const: client_certificate fetch_kong_identity_principal: $ref: '#/components/schemas/FetchKongIdentityPrincipal' example: type: client_certificate additionalProperties: false required: - type x-min-runtime-version: '1.1' x-property-annotations: fetch_kong_identity_principal: - x-unstable - x-internal x-speakeasy-param-computed: false TLSTrustBundle: description: |- A TLS trust bundle defines a set of trusted certificate authorities (CAs) used for client certificate verification during mutual TLS (mTLS). Trust bundles are referenced by TLS listener policies to determine which client certificates are accepted. **Requires a minimum runtime version of `1.1`**. type: object properties: id: description: The unique identifier of the TLS trust bundle. type: string format: uuid readOnly: true x-speakeasy-param-suppress-computed-diff: true name: $ref: '#/components/schemas/TLSTrustBundleName' description: description: A human-readable description of the TLS trust bundle. type: string default: '' maxLength: 512 config: $ref: '#/components/schemas/TLSTrustBundleConfig' labels: $ref: '#/components/schemas/Labels' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - name - config - created_at - updated_at x-min-runtime-version: '1.1' x-speakeasy-param-computed: false TLSTrustBundleName: description: The unique name of the TLS trust bundle. type: string maxLength: 255 minLength: 1 x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' TLSTrustBundleConfig: type: object properties: trusted_ca: description: | PEM-encoded list of trusted CA certificates used to verify client certificates. Can be a literal PEM string or a vault reference. type: string minLength: 1 x-expression: type: string fields: - vault required: - trusted_ca TLSTrustBundleReference: description: | A reference to a TLS trust bundle resource. Either `id` or `name` must be provided. Following changes to the trust bundle name won't affect the reference, as the system will create the entities relationship by `id`. $ref: '#/components/schemas/TLSTrustBundleReferenceById' TLSTrustBundleReferenceById: type: object properties: id: description: The unique identifier of the TLS trust bundle. type: string format: uuid minLength: 1 required: - id VirtualClusterAuthenticationSaslPlainSensitiveDataAware: description: SASL/PLAIN authentication scheme for the virtual cluster. type: object properties: type: type: string const: sasl_plain mediation: description: The mediation type for SASL/PLAIN authentication. type: string enum: - passthrough - terminate x-speakeasy-unknown-values: allow principals: description: 'List of principals to be able to authenticate with, used with `terminate` mediation.' type: array items: $ref: '#/components/schemas/VirtualClusterAuthenticationPrincipalSensitiveDataAware' default: null nullable: true x-speakeasy-param-computed: false fetch_kong_identity_principal: $ref: '#/components/schemas/FetchKongIdentityPrincipal' additionalProperties: false required: - type - mediation x-property-annotations: fetch_kong_identity_principal: - x-unstable - x-internal VirtualClusterAuthenticationSaslPlain: description: | SASL/PLAIN authentication scheme for the virtual cluster containing principals with username and password. type: object properties: type: type: string const: sasl_plain mediation: description: The mediation type for SASL/PLAIN authentication. type: string enum: - passthrough - terminate x-speakeasy-unknown-values: allow principals: description: 'List of principals to be able to authenticate with, used with `terminate` mediation.' type: array items: $ref: '#/components/schemas/VirtualClusterAuthenticationPrincipal' default: null minItems: 1 nullable: true x-speakeasy-param-computed: false fetch_kong_identity_principal: $ref: '#/components/schemas/FetchKongIdentityPrincipal' additionalProperties: false required: - type - mediation x-property-annotations: fetch_kong_identity_principal: - x-unstable - x-internal VirtualClusterAuthenticationPrincipalSensitiveDataAware: description: A principal for authentication. type: object properties: username: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' password: $ref: '#/components/schemas/GatewaySecret' required: - username VirtualClusterAuthenticationPrincipal: description: A principal for authentication containing username and password. type: object properties: username: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' password: $ref: '#/components/schemas/GatewaySecret' required: - username - password VirtualClusterAuthenticationJWKS: description: JSON Web Key Set configuration for verifying token signatures. type: object properties: endpoint: description: URL for JWKS endpoint. type: string format: uri minLength: 1 timeout: description: Total time from establishing connection to receive a response from JWKS endpoint. type: string default: 10s cache_expiration: description: Duration after which the gateway will fetch and cache JWKS. type: string default: 1h required: - endpoint VirtualClusterAuthenticationClaimsMapping: description: Maps JWT claims in the case when sub and scope are presented as different claims in your JWT token. type: object properties: sub: description: Maps the subject claim. type: string default: null minLength: 1 nullable: true x-speakeasy-param-computed: false scope: description: Maps the scope claim. type: string default: null minLength: 1 nullable: true x-speakeasy-param-computed: false VirtualClusterAuthenticationSaslScram: description: SASL/SCRAM authentication scheme for the virtual cluster. type: object properties: type: type: string const: sasl_scram algorithm: description: The algorithm used for SASL/SCRAM authentication. type: string enum: - sha256 - sha512 x-speakeasy-unknown-values: allow fetch_kong_identity_principal: $ref: '#/components/schemas/FetchKongIdentityPrincipal' additionalProperties: false required: - type - algorithm x-property-annotations: fetch_kong_identity_principal: - x-unstable - x-internal VirtualClusterAuthenticationOauthBearer: description: Oauth Bearer authentication scheme for the virtual cluster. type: object properties: type: type: string const: oauth_bearer mediation: description: | Methods to mediate authentication: * passthrough - pass authentication from the client through proxy to the backend cluster without any kind of validation * validate_forward - pass authentication from the client through proxy to the backend cluster. Proxy does the validation before forwarding it to the client. * terminate - terminate authentication at the proxy level and originate authentication to the backend cluster using the configuration defined at BackendCluster's authentication. SASL auth is not originated if authentication on the backend_cluster is not configured. type: string enum: - passthrough - validate_forward - terminate x-speakeasy-unknown-values: allow claims_mapping: $ref: '#/components/schemas/VirtualClusterAuthenticationClaimsMapping' jwks: $ref: '#/components/schemas/VirtualClusterAuthenticationJWKS' validate: $ref: '#/components/schemas/VirtualClusterAuthenticationValidate' fetch_kong_identity_principal: $ref: '#/components/schemas/FetchKongIdentityPrincipalOauthBearer' additionalProperties: false required: - type - mediation x-property-annotations: fetch_kong_identity_principal: - x-unstable - x-internal VirtualClusterAuthenticationValidate: description: Validation rules. type: object properties: audiences: description: List of expected audience values. One of them has to match the audience claim in the token. type: array items: $ref: '#/components/schemas/VirtualClusterAuthenticationAudience' default: null minItems: 1 nullable: true x-speakeasy-param-computed: false issuer: description: Expected token issuer in the token. type: string default: null minLength: 1 nullable: true x-speakeasy-param-computed: false VirtualClusterAuthenticationAudience: type: object properties: name: type: string minLength: 1 required: - name FetchKongIdentityPrincipal: description: |- Fetches principal metadata from Kong Identity after successful authentication. The principal is looked up by a custom key matched against the authenticated identity. **Requires a minimum runtime version of `1.2`**. type: object properties: directory: description: Kong Identity directory to use for principal lookup. type: string minLength: 1 fetch_by: $ref: '#/components/schemas/FetchKongIdentityPrincipalFetchBy' failure_mode: $ref: '#/components/schemas/FetchKongIdentityPrincipalFailureMode' required: - directory - fetch_by - failure_mode x-internal: true x-min-runtime-version: '1.2' x-speakeasy-param-computed: false x-unstable: true FetchKongIdentityPrincipalOauthBearer: description: |- Fetches principal metadata from Kong Identity after successful OAUTHBEARER authentication. The principal is looked up by the iss and sub claims from the JWT token. **Requires a minimum runtime version of `1.2`**. type: object properties: directory: description: Kong Identity directory to use for principal lookup. type: string minLength: 1 failure_mode: $ref: '#/components/schemas/FetchKongIdentityPrincipalFailureMode' required: - directory - failure_mode x-internal: true x-min-runtime-version: '1.2' x-speakeasy-param-computed: false x-unstable: true FetchKongIdentityPrincipalFetchBy: description: |- Defines how to look up the principal in Kong Identity. **Requires a minimum runtime version of `1.2`**. type: object properties: key: description: | The metadata key in Kong Identity to match the authenticated identity against. Value for the lookup is a `username` in case of `sasl_plain` or `sasl_scram`. In case of `client_certificate` it's a principal mapped by the listener TLSServer policy. type: string minLength: 1 required: - key x-internal: true x-min-runtime-version: '1.2' x-speakeasy-param-computed: false x-unstable: true FetchKongIdentityPrincipalFailureMode: description: |- Behavior when the Kong Identity principal lookup fails. * `error` - fail the authentication if the principal lookup fails. * `ignore` - proceed without principal metadata if the lookup fails. **Requires a minimum runtime version of `1.2`**. type: string enum: - error - ignore x-internal: true x-min-runtime-version: '1.2' x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow x-unstable: true VirtualClusterDNSLabel: description: |- The DNS label used in the bootstrap server URL to identify the virtual cluster when using SNI routing. The format follows the RFC1035: 1-63 chars, lowercase alphanumeric or '-', must start and end with an alphanumeric character. type: string example: vcluster-1 maxLength: 63 minLength: 1 pattern: '^[a-z0-9]([-a-z0-9]*[a-z0-9])?$' VirtualClusterACLMode: description: | Configures whether or not ACL policies are enforced on the gateway. - `enforce_on_gateway` means the gateway enforces its own ACL policies for this virtual cluster and does not forward ACL-related commands to the backend cluster. Note that if there are no ACL policies configured, all access is denied. - `passthrough` tells the gateway to forward all ACL-related commands. type: string enum: - enforce_on_gateway - passthrough x-speakeasy-unknown-values: allow BackendCluster: description: The Kafka cluster. type: object properties: id: description: The unique identifier of the backend cluster. type: string format: uuid readOnly: true x-speakeasy-param-suppress-computed-diff: true name: $ref: '#/components/schemas/BackendClusterName' description: description: A human-readable description of the backend cluster. type: string default: '' maxLength: 512 authentication: $ref: '#/components/schemas/BackendClusterAuthenticationSensitiveDataAwareScheme' insecure_allow_anonymous_virtual_cluster_auth: description: | If true, virtual clusters can have allow anonymous authentication and use this backend cluster. This setting is not recommended for production use as it may create privilege escalation vulnerabilities. type: boolean default: false bootstrap_servers: $ref: '#/components/schemas/BootstrapServers' tls: $ref: '#/components/schemas/BackendClusterTLS' metadata_update_interval_seconds: $ref: '#/components/schemas/BackendMetadataUpdateIntervalSeconds' labels: $ref: '#/components/schemas/Labels' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - name - authentication - bootstrap_servers - tls - created_at - updated_at BackendClusterName: description: The unique name of the backend cluster. type: string maxLength: 255 minLength: 1 x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' BackendClusterReference: description: The backend cluster associated with the virtual cluster. type: object properties: id: description: The unique identifier of the backend cluster. type: string format: uuid name: $ref: '#/components/schemas/BackendClusterName' additionalProperties: false required: - id - name BackendClusterReferenceModify: description: | The backend cluster associated with the virtual cluster. Either `id` or `name` must be provided. Following changes to the backend cluster name won't affect the reference, as the system will create the entities relationship by `id`. properties: id: description: The unique identifier of the backend cluster. type: string format: uuid BootstrapServers: description: 'A list of cluster bootstrap servers in the format address:port.' type: array items: type: string description: 'Endpoint in address:port format.' pattern: '^(([a-zA-Z0-9\.\-]+)|\[([a-fA-F0-9:]+)\]):\d+$' minLength: 1 minItems: 1 BackendClusterTLS: type: object properties: enabled: description: 'If true, TLS is enabled for connections to this backend cluster. If false, TLS is explicitly disabled.' type: boolean insecure_skip_verify: description: 'If true, skip certificate verification. It''s not secure to use for production.' type: boolean default: false ca_bundle: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' tls_versions: description: List of supported TLS versions. type: array items: type: string enum: - tls12 - tls13 x-speakeasy-unknown-values: allow default: - tls12 - tls13 client_identity: description: |- Client mTLS configuration. **Requires a minimum runtime version of `1.1`**. type: object properties: certificate: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' key: $ref: '#/components/schemas/GatewaySecret' required: - certificate - key x-min-runtime-version: '1.1' x-speakeasy-param-computed: false required: - enabled BackendMetadataUpdateIntervalSeconds: description: The interval at which metadata is updated in seconds. type: integer default: 60 maximum: 43200 minimum: 1 BackendClusterAuthenticationScheme: discriminator: propertyName: type mapping: anonymous: '#/components/schemas/BackendClusterAuthenticationAnonymous' sasl_plain: '#/components/schemas/BackendClusterAuthenticationSaslPlain' sasl_scram: '#/components/schemas/BackendClusterAuthenticationSaslScram' oneOf: - $ref: '#/components/schemas/BackendClusterAuthenticationAnonymous' - $ref: '#/components/schemas/BackendClusterAuthenticationSaslPlain' - $ref: '#/components/schemas/BackendClusterAuthenticationSaslScram' BackendClusterAuthenticationSensitiveDataAwareScheme: discriminator: propertyName: type mapping: anonymous: '#/components/schemas/BackendClusterAuthenticationAnonymous' sasl_plain: '#/components/schemas/BackendClusterAuthenticationSaslPlainSensitiveDataAware' sasl_scram: '#/components/schemas/BackendClusterAuthenticationSaslScramSensitiveDataAware' oneOf: - $ref: '#/components/schemas/BackendClusterAuthenticationAnonymous' - $ref: '#/components/schemas/BackendClusterAuthenticationSaslPlainSensitiveDataAware' - $ref: '#/components/schemas/BackendClusterAuthenticationSaslScramSensitiveDataAware' BackendClusterAuthenticationAnonymous: description: Anonymous authentication scheme for the backend cluster. type: object properties: type: description: The type of authentication scheme. type: string const: anonymous additionalProperties: false required: - type BackendClusterAuthenticationSaslPlainSensitiveDataAware: description: | SASL/PLAIN authentication scheme for the backend cluster without requiring sensitive password data. type: object properties: type: type: string const: sasl_plain username: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' password: $ref: '#/components/schemas/GatewaySecret' additionalProperties: false required: - type - username BackendClusterAuthenticationSaslPlain: description: SASL/PLAIN authentication scheme for the backend cluster. type: object properties: type: type: string const: sasl_plain username: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' password: $ref: '#/components/schemas/GatewaySecret' additionalProperties: false required: - type - username - password BackendClusterAuthenticationSaslScramSensitiveDataAware: description: | SASL/SCRAM authentication scheme for the backend cluster without requiring sensitive password data. type: object properties: type: type: string const: sasl_scram algorithm: description: The algorithm used for SASL/SCRAM authentication. type: string enum: - sha256 - sha512 x-speakeasy-unknown-values: allow username: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' password: $ref: '#/components/schemas/GatewaySecret' additionalProperties: false required: - type - username - algorithm BackendClusterAuthenticationSaslScram: description: SASL/SCRAM authentication scheme for the backend cluster. type: object properties: type: type: string const: sasl_scram algorithm: description: The algorithm used for SASL/SCRAM authentication. type: string enum: - sha256 - sha512 x-speakeasy-unknown-values: allow username: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' password: $ref: '#/components/schemas/GatewaySecret' additionalProperties: false required: - type - username - algorithm - password EventGatewayVaultType: description: The type of the vault. type: string enum: - env - konnect x-enum-varnames: - EventGatewayVaultTypeEnv - EventGatewayVaultTypeKonnect x-speakeasy-unknown-values: allow EventGatewayVault: type: object properties: id: description: The unique identifier of the vault. type: string format: uuid discriminator: propertyName: type mapping: env: '#/components/schemas/EventGatewayEnvVault' konnect: '#/components/schemas/EventGatewayKonnectVault' oneOf: - $ref: '#/components/schemas/EventGatewayEnvVault' - $ref: '#/components/schemas/EventGatewayKonnectVault' required: - id EventGatewayBaseVault: description: Base properties of a vault. type: object properties: name: description: The name of the vault. type: string maxLength: 255 minLength: 1 pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.'']*[\p{L}\p{N}]$' x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' type: $ref: '#/components/schemas/EventGatewayVaultType' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' description: description: A human-readable description of the vault. type: string default: '' maxLength: 512 labels: $ref: '#/components/schemas/Labels' required: - name - type - created_at - updated_at EventGatewayEnvVault: allOf: - $ref: '#/components/schemas/EventGatewayBaseVault' - type: object description: An environment vault. required: - config - type properties: type: type: string const: env x-go-type: EventGatewayVaultType config: description: The configuration of the environment vault. type: object properties: prefix: description: The optional prefix for environment variables. type: string example: KONG_ required: - prefix EventGatewayKonnectVault: allOf: - $ref: '#/components/schemas/EventGatewayBaseVault' - type: object description: A konnect vault. required: - type properties: type: type: string const: konnect x-go-type: EventGatewayVaultType EventGatewayModifyVault: description: The typed schema of the vault to modify it. discriminator: propertyName: type mapping: env: '#/components/schemas/EventGatewayEnvVault' konnect: '#/components/schemas/EventGatewayKonnectVault' oneOf: - $ref: '#/components/schemas/EventGatewayEnvVault' - $ref: '#/components/schemas/EventGatewayKonnectVault' SchemaRegistry: description: A schema registry that contains schemas. type: object properties: name: description: The unique name of the schema registry. type: string maxLength: 255 minLength: 1 x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description. type: string maxLength: 512 x-speakeasy-param-computed: true type: description: The type of the schema registry. type: string config: description: The configuration of the schema registry. type: object default: null nullable: true x-speakeasy-param-computed: false labels: $ref: '#/components/schemas/Labels' id: description: The unique identifier of the schema registry. type: string format: uuid created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - name - type - id - created_at - updated_at SchemaRegistryConfluentSensitiveDataAware: description: A Confluent schema registry. type: object properties: name: description: The unique name of the schema registry. type: string maxLength: 255 minLength: 1 x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description. type: string maxLength: 512 x-speakeasy-param-computed: true type: description: The type of the schema registry. type: string const: confluent config: description: The configuration of the schema registry. type: object $ref: '#/components/schemas/SchemaRegistryConfluentConfigSensitiveDataAware' labels: $ref: '#/components/schemas/Labels' required: - name - type - config SchemaRegistryConfluent: description: A Confluent schema registry. type: object properties: name: description: The unique name of the schema registry. type: string maxLength: 255 minLength: 1 x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description. type: string maxLength: 512 x-speakeasy-param-computed: true type: description: The type of the schema registry. type: string const: confluent config: description: The configuration of the schema registry. type: object $ref: '#/components/schemas/SchemaRegistryConfluentConfig' labels: $ref: '#/components/schemas/Labels' required: - name - type - config SchemaRegistryConfluentConfigSensitiveDataAware: description: | The configuration of [Confluent Schema Registry](https://github.com/confluentinc/schema-registry) type: object properties: schema_type: description: The format of the message. type: string enum: - avro - json x-speakeasy-unknown-values: allow endpoint: description: The endpoint of the Confluent schema registry. type: string format: uri minLength: 1 timeout_seconds: description: | Total time in seconds from establishing connection to receive a response from schema registry. type: integer default: 10 minimum: 1 authentication: $ref: '#/components/schemas/SchemaRegistryAuthenticationSensitiveDataAwareScheme' required: - schema_type - endpoint SchemaRegistryConfluentConfig: description: | The configuration of [Confluent Schema Registry](https://github.com/confluentinc/schema-registry) type: object properties: schema_type: description: The format of the message. type: string enum: - avro - json x-speakeasy-unknown-values: allow endpoint: description: The endpoint of the Confluent schema registry. type: string format: uri minLength: 1 timeout_seconds: description: | Total time in seconds from establishing connection to receive a response from schema registry. type: integer default: 10 minimum: 1 authentication: $ref: '#/components/schemas/SchemaRegistryAuthenticationScheme' required: - schema_type - endpoint SchemaRegistryAuthenticationSensitiveDataAwareScheme: description: The authentication configuration for the schema registry. discriminator: propertyName: type mapping: basic: '#/components/schemas/SchemaRegistryAuthenticationBasicSensitiveDataAware' oneOf: - $ref: '#/components/schemas/SchemaRegistryAuthenticationBasicSensitiveDataAware' SchemaRegistryAuthenticationScheme: description: The authentication configuration for the schema registry. discriminator: propertyName: type mapping: basic: '#/components/schemas/SchemaRegistryAuthenticationBasic' oneOf: - $ref: '#/components/schemas/SchemaRegistryAuthenticationBasic' SchemaRegistryAuthenticationBasicSensitiveDataAware: type: object properties: type: type: string const: basic username: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' password: $ref: '#/components/schemas/GatewaySecret' required: - type - username SchemaRegistryAuthenticationBasic: description: Basic authentication scheme for the schema registry with username and password. type: object properties: type: type: string const: basic username: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' password: $ref: '#/components/schemas/GatewaySecret' required: - type - username - password SchemaRegistryReference: description: A reference to a schema Registry. $ref: '#/components/schemas/SchemaRegistryReferenceById' SchemaRegistryReferenceById: type: object properties: id: description: The unique identifier of the schema registry. type: string format: uuid minLength: 1 required: - id SchemaRegistryCreate: description: The typed schema of the schema registry to create it. discriminator: propertyName: type mapping: confluent: '#/components/schemas/SchemaRegistryConfluent' oneOf: - $ref: '#/components/schemas/SchemaRegistryConfluent' SchemaRegistryUpdate: description: The typed schema of the schema registry to modify it. discriminator: propertyName: type mapping: confluent: '#/components/schemas/SchemaRegistryConfluentSensitiveDataAware' oneOf: - $ref: '#/components/schemas/SchemaRegistryConfluentSensitiveDataAware' EventGatewayPolicy: description: A policy associated with an Event Gateway. type: object properties: type: description: The type name of the policy. type: string maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' id: description: The unique identifier of the policy. type: string format: uuid config: description: The configuration of the policy. type: object default: null nullable: true x-speakeasy-param-computed: false created_at: $ref: '#/components/schemas/CreatedAt' parent_policy_id: description: 'The unique identifier of the parent policy, if any.' type: string format: uuid default: null nullable: true x-speakeasy-param-computed: false updated_at: $ref: '#/components/schemas/UpdatedAt' condition: description: A string containing the boolean expression that determines whether the policy is applied. type: string default: '' maxLength: 1000 x-expression: type: boolean fields: [] required: - type - id - created_at - updated_at EventGatewayListenerPolicy: description: A policy associated with an Event Gateway. type: object properties: type: description: The type name of the policy. type: string maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' id: description: The unique identifier of the policy. type: string format: uuid config: description: The configuration of the policy. type: object created_at: $ref: '#/components/schemas/CreatedAt' parent_policy_id: description: 'The unique identifier of the parent policy, if any.' type: string format: uuid default: null nullable: true x-speakeasy-param-computed: false updated_at: $ref: '#/components/schemas/UpdatedAt' required: - type - id - created_at - updated_at - config EventGatewayTLSListenerSensitiveDataAwarePolicy: description: | The TLS Server policy defines the certificates and keys used by the gateway server when the client connects to the gateway over TLS. While it is possible to have multiple TLS policies on a listener, only one can be active at a time. type: object properties: type: description: The type name of the policy. type: string const: tls_server maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object $ref: '#/components/schemas/EventGatewayTLSListenerPolicyConfigSensitiveDataAware' required: - type - config EventGatewayTLSListenerPolicy: description: | The TLS Server policy defines the certificates and keys used by the gateway server when the client connects to the gateway over TLS. While it is possible to have multiple TLS policies on a listener, only one can be active at a time. type: object properties: type: description: The type name of the policy. type: string const: tls_server maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object $ref: '#/components/schemas/EventGatewayTLSListenerPolicyConfig' required: - type - config title: TLS Listener EventGatewayTLSListenerPolicyConfigSensitiveDataAware: type: object properties: certificates: type: array items: $ref: '#/components/schemas/TLSCertificateSensitiveDataAware' maxItems: 1 minItems: 1 versions: $ref: '#/components/schemas/TLSVersionRange' allow_plaintext: description: | If false, only TLS connections are allowed. If true, both TLS and plaintext connections are allowed. type: boolean default: false client_authentication: description: |- Configures mutual TLS (mTLS) client certificate verification. When set, the gateway requests or requires clients to present a certificate during the TLS handshake. **Requires a minimum runtime version of `1.1`**. type: object properties: mode: description: | * required - Reject TLS connections without a valid client certificate. * requested - Request a client certificate during the TLS handshake, but allow connections without one (falls back to other configured authentication methods). If a certificate is presented but cannot be verified, the connection is closed. type: string enum: - required - requested x-speakeasy-unknown-values: allow tls_trust_bundles: description: | TLS trust bundles contain CA certificate bundles used to verify client certificates. All bundles are merged into a single trust store; a client certificate is accepted if it chains to any trusted CA across all bundles. type: array items: $ref: '#/components/schemas/TLSTrustBundleReference' minItems: 1 principal_mapping: description: |- An expression that extracts a principal identifier from a verified client certificate. This expression must evaluate to a string. **Requires a minimum runtime version of `1.1`**. type: string example: '${context.certificate.subject[''CN''] ? context.certificate.subject[''CN''] : context.certificate.sans.uri[0]}' x-expression: type: string fields: - name: context.certificate.serialNumber type: string description: The string serial number of the certificate - name: context.certificate.subject type: object description: | A map of the subject distinguished name. A distinguished name as described by RFC 4514 is represented as a map with each key being the attribute type and the value being the attribute value. For example: * `certificate.subject['CN']` is the common name * `certificate.subject['O']` is the organization - name: context.certificate.issuer type: object description: | A map of the issuer distinguished name. A distinguished name as described by RFC 4514 is represented as a map with each key being the attribute type and the value being the attribute value. For example: * `certificate.issuer['CN']` is the common name * `certificate.issuer['O']` is the organization - name: context.certificate.sans.dns type: array items: type: string description: An array of the DNS Subject Alternative Names from the certificate. - name: context.certificate.sans.uri type: array items: type: string description: An array of the URI Subject Alternative Names from the certificate. x-min-runtime-version: '1.1' x-speakeasy-param-computed: false required: - mode - tls_trust_bundles x-min-runtime-version: '1.1' x-speakeasy-param-computed: false required: - certificates EventGatewayTLSListenerPolicyConfig: type: object properties: certificates: type: array items: $ref: '#/components/schemas/TLSCertificate' maxItems: 1 minItems: 1 versions: $ref: '#/components/schemas/TLSVersionRange' allow_plaintext: description: | If false, only TLS connections are allowed. If true, both TLS and plaintext connections are allowed. type: boolean default: false client_authentication: description: |- Configures mutual TLS (mTLS) client certificate verification. When set, the gateway requests or requires clients to present a certificate during the TLS handshake. **Requires a minimum runtime version of `1.1`**. type: object properties: mode: description: | * required - Reject TLS connections without a valid client certificate. * requested - Request a client certificate during the TLS handshake, but allow connections without one (falls back to other configured authentication methods). If a certificate is presented but cannot be verified, the connection is closed. type: string enum: - required - requested x-speakeasy-unknown-values: allow tls_trust_bundles: description: | TLS trust bundles contain CA certificate bundles used to verify client certificates. All bundles are merged into a single trust store; a client certificate is accepted if it chains to any trusted CA across all bundles. type: array items: $ref: '#/components/schemas/TLSTrustBundleReference' minItems: 1 principal_mapping: description: |- An expression that extracts a principal identifier from a verified client certificate. This expression must evaluate to a string. **Requires a minimum runtime version of `1.1`**. type: string example: '${context.certificate.subject[''CN''] ? context.certificate.subject[''CN''] : context.certificate.sans.uri[0]}' x-expression: type: string fields: - name: context.certificate.serialNumber type: string description: The string serial number of the certificate - name: context.certificate.subject type: object description: | A map of the subject distinguished name. A distinguished name as described by RFC 4514 is represented as a map with each key being the attribute type and the value being the attribute value. For example: * `certificate.subject['CN']` is the common name * `certificate.subject['O']` is the organization - name: context.certificate.issuer type: object description: | A map of the issuer distinguished name. A distinguished name as described by RFC 4514 is represented as a map with each key being the attribute type and the value being the attribute value. For example: * `certificate.issuer['CN']` is the common name * `certificate.issuer['O']` is the organization - name: context.certificate.sans.dns type: array items: type: string description: An array of the DNS Subject Alternative Names from the certificate. - name: context.certificate.sans.uri type: array items: type: string description: An array of the URI Subject Alternative Names from the certificate. x-min-runtime-version: '1.1' x-speakeasy-param-computed: false required: - mode - tls_trust_bundles x-min-runtime-version: '1.1' x-speakeasy-param-computed: false required: - certificates TLSCertificateSensitiveDataAware: description: A TLS certificate and its associated private key. type: object properties: certificate: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' key: $ref: '#/components/schemas/GatewaySecret' required: - certificate TLSCertificate: description: A TLS certificate and its associated private key. type: object properties: certificate: $ref: '#/components/schemas/GatewaySecretReferenceOrLiteral' key: $ref: '#/components/schemas/GatewaySecret' required: - certificate - key TLSVersionRange: description: A range of TLS versions. type: object properties: min: description: Minimum TLS version to use. type: string default: TLSv1.2 enum: - TLSv1.2 - TLSv1.3 x-speakeasy-unknown-values: allow max: description: Maximum TLS version to use. type: string default: TLSv1.3 enum: - TLSv1.2 - TLSv1.3 x-speakeasy-unknown-values: allow default: min: TLSv1.2 max: TLSv1.3 ForwardToVirtualClusterPolicy: description: | Forwards requests to virtual clusters configured with port routing or SNI routing. While there can be multiple of these policies configured on a listener, there can only be one instance of `port_mapping`. When multiple policies are configured, the first one that matches the connection is used. If no policy matches, the connection is rejected. When using `port_mapping`, there must be a mapping port for each broker on the backend cluster see `ForwardToClusterBySNIConfig` for more details. type: object properties: type: description: The type name of the policy. type: string const: forward_to_virtual_cluster maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object discriminator: propertyName: type mapping: port_mapping: '#/components/schemas/ForwardToClusterByPortMappingConfig' sni: '#/components/schemas/ForwardToClusterBySNIConfig' oneOf: - $ref: '#/components/schemas/ForwardToClusterBySNIConfig' - $ref: '#/components/schemas/ForwardToClusterByPortMappingConfig' required: - type - config title: Forward to Virtual Cluster ForwardToClusterByPortMappingConfig: description: | The configuration to forward request to `destination` and rewrite ports accordingly. All broker ids must fit in the range of ports defined in the listener, if it doesn't the metadata request will return an error. For example with ports: [9000, "9092-9094", "9100"] and `bootstrap_port: at_start` and brokers with ids 1, 2, 3, 4 we will map: bootstrap to 9000 broker 1 to 9001, broker 2 to 9002, broker 3 to 9003, and broker 4 to 9004 and fail the metadata request as these ports are not open. However, with the same configuration but with brokers with ids: 92,93,94,100 we will map: bootstrap to 9000, broker 92 to 9092, broker 93 to 9093, broker 94 to 9094, and broker 100 to 9100. In most cases users should use a single range `["9090-9094"] ` and `bootstrap_port: at_start` and connect with `<host>:9090` as bootstrap server. Being able to use multiple ranges is only useful when when dealing with gaps in broker ids. It is strongly discouraged to use port mapping in production. type: object properties: type: type: string const: port_mapping destination: $ref: '#/components/schemas/VirtualClusterReference' advertised_host: description: 'Virtual brokers are advertised to clients using this host. Any kind of host supported by kafka can be used. If not defined, it''s listen_address. If listen_address is `0.0.0.0` it''s the destination IP of the TCP connection.' type: string pattern: '^[a-z0-9](?:[a-z0-9\-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9\-]{0,61}[a-z0-9])?)*$' bootstrap_port: description: | If set to `at_start`, the first port will be used as a bootstrap port. It provides a stable endpoint to use as the bootstrap server for clients, regardless of broker IDs in the cluster. Additionally, it offsets all ports by one, so for example, if there are 3 brokers (id=1, id=2, id=3) then we will use 4 ports: 9092 (bootstrap), 9093 (id=1), 9094 (id=2), 9095 (id=3) With `none` we will use 3 ports: 9092 (id=1), 9093 (id=2), 9094 (id=3). type: string default: at_start enum: - none - at_start x-speakeasy-unknown-values: allow min_broker_id: description: The lowest broker node ID in the cluster. type: integer default: 0 additionalProperties: false required: - type - destination - advertised_host ForwardToClusterBySNIConfig: description: | The configuration to forward requests to virtual clusters configured with SNI routing. type: object properties: type: type: string const: sni sni_suffix: description: | Optional suffix for TLS SNI validation. This suffix is concatenated with the virtual cluster "dns.label" label to form the base name for the SNI. If not provided, the virtual cluster "dns.label" label alone is used as the base name for the SNI. For example with sni_suffix: `.example.com` and virtual cluster "dns.label" label: `my-cluster`, the SNI suffix for it is `my-cluster.example.com`. If "dns.label" label is absent on the virtual cluster, the traffic won't be routed there. The bootstrap host is `bootstrap.my-cluster.example.com` and then each broker is addressable at `broker-0.my-cluster.example.com`, `broker-1.my-cluster.example.com`, etc. This means that your deployment needs to have a wildcard certificate for the domain and a DNS resolver that routes `*.my-cluster.example.com` to the proxy. The accepted format is a DNS subdomain starting with either `.` or `-`. For example, `-keg.example.com`, `.keg.example.com`, `.namespace.svc.cluster.local`, and `.localhost` are all valid, while `keg.example.com` is not. type: string example: .example.com nullable: false pattern: '^[\.-]([a-z0-9]([a-z0-9-]*[a-z0-9])?\.)*([a-z0-9-]*[a-z0-9])$' advertised_port: description: | Virtual brokers are advertised to clients with this port instead of listen_port. Useful when proxy is behind loadbalancer listening on different port. type: integer maximum: 65535 minimum: 1 nullable: false broker_host_format: description: |- Configures DNS names assigned to brokers in virtual clusters. - `per_cluster_suffix` is the default and allocates one level in the hierarchy for virtual clusters: `broker-{node_id}.{virtual_cluster}.{sni_suffix}` - `shared_suffix` puts all brokers from every virtual clusters into the same level: `broker-{node_id}-{virtual_cluster}.{sni_suffix}`. This makes it easier to manage certificates for this listener. **Requires a minimum runtime version of `1.1`**. type: object properties: type: type: string default: per_cluster_suffix enum: - per_cluster_suffix - shared_suffix x-speakeasy-unknown-values: allow required: - type x-min-runtime-version: '1.1' x-speakeasy-param-computed: false additionalProperties: false required: - type EventGatewayEncryptPolicy: description: Encrypts Kafka records or keys using AES_256_GCM. Keys are therefore 256 bits long. type: object properties: type: description: The type name of the policy. type: string const: encrypt maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object $ref: '#/components/schemas/EventGatewayEncryptConfig' condition: description: A string containing the boolean expression that determines whether the policy is applied. type: string example: 'context.topic.name.endsWith("my_suffix") && record.headers["x-flag"] == "a-value"' default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. required: - type - config title: Encrypt EventGatewayEncryptConfig: description: The configuration of the encrypt policy. type: object properties: failure_mode: $ref: '#/components/schemas/EncryptionFailureMode' part_of_record: description: Describes the parts of a record to encrypt. type: array items: $ref: '#/components/schemas/EncryptionRecordPart' minItems: 1 encryption_key: $ref: '#/components/schemas/EncryptionKey' required: - failure_mode - part_of_record - encryption_key EventGatewayParsedRecordEncryptFieldsPolicy: description: |- Encrypts fields of parsed Kafka records using AES_256_GCM. Keys are therefore 256 bits long. Note this policy can only be used as a child of a `EventGatewayProduceSchemaValidationPolicy` policy. **Requires a minimum runtime version of `1.2`**. type: object properties: type: description: The type name of the policy. type: string const: encrypt_fields maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object $ref: '#/components/schemas/EventGatewayParsedRecordEncryptFieldsConfig' condition: description: | A string containing the boolean expression that determines whether the policy is applied. When the policy is applied as a child policy of schema_validation, the expression can also reference `record.value` fields. type: string example: record.value.content.foo.bar == "a-value" default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. - name: record.value.validated type: boolean description: Indicates whether the record value was successfully validated. - name: record.value.content type: object description: The content of the record value. - name: record.value.schema type: object x-min-runtime-version: '1.2' description: |- Registry-supplied schema metadata for the record value. Populated when the value was validated by a Confluent schema registry. Fields: `id` (uint), `version` (uint, when returned by the registry), `format` ("avro"|"json"), and either `avro.{name, namespace}` or `json.{title, id}`. Sub-fields are absent when not applicable; use `has()` to test presence. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.key.schema type: object x-min-runtime-version: '1.2' description: |- Same shape as `record.value.schema`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false required: - type - config title: Encrypt Parsed Record x-min-runtime-version: '1.2' x-speakeasy-param-computed: false EventGatewayParsedRecordEncryptFieldsPolicyCreate: description: |- Encrypts fields of parsed Kafka records using AES_256_GCM. Keys are therefore 256 bits long. Note this policy can only be used as a child of a `EventGatewayProduceSchemaValidationPolicy` policy. **Requires a minimum runtime version of `1.2`**. type: object properties: type: description: The type name of the policy. type: string const: encrypt_fields maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object $ref: '#/components/schemas/EventGatewayParsedRecordEncryptFieldsConfig' condition: description: | A string containing the boolean expression that determines whether the policy is applied. When the policy is applied as a child policy of schema_validation, the expression can also reference `record.value` fields. type: string example: record.value.content.foo.bar == "a-value" default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. - name: record.value.validated type: boolean description: Indicates whether the record value was successfully validated. - name: record.value.content type: object description: The content of the record value. - name: record.value.schema type: object x-min-runtime-version: '1.2' description: |- Registry-supplied schema metadata for the record value. Populated when the value was validated by a Confluent schema registry. Fields: `id` (uint), `version` (uint, when returned by the registry), `format` ("avro"|"json"), and either `avro.{name, namespace}` or `json.{title, id}`. Sub-fields are absent when not applicable; use `has()` to test presence. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.key.schema type: object x-min-runtime-version: '1.2' description: |- Same shape as `record.value.schema`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false parent_policy_id: description: The unique identifier of the parent schema validation policy. type: string format: uuid required: - type - config - parent_policy_id title: Encrypt Parsed Record Fields x-min-runtime-version: '1.2' x-speakeasy-param-computed: false EventGatewayParsedRecordEncryptFieldsConfig: description: The configuration of the encrypt parsed record policy. type: object properties: failure_mode: $ref: '#/components/schemas/ProduceFailureMode' encrypt_fields: description: Selects which fields to encrypt and with what keys. type: array items: $ref: '#/components/schemas/EventGatewayParsedRecordEncryptionSelector' maxItems: 256 minItems: 1 required: - failure_mode - encrypt_fields EventGatewayParsedRecordEncryptionSelector: description: Selects fields of a parsed record for encryption and defines what key to encrypt them with. type: object properties: encryption_key: $ref: '#/components/schemas/EncryptionKey' paths: $ref: '#/components/schemas/EventGatewayParsedRecordFieldPathsArray' required: - paths - encryption_key EventGatewayParsedRecordFieldPathsArray: type: array items: type: object required: - match properties: match: description: | A field selector. It can select nested fields and array entries. Currently supported are exact matches. type: string example: 'someObject.someArray[1].fieldName' maxItems: 50 EventGatewayDecryptPolicy: description: Decrypts Kafka records or keys using AES_256_GCM. Keys are therefore 256 bits long. type: object properties: type: description: The type name of the policy. type: string const: decrypt maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object $ref: '#/components/schemas/EventGatewayDecryptPolicyConfig' condition: description: A string containing the boolean expression that determines whether the policy is applied. type: string example: 'context.topic.name.endsWith("my_suffix") && record.headers["x-flag"] == "a-value"' default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. required: - type - config title: Decrypt EventGatewayDecryptPolicyConfig: description: The configuration of the decrypt policy. type: object properties: failure_mode: $ref: '#/components/schemas/EncryptionFailureMode' key_sources: description: Describes how to find a symmetric key for decryption. type: array items: $ref: '#/components/schemas/EventGatewayKeySource' minItems: 1 part_of_record: description: Describes the parts of a record to decrypt. type: array items: $ref: '#/components/schemas/DecryptionRecordPart' minItems: 1 required: - failure_mode - key_sources - part_of_record EventGatewayParsedRecordDecryptFieldsPolicy: description: |- Decrypts fields of parsed Kafka records using AES_256_GCM. Keys are therefore 256 bits long. Note this policy can only be used as a child of a `EventGatewayConsumeSchemaValidationPolicy` policy. **Requires a minimum runtime version of `1.2`**. type: object properties: type: description: The type name of the policy. type: string const: decrypt_fields maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object $ref: '#/components/schemas/EventGatewayParsedRecordDecryptFieldsConfig' condition: description: | A string containing the boolean expression that determines whether the policy is applied. When the policy is applied as a child policy of schema_validation, the expression can also reference `record.value` fields. type: string example: record.value.content.foo.bar == "a-value" default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. - name: record.value.validated type: boolean description: Indicates whether the record value was successfully validated. - name: record.value.content type: object description: The content of the record value. - name: record.value.schema type: object x-min-runtime-version: '1.2' description: |- Registry-supplied schema metadata for the record value. Populated when the value was validated by a Confluent schema registry. Fields: `id` (uint), `version` (uint, when returned by the registry), `format` ("avro"|"json"), and either `avro.{name, namespace}` or `json.{title, id}`. Sub-fields are absent when not applicable; use `has()` to test presence. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.key.schema type: object x-min-runtime-version: '1.2' description: |- Same shape as `record.value.schema`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false required: - type - config title: Decrypt Parsed Record Fields x-min-runtime-version: '1.2' x-speakeasy-param-computed: false EventGatewayParsedRecordDecryptFieldsPolicyCreate: description: |- Decrypts fields of parsed Kafka records using AES_256_GCM. Keys are therefore 256 bits long. Note this policy can only be used as a child of a `EventGatewayConsumeSchemaValidationPolicy` policy. **Requires a minimum runtime version of `1.2`**. type: object properties: type: description: The type name of the policy. type: string const: decrypt_fields maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object $ref: '#/components/schemas/EventGatewayParsedRecordDecryptFieldsConfig' condition: description: | A string containing the boolean expression that determines whether the policy is applied. When the policy is applied as a child policy of schema_validation, the expression can also reference `record.value` fields. type: string example: record.value.content.foo.bar == "a-value" default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. - name: record.value.validated type: boolean description: Indicates whether the record value was successfully validated. - name: record.value.content type: object description: The content of the record value. - name: record.value.schema type: object x-min-runtime-version: '1.2' description: |- Registry-supplied schema metadata for the record value. Populated when the value was validated by a Confluent schema registry. Fields: `id` (uint), `version` (uint, when returned by the registry), `format` ("avro"|"json"), and either `avro.{name, namespace}` or `json.{title, id}`. Sub-fields are absent when not applicable; use `has()` to test presence. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.key.schema type: object x-min-runtime-version: '1.2' description: |- Same shape as `record.value.schema`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false parent_policy_id: description: The unique identifier of the parent schema validation policy. type: string format: uuid required: - type - config - parent_policy_id title: Decrypt Parsed Record Fields x-min-runtime-version: '1.2' x-speakeasy-param-computed: false EventGatewayParsedRecordDecryptFieldsConfig: description: The configuration of the decrypt parsed record fields policy. type: object properties: failure_mode: $ref: '#/components/schemas/ConsumeFailureMode' key_sources: description: Describes how to find a symmetric key for decryption. type: array items: $ref: '#/components/schemas/EventGatewayKeySource' minItems: 1 decrypt_fields: $ref: '#/components/schemas/EventGatewayParsedRecordDecryptionSelector' required: - failure_mode - key_sources - decrypt_fields EventGatewayParsedRecordDecryptionSelector: description: Selects fields of a parsed record for decryption. type: object properties: paths: $ref: '#/components/schemas/EventGatewayParsedRecordFieldPathsArray' required: - paths EventGatewayModifyHeadersPolicy: description: A policy that modifies headers for requests. type: object properties: type: description: The type name of the policy. type: string const: modify_headers maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the modify headers policy. type: object properties: actions: description: Actions are run in sequential order and act on individual headers. type: array items: $ref: '#/components/schemas/EventGatewayModifyHeaderAction' default: null minItems: 1 nullable: true x-speakeasy-param-computed: false condition: description: | A string containing the boolean expression that determines whether the policy is applied. When the policy is applied as a child policy of schema_validation, the expression can also reference `record.value` fields. type: string example: record.value.content.foo.bar == "a-value" default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. - name: record.value.validated type: boolean description: Indicates whether the record value was successfully validated. - name: record.value.content type: object description: The content of the record value. - name: record.value.schema type: object x-min-runtime-version: '1.2' description: |- Registry-supplied schema metadata for the record value. Populated when the value was validated by a Confluent schema registry. Fields: `id` (uint), `version` (uint, when returned by the registry), `format` ("avro"|"json"), and either `avro.{name, namespace}` or `json.{title, id}`. Sub-fields are absent when not applicable; use `has()` to test presence. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.key.schema type: object x-min-runtime-version: '1.2' description: |- Same shape as `record.value.schema`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false required: - type - config title: Modify Headers EventGatewayModifyHeadersPolicyCreate: description: A policy that modifies headers for requests. type: object properties: type: description: The type name of the policy. type: string const: modify_headers maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the modify headers policy. type: object properties: actions: description: Actions are run in sequential order and act on individual headers. type: array items: $ref: '#/components/schemas/EventGatewayModifyHeaderAction' default: null minItems: 1 nullable: true x-speakeasy-param-computed: false condition: description: | A string containing the boolean expression that determines whether the policy is applied. When the policy is applied as a child policy of schema_validation, the expression can also reference `record.value` fields. type: string example: record.value.content.foo.bar == "a-value" default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. - name: record.value.validated type: boolean description: Indicates whether the record value was successfully validated. - name: record.value.content type: object description: The content of the record value. - name: record.value.schema type: object x-min-runtime-version: '1.2' description: |- Registry-supplied schema metadata for the record value. Populated when the value was validated by a Confluent schema registry. Fields: `id` (uint), `version` (uint, when returned by the registry), `format` ("avro"|"json"), and either `avro.{name, namespace}` or `json.{title, id}`. Sub-fields are absent when not applicable; use `has()` to test presence. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.key.schema type: object x-min-runtime-version: '1.2' description: |- Same shape as `record.value.schema`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false parent_policy_id: description: 'The unique identifier of the parent schema validation policy, if any.' type: string format: uuid nullable: false required: - type - config title: Modify headers EventGatewaySkipRecordPolicy: description: A policy that skips processing of a record. type: object properties: type: description: The type name of the policy. type: string const: skip_record maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' condition: description: | A string containing the boolean expression that determines whether the policy is applied. When the policy is applied as a child policy of schema_validation, the expression can also reference `record.value` fields. type: string example: record.value.content.foo.bar == "a-value" default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. - name: record.value.validated type: boolean description: Indicates whether the record value was successfully validated. - name: record.value.content type: object description: The content of the record value. - name: record.value.schema type: object x-min-runtime-version: '1.2' description: |- Registry-supplied schema metadata for the record value. Populated when the value was validated by a Confluent schema registry. Fields: `id` (uint), `version` (uint, when returned by the registry), `format` ("avro"|"json"), and either `avro.{name, namespace}` or `json.{title, id}`. Sub-fields are absent when not applicable; use `has()` to test presence. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.key.schema type: object x-min-runtime-version: '1.2' description: |- Same shape as `record.value.schema`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false required: - type EventGatewaySkipRecordPolicyCreate: description: A policy that skips processing of a record. type: object properties: type: description: The type name of the policy. type: string const: skip_record maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' condition: description: | A string containing the boolean expression that determines whether the policy is applied. When the policy is applied as a child policy of schema_validation, the expression can also reference `record.value` fields. type: string example: record.value.content.foo.bar == "a-value" default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. - name: record.value.validated type: boolean description: Indicates whether the record value was successfully validated. - name: record.value.content type: object description: The content of the record value. - name: record.value.schema type: object x-min-runtime-version: '1.2' description: |- Registry-supplied schema metadata for the record value. Populated when the value was validated by a Confluent schema registry. Fields: `id` (uint), `version` (uint, when returned by the registry), `format` ("avro"|"json"), and either `avro.{name, namespace}` or `json.{title, id}`. Sub-fields are absent when not applicable; use `has()` to test presence. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false - name: record.key.schema type: object x-min-runtime-version: '1.2' description: |- Same shape as `record.value.schema`, populated when the record key has schema_validation configured. **Requires a minimum runtime version of `1.2`**. x-speakeasy-param-computed: false parent_policy_id: description: 'The unique identifier of the parent schema validation policy, if any.' type: string format: uuid nullable: false required: - type title: Skip Record EventGatewayModifyHeaderAction: description: An action that modifies a header. discriminator: propertyName: op mapping: remove: '#/components/schemas/EventGatewayModifyHeaderRemoveAction' set: '#/components/schemas/EventGatewayModifyHeaderSetAction' oneOf: - $ref: '#/components/schemas/EventGatewayModifyHeaderRemoveAction' - $ref: '#/components/schemas/EventGatewayModifyHeaderSetAction' EventGatewayModifyHeaderRemoveAction: description: An action that removes a header by key. type: object properties: op: type: string const: remove key: description: The key of the header to remove. type: string required: - op - key EventGatewayModifyHeaderSetAction: description: An action that sets a header key and value. type: object properties: op: type: string const: set key: description: The key of the header to set. type: string value: description: The value of the header to set. type: string required: - op - key - value EventGatewayConsumeSchemaValidationPolicy: description: A policy that validates consume messages against a schema registry. type: object properties: type: description: The type name of the policy. type: string const: schema_validation maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object $ref: '#/components/schemas/EventGatewayConsumeSchemaValidationPolicyConfig' condition: description: A string containing the boolean expression that determines whether the policy is applied. type: string example: 'context.topic.name.endsWith("my_suffix") && record.headers["x-flag"] == "a-value"' default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. required: - type - config title: Schema Validation EventGatewayConsumeSchemaValidationPolicyConfig: description: The configuration of the consume schema validation policy. discriminator: propertyName: type mapping: confluent_schema_registry: '#/components/schemas/EventGatewayConsumeSchemaValidationPolicySchemaRegistryConfig' json: '#/components/schemas/EventGatewayConsumeSchemaValidationPolicyJsonConfig' oneOf: - $ref: '#/components/schemas/EventGatewayConsumeSchemaValidationPolicySchemaRegistryConfig' - $ref: '#/components/schemas/EventGatewayConsumeSchemaValidationPolicyJsonConfig' EventGatewayConsumeSchemaValidationPolicyJsonConfig: description: The configuration of the consume schema validation policy when using JSON parsing without schema. type: object properties: schema_registry: $ref: '#/components/schemas/SchemaRegistryReference' failure_mode: $ref: '#/components/schemas/ConsumeFailureMode' validate_key: description: |- If true, validate the record key. **Requires a minimum runtime version of `1.2`**. type: boolean x-min-runtime-version: '1.2' x-speakeasy-param-computed: false validate_value: description: |- If true, validate the record value. **Requires a minimum runtime version of `1.2`**. type: boolean x-min-runtime-version: '1.2' x-speakeasy-param-computed: false key_validation_action: $ref: '#/components/schemas/ConsumeKeyValidationAction' value_validation_action: $ref: '#/components/schemas/ConsumeValueValidationAction' type: type: string const: json required: - type EventGatewayConsumeSchemaValidationPolicySchemaRegistryConfig: description: The configuration of the consume schema validation policy when using a schema registry. type: object properties: schema_registry: $ref: '#/components/schemas/SchemaRegistryReference' failure_mode: $ref: '#/components/schemas/ConsumeFailureMode' validate_key: description: |- If true, validate the record key. **Requires a minimum runtime version of `1.2`**. type: boolean x-min-runtime-version: '1.2' x-speakeasy-param-computed: false validate_value: description: |- If true, validate the record value. **Requires a minimum runtime version of `1.2`**. type: boolean x-min-runtime-version: '1.2' x-speakeasy-param-computed: false key_validation_action: $ref: '#/components/schemas/ConsumeKeyValidationAction' value_validation_action: $ref: '#/components/schemas/ConsumeValueValidationAction' type: type: string const: confluent_schema_registry required: - type EventGatewayProduceSchemaValidationPolicy: description: A policy that validates produce messages against a schema registry. type: object properties: type: description: The type name of the policy. type: string const: schema_validation maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object $ref: '#/components/schemas/EventGatewayProduceSchemaValidationPolicyConfig' condition: description: A string containing the boolean expression that determines whether the policy is applied. type: string example: 'context.topic.name.endsWith("my_suffix") && record.headers["x-flag"] == "a-value"' default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.topic.name type: string description: The name of the topic. - name: record.headers type: object description: An associative array of header key value pairs. required: - type - config title: Schema Validation EventGatewayProduceSchemaValidationPolicyConfig: description: The configuration of the produce schema validation policy. discriminator: propertyName: type mapping: confluent_schema_registry: '#/components/schemas/EventGatewayProduceSchemaValidationPolicySchemaRegistryConfig' json: '#/components/schemas/EventGatewayProduceSchemaValidationPolicyJsonConfig' oneOf: - $ref: '#/components/schemas/EventGatewayProduceSchemaValidationPolicySchemaRegistryConfig' - $ref: '#/components/schemas/EventGatewayProduceSchemaValidationPolicyJsonConfig' EventGatewayProduceSchemaValidationPolicyJsonConfig: description: The configuration of the produce schema validation policy when using JSON parsing without schema. type: object properties: schema_registry: $ref: '#/components/schemas/SchemaRegistryReference' failure_mode: $ref: '#/components/schemas/ProduceFailureMode' validate_key: description: |- If true, validate the record key. **Requires a minimum runtime version of `1.2`**. type: boolean x-min-runtime-version: '1.2' x-speakeasy-param-computed: false validate_value: description: |- If true, validate the record value. **Requires a minimum runtime version of `1.2`**. type: boolean x-min-runtime-version: '1.2' x-speakeasy-param-computed: false key_validation_action: $ref: '#/components/schemas/ProduceKeyValidationAction' value_validation_action: $ref: '#/components/schemas/ProduceValueValidationAction' type: type: string const: json required: - type EventGatewayProduceSchemaValidationPolicySchemaRegistryConfig: description: The configuration of the produce schema validation policy when using a schema registry. type: object properties: schema_registry: $ref: '#/components/schemas/SchemaRegistryReference' failure_mode: $ref: '#/components/schemas/ProduceFailureMode' validate_key: description: |- If true, validate the record key. **Requires a minimum runtime version of `1.2`**. type: boolean x-min-runtime-version: '1.2' x-speakeasy-param-computed: false validate_value: description: |- If true, validate the record value. **Requires a minimum runtime version of `1.2`**. type: boolean x-min-runtime-version: '1.2' x-speakeasy-param-computed: false key_validation_action: $ref: '#/components/schemas/ProduceKeyValidationAction' value_validation_action: $ref: '#/components/schemas/ProduceValueValidationAction' type: type: string const: confluent_schema_registry required: - type EventGatewayACLsPolicy: description: Apply Kafka ACLs to virtual cluster traffic. type: object properties: type: description: The type name of the policy. type: string const: acls maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' config: description: The configuration of the policy. type: object $ref: '#/components/schemas/EventGatewayACLPolicyConfig' condition: description: A string containing the boolean expression that determines whether the policy is applied. type: string example: context.auth.principal.name == "this-user" default: '' maxLength: 1000 x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. required: - type - config title: ACL EventGatewayACLPolicyConfig: description: Apply ACLs to virtual cluster traffic. type: object properties: rules: description: Every ACL rule in this list applies independently. type: array items: $ref: '#/components/schemas/EventGatewayACLRule' minItems: 1 required: - rules EventGatewayACLRule: description: A Kafka ACL rule to apply to virtual cluster traffic type: object properties: resource_type: description: This rule applies to access only for type of resource type: string enum: - topic - group - transactional_id - cluster x-speakeasy-unknown-values: allow action: description: How to handle the request if the rule matches type: string enum: - allow - deny x-speakeasy-unknown-values: allow operations: description: Types of Kafka operations to match against. Note that not every operation can apply to every resource type. type: array items: $ref: '#/components/schemas/EventGatewayACLOperation' resource_names: description: 'If any of these entries match, the resource name matches for this rule. A maximum of 50 entries are allowed.' type: array items: $ref: '#/components/schemas/EventGatewayACLResourceName' required: - resource_type - action - operations - resource_names EventGatewayACLOperation: description: An Event Gateway operation to match against in an ACL rule. type: object properties: name: type: string enum: - all - alter - alter_configs - create - delete - describe - describe_configs - idempotent_write - read - write x-speakeasy-unknown-values: allow required: - name EventGatewayACLResourceName: description: An Event Gateway resource name to match against in an ACL rule. type: object properties: match: description: | Currently supported are exact matches and globs. All `*` characters are interpreted as globs, i.e. they match zero or more of any character. type: string format: glob required: - match EventGatewayKeySource: description: | A key source that describes how to find a symmetric key for encryption or decryption. It can be an AWS KMS key source that uses a KMS to find a symmetric key, or a static key source that uses a static symmetric key provided as secrets. discriminator: propertyName: type mapping: aws: '#/components/schemas/EventGatewayAWSKeySource' static: '#/components/schemas/EventGatewayStaticKeySource' oneOf: - $ref: '#/components/schemas/EventGatewayAWSKeySource' - $ref: '#/components/schemas/EventGatewayStaticKeySource' EventGatewayAWSKeySource: description: | A key source that uses an AWS KMS to find a symmetric key. Load KMS credentials from the environment. See [aws docs](https://docs.aws.amazon.com/sdk-for-rust/latest/dg/credproviders.html#credproviders-default-credentials-provider-chain) for more information about how credential retrieval. type: object properties: type: type: string const: aws additionalProperties: false required: - type EventGatewayStaticKeySource: description: | A key source that uses static symmetric keys. type: object properties: type: type: string const: static additionalProperties: false required: - type EncryptionFailureMode: description: | Describes how to handle failing encryption or decryption. Use `error` if the record should be rejected if encryption or decryption fails. Use `passthrough` to ignore encryption or decryption failure and continue proxying the record. type: string enum: - error - passthrough x-speakeasy-unknown-values: allow ProduceFailureMode: description: |- Describes how to handle a failure in a policy applied to produced records. * `reject` - rejects the record batch. * `passthrough` - passes the record silently to the backend cluster even though policy execution failed. * `mark` - passes the record to the backend cluster but marks it with a `kong/policy-failure-<id>` header whose value is the reason for the policy failure (truncated to 512 characters). **Requires a minimum runtime version of `1.2`**. type: string enum: - reject - passthrough - mark x-min-runtime-version: '1.2' x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow ConsumeFailureMode: description: |- Describes how to handle a failure in a policy applied to consumed records. * `error` - the batch is not delivered to the client. Use sparingly: erroring on a batch causes clients to get stuck on the problematic offset and requires manual intervention to skip it. * `skip` - the record is not delivered to the client. * `passthrough` - passes the record to the client even though policy execution failed. * `mark` - passes the record to the client but marks it with a `kong/policy-failure-<id>` header whose value is the reason for the policy failure (truncated to 512 characters). **Requires a minimum runtime version of `1.2`**. type: string enum: - error - skip - passthrough - mark x-min-runtime-version: '1.2' x-speakeasy-param-computed: false x-speakeasy-unknown-values: allow EncryptionRecordPart: description: | * key - encrypt the record key * value - encrypt the record value type: string enum: - key - value x-speakeasy-unknown-values: allow DecryptionRecordPart: description: | * key - decrypt the record key * value - decrypt the record value type: string enum: - key - value x-speakeasy-unknown-values: allow EncryptionKey: description: | The key to use for encryption. discriminator: propertyName: type mapping: aws: '#/components/schemas/EncryptionKeyAWS' static: '#/components/schemas/EncryptionKeyStatic' oneOf: - $ref: '#/components/schemas/EncryptionKeyAWS' - $ref: '#/components/schemas/EncryptionKeyStatic' EncryptionKeyAWS: description: | The AWS KMS key to use for encryption. type: object properties: type: type: string const: aws arn: description: The AWS KMS key ARN. type: string maxLength: 2048 minLength: 10 pattern: '^arn:aws:kms:.+' example: type: aws arn: 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' required: - type - arn EncryptionKeyStatic: description: | A static encryption key. type: object properties: type: type: string const: static key: $ref: '#/components/schemas/EncryptionKeyStaticReference' required: - type - key EncryptionKeyStaticReference: description: | A static encryption key reference, either by ID or by value. $ref: '#/components/schemas/EncryptionKeyStaticReferenceById' EncryptionKeyStaticReferenceById: description: A static encryption key reference by ID. type: object properties: id: description: The ID of the static key defined in the key source. type: string format: uuid minLength: 1 required: - id ConsumeKeyValidationAction: description: | Deprecated. Use `failure_mode`. Defines a behavior when record key is not valid. * mark - marks a record with kong/server header and client ID value to help to identify the clients violating schema. * skip - skips delivering a record. type: string deprecated: true enum: - mark - skip x-speakeasy-unknown-values: allow ConsumeValueValidationAction: description: | Deprecated. Use `failure_mode`. Defines a behavior when record value is not valid. * mark - marks a record with kong/server header and client ID value to help to identify the clients violating schema. * skip - skips delivering a record. type: string deprecated: true enum: - mark - skip x-speakeasy-unknown-values: allow ProduceKeyValidationAction: description: | Defines a behavior when record key is not valid. * reject - rejects a batch for topic partition. Only available for produce. * mark - marks a record with kong/server header and client ID value to help to identify the clients violating schema. type: string enum: - reject - mark x-speakeasy-unknown-values: allow ProduceValueValidationAction: description: | Defines a behavior when record value is not valid. * reject - rejects a batch for topic partition. Only available for produce. * mark - marks a record with kong/server header and client ID value to help to identify the clients violating schema. type: string enum: - reject - mark x-speakeasy-unknown-values: allow EventGatewayDataPlaneCertificate: description: A dataplane certificate. type: object properties: id: description: The unique identifier of the certificate. type: string format: uuid certificate: description: JSON escaped string of the certificate. type: string name: description: The name to identify of the certificate. type: string default: null maxLength: 255 minLength: 1 nullable: true x-speakeasy-param-computed: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A description of the certificate. type: string default: null nullable: true x-speakeasy-param-computed: false created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' metadata: $ref: '#/components/schemas/CertificateMetadata' required: - id - certificate - created_at - updated_at CertificateMetadata: description: Metadata extracted from a certificate. type: object properties: issuer: description: The issuer of the certificate. type: string default: null nullable: true x-speakeasy-param-computed: false subject: description: The subject of the certificate. type: string default: null nullable: true x-speakeasy-param-computed: false key_usages: description: The key usages of the certificate. type: array items: type: string default: null nullable: true x-speakeasy-param-computed: false expiry: description: The expiry date of the certificate as a unix timestamp. type: integer format: int64 default: null nullable: true x-speakeasy-param-computed: false san_names: description: The Subject Alternative Names (SAN) of the certificate. type: array items: type: string default: null nullable: true x-speakeasy-param-computed: false dns_names: description: The DNS names in the certificate SAN. type: array items: type: string default: null nullable: true x-speakeasy-param-computed: false email_addresses: description: The email addresses in the certificate SAN. type: array items: type: string default: null nullable: true x-speakeasy-param-computed: false ip_addresses: description: The IP addresses in the certificate SAN. type: array items: type: string default: null nullable: true x-speakeasy-param-computed: false uris: description: The URIs in the certificate SAN. type: array items: type: string format: uri default: null nullable: true x-speakeasy-param-computed: false sha256_fingerprint: description: The SHA-256 fingerprint of the certificate. type: string default: null nullable: true x-speakeasy-param-computed: false VirtualClusterNamespace: description: | Namespace allows to implement multitenancy using a single backend cluster. It allows to either hide or enforce a static prefix on resources (topics, consumer group IDs, transaction IDs). type: object properties: mode: description: | * hide_prefix - the configured prefix is hidden from clients for topics and IDs when reading. Created resources are written with the prefix on the backend cluster. * enforce_prefix - the configured prefix remains visible to clients. Created resources must include the prefix or the request will fail. type: string enum: - hide_prefix - enforce_prefix x-speakeasy-unknown-values: allow prefix: description: | The namespace is differentiated by this chosen prefix. For example, if the prefix is set to "analytics_" the topic named "analytics_user_clicks" is available to the clients of the virtual cluster. Topics without the prefix will be ignored unless added via `additional.topics`. type: string minLength: 1 additional: $ref: '#/components/schemas/VirtualClusterNamespaceAdditionalProperties' required: - mode - prefix x-speakeasy-param-computed: false VirtualClusterNamespaceAdditionalProperties: type: object properties: topics: description: | Additional backend topics to expose even if they don't match the namespace prefix. The topics are not affected by the hide/enforce prefix mode. If the client tries to create a topic that matches this list, the request is rejected. type: array items: $ref: '#/components/schemas/VirtualClusterNamespaceTopicSelector' nullable: false consumer_groups: description: | Consumer group IDs to expose even if they don't start with the namespace prefix. type: array items: $ref: '#/components/schemas/VirtualClusterNamespaceIdSelector' nullable: false x-speakeasy-param-computed: false VirtualClusterTopicAlias: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. A topic alias maps an alias name to a namespace-visible topic name. Clients can produce to, consume from, and discover the topic under the alias name. The original topic name remains accessible. **Requires a minimum runtime version of `1.2`**. type: object properties: alias: description: The client-visible topic name. type: string minLength: 1 topic: description: The namespace-visible topic name this alias resolves to. type: string minLength: 1 condition: description: | CEL expression evaluated against the connection's auth context. If omitted or empty, the alias is active for all connections. type: string default: '' x-expression: type: boolean fields: - name: context.auth.principal.name type: string description: 'Name of authenticated principal. Username in case of PLAIN/SCRAM, `sub` claim in case of OAUTHBEARER.' - name: context.auth.principal.id type: string description: |- Kong Identity principal ID. Only populated when Kong Identity principal fetching is configured and succeeds. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.principal.metadata type: object description: |- Kong Identity principal metadata. Only populated when Kong Identity principal fetching is configured and succeeds. Values can be strings, numbers, booleans, arrays or nested JSON objects. **Requires a minimum runtime version of `1.2`**. x-min-runtime-version: '1.2' x-speakeasy-param-computed: false - name: context.auth.type type: string description: | The matched authentication type from a virtual cluster: anonymous, sasl_plain, sasl_scram_sha256, sasl_scram_sha512, sasl_oauth_bearer. - name: context.auth.token.claims type: object description: 'All claims from the JWT token. Only populated for sasl_oauth_bearer authentication. Claims can be strings, numbers, booleans, arrays or nested JSON objects.' conflict: $ref: '#/components/schemas/VirtualClusterTopicAliasConflict' required: - alias - topic x-min-runtime-version: '1.2' x-speakeasy-param-computed: false x-unstable: true VirtualClusterTopicAliasConflict: description: | How to handle conflicts where an alias shadows a physical topic. * warn - activate the alias but log a warning and set the conflict metric to 1. * ignore - activate the alias silently. type: string default: warn enum: - warn - ignore x-enum-varnames: - VirtualClusterTopicAliasConflictWarn - VirtualClusterTopicAliasConflictIgnore x-speakeasy-unknown-values: allow VirtualClusterNamespaceTopicSelector: type: object discriminator: propertyName: type mapping: glob: '#/components/schemas/VirtualClusterNamespaceTopicSelectorGlob' exact_list: '#/components/schemas/VirtualClusterNamespaceTopicSelectorExactList' oneOf: - $ref: '#/components/schemas/VirtualClusterNamespaceTopicSelectorGlob' - $ref: '#/components/schemas/VirtualClusterNamespaceTopicSelectorExactList' required: - type VirtualClusterNamespaceTopicSelectorGlob: type: object properties: type: type: string const: glob glob: description: 'Expose any backend topic that matches this glob pattern (e.g., `operations_data_*`).' type: string format: glob minLength: 1 pattern: '^[A-Za-z0-9._?*-]+$' conflict: description: | How to inform the user about conflicts where multiple backend topics would map to the same virtual topic name. * warn - log in the Event Gateway logs. Additionally, it sets knep_namespace_topic_conflict to 1. * ignore - do not do anything. It does not cause knep_namespace_topic_conflict metric to be set to 1. type: string default: warn enum: - warn - ignore x-speakeasy-unknown-values: allow required: - type - glob VirtualClusterNamespaceTopicSelectorExactList: type: object properties: type: type: string const: exact_list exact_list: description: Explicit allow-list of backend topic names. type: array items: $ref: '#/components/schemas/NamespaceExactAllowListItem' default: null minItems: 1 nullable: true x-speakeasy-param-computed: false conflict: description: | How to inform the user about conflicts where multiple backend topics would map to the same virtual topic name. * warn - log in the Event Gateway logs. Additionally, it sets knep_namespace_topic_conflict to 1. * ignore - do not do anything. It does not cause knep_namespace_topic_conflict metric to be set to 1. type: string default: warn enum: - warn - ignore x-speakeasy-unknown-values: allow required: - type NamespaceExactAllowListItem: type: object properties: backend: type: string minLength: 1 required: - backend VirtualClusterNamespaceIdSelector: type: object discriminator: propertyName: type mapping: glob: '#/components/schemas/VirtualClusterNamespaceIdSelectorGlob' exact_list: '#/components/schemas/VirtualClusterNamespaceIdSelectorExactList' oneOf: - $ref: '#/components/schemas/VirtualClusterNamespaceIdSelectorGlob' - $ref: '#/components/schemas/VirtualClusterNamespaceIdSelectorExactList' required: - type VirtualClusterNamespaceIdSelectorGlob: type: object properties: type: type: string const: glob glob: description: 'Expose any id that matches this glob pattern (e.g., `my_id_*`).' type: string format: glob minLength: 1 pattern: '^[A-Za-z0-9._?*-]+$' required: - type - glob VirtualClusterNamespaceIdSelectorExactList: type: object properties: type: type: string const: exact_list exact_list: type: array items: type: object required: - value properties: value: type: string minLength: 1 default: null minItems: 1 nullable: true x-speakeasy-param-computed: false required: - type EventGatewayStaticKey: description: | A symmetric key with its secret value. type: object properties: name: description: The unique name of the static key. type: string maxLength: 255 minLength: 1 x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the static key. type: string default: '' maxLength: 512 labels: $ref: '#/components/schemas/Labels' id: description: The unique identifier of the static key. type: string format: uuid value: $ref: '#/components/schemas/GatewaySecret' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - name - id - created_at - updated_at EventGatewayStaticKeyCreate: description: | A symmetric key with its secret value for creation. type: object properties: name: description: The unique name of the static key. type: string maxLength: 255 minLength: 1 x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the static key. type: string default: '' maxLength: 512 labels: $ref: '#/components/schemas/Labels' value: $ref: '#/components/schemas/GatewaySecret' required: - name - value GatewayName: description: The name of the Gateway. type: string maxLength: 255 minLength: 1 x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' GatewayDescription: description: A human-readable description of the Gateway. type: string maxLength: 512 MinRuntimeVersion: description: | The minimum runtime version supported by the API. This is the lowest version of the data plane release that can be used with the entity model. When not specified, the minimum runtime version will be pinned to the latest available release. type: string example: '1.1' pattern: ^\d+\.\d+$ CreateGatewayRequest: description: The request schema for the create gateway request. type: object properties: name: $ref: '#/components/schemas/GatewayName' description: $ref: '#/components/schemas/GatewayDescription' min_runtime_version: $ref: '#/components/schemas/MinRuntimeVersion' labels: $ref: '#/components/schemas/Labels' additionalProperties: false required: - name title: CreateGatewayRequest MinRuntimeVersionUpdate: description: | The minimum runtime version supported by the API. This is the lowest version of the data plane release that can be used with the entity model. When not specified, the minimum runtime version will not be updated. type: string example: '1.1' pattern: ^\d+\.\d+$ UpdateGatewayRequest: description: The request schema for the update gateway request. type: object properties: name: $ref: '#/components/schemas/GatewayName' description: $ref: '#/components/schemas/GatewayDescription' min_runtime_version: $ref: '#/components/schemas/MinRuntimeVersionUpdate' labels: $ref: '#/components/schemas/Labels' additionalProperties: false title: UpdateGatewayRequest GatewaySecretReferenceOrLiteral: description: | A literal value or a reference to an existing secret as a template string expression. The value is stored and returned by the API as-is, not treated as sensitive information. type: string minLength: 1 x-expression: type: string fields: - vault GatewaySecret: description: | A sensitive value containing the secret or a reference to a secret as a template string expression. If the value is provided as plain text, it is encrypted at rest and omitted from API responses. If provided as an expression, the expression itself is stored and returned by the API. type: string example: '${vault.env[''MY_ENV_VAR'']}' minLength: 1 x-expression: type: string fields: - vault x-sensitive: true ControlPlaneGeo: description: Set of control-plane geos supported for deploying cloud-gateways configurations. type: string enum: - us - eu - au - me - in - sg title: Control-Plane Geo x-speakeasy-unknown-values: allow ProviderName: description: Name of cloud provider. type: string example: aws enum: - aws - azure - gcp title: Provider Name x-enum-internal: [] x-speakeasy-unknown-values: allow AddOnId: type: string format: uuid example: 550e8400-e29b-41d4-a716-446655440000 readOnly: true x-speakeasy-param-suppress-computed-diff: true AddOnConfigResponse: description: Configuration object for different types of add-ons. type: object oneOf: - $ref: '#/components/schemas/ManagedCacheAddOnConfigResponse' title: AddOnConfigResponse ManagedCacheAddOnConfigResponse: description: Configuration for managed cache add-on. type: object properties: kind: description: Type of add-on configuration. type: string const: managed-cache.v0 capacity_config: $ref: '#/components/schemas/ManagedCacheCapacityConfig' data_plane_groups: description: List of data-plane groups where the managed cache is deployed. type: array items: $ref: '#/components/schemas/ManagedCacheAddOnDataPlaneGroup' readOnly: true x-speakeasy-param-suppress-computed-diff: true state_metadata: description: | Metadata describing the state of the managed cache add-on. type: object additionalProperties: false properties: cache_config_id: description: Reference to cache configuration for this add-on. type: string format: uuid example: edaf40f9-9fb0-4ffe-bb74-4e763a6bd471 cache_server_name: description: Env vault path to cache server name. type: string example: '{vault://env/ADDON_MANAGED_CACHE_SERVER_NAME}' cache_host: description: Env vault path to cache hostname. type: string example: '{vault://env/ADDON_MANAGED_CACHE_HOST}' cache_port: description: Env vault path to cache port. type: string example: '{vault://env/ADDON_MANAGED_CACHE_PORT}' cache_username: description: Env vault path to cache username. type: string example: '{vault://env/ADDON_MANAGED_CACHE_USERNAME}' cloud_authentication: description: | Metadata describing the cloud authentication details for managed cache add-on. type: object additionalProperties: false properties: auth_provider: description: Env vault path to cache auth provider. type: string example: '{vault://env/ADDON_MANAGED_CACHE_AUTH_PROVIDER}' aws_cache_name: description: Env vault path to aws cache name. type: string example: '{vault://env/ADDON_MANAGED_CACHE_AWS_CACHE_NAME}' aws_region: description: Env vault path to aws region. type: string example: '{vault://env/ADDON_MANAGED_CACHE_AWS_REGION}' aws_assume_role_arn: description: Env vault path to aws assume role arn. type: string example: '{vault://env/ADDON_MANAGED_CACHE_AWS_ASSUME_ROLE_ARN}' azure_tenant_id: description: Env vault path to azure tenant id. type: string example: '{vault://env/ADDON_MANAGED_CACHE_AZURE_TENANT_ID}' readOnly: true x-speakeasy-param-suppress-computed-diff: true additionalProperties: false required: - kind - capacity_config - data_plane_groups - state_metadata title: ManagedCacheAddOnConfigResponse ManagedCacheAddOnDataPlaneGroup: description: Object that describes a data-plane group where managed cache add-on is deployed. type: object properties: id: description: ID of the data-plane group. type: string format: uuid example: 1150820b-c69f-4a2a-b9be-bbcdbc5cd618 cloud_gateway_network_id: description: Network ID this data-plane group is attached to. type: string format: uuid example: 36ae63d3-efd1-4bec-b246-62aa5d3f5695 provider: $ref: '#/components/schemas/ProviderName' region: description: Region of cloud provider the data-plane group is deployed to. type: string example: us-east-1 state: description: | The current state of the managed cache add-on in the data-plane group. Possible values: - `initializing` - The add-on is in the process of being initialized/updated and is setting up necessary resources for this data-plane group. - `ready` - The add-on is fully operational for this data-plane group. - `error` - The add-on is in an error state, and is not operational for this data-plane group. - `terminating` - The add-on is in the process of being deleted for this data-plane group. type: string enum: - initializing - ready - error - terminating x-speakeasy-unknown-values: allow state_metadata: description: | Metadata describing the state of the managed cache add-on in the data-plane group. type: object additionalProperties: false properties: error_reason: description: | Reason why the managed cache add-on may be in an error state, reported from backing infrastructure. type: string example: | Failed to create managed cache add-on due to invalid configuration. additionalProperties: false readOnly: true required: - id - cloud_gateway_network_id - provider - region - state - state_metadata title: ManagedCacheAddOnDataPlaneGroup x-speakeasy-param-suppress-computed-diff: true AddOnState: description: | The current state of the add-on. Possible values: - `initializing` - The add-on is in the process of being initialized/updated. - `ready` - The add-on is fully operational. - `terminating` - The add-on is in the process of being deleted. type: string enum: - initializing - ready - terminating readOnly: true title: Add-On State x-speakeasy-param-suppress-computed-diff: true x-speakeasy-unknown-values: allow AddOnResponse: description: Object containing information about an add-on. type: object properties: id: $ref: '#/components/schemas/AddOnId' name: $ref: '#/components/schemas/AddOnName' owner: $ref: '#/components/schemas/AddOnOwner' config: $ref: '#/components/schemas/AddOnConfigResponse' entity_version: description: 'Monotonically-increasing version count of the add-on, to indicate the order of updates to the add-on.' type: integer example: 1 readOnly: true x-speakeasy-param-suppress-computed-diff: true state: $ref: '#/components/schemas/AddOnState' created_at: description: RFC-3339 timestamp representation of add-on creation date. type: string format: date-time example: '2025-08-26T06:56:41Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true updated_at: description: RFC-3339 timestamp representation of add-on update date. type: string format: date-time example: '2025-08-26T06:56:41Z' readOnly: true x-speakeasy-param-suppress-computed-diff: true additionalProperties: false required: - id - name - owner - config - entity_version - state - created_at - updated_at title: AddOnResponse CreateAddOnRequest: description: Request schema for creating an add-on. type: object properties: name: $ref: '#/components/schemas/AddOnName' owner: $ref: '#/components/schemas/AddOnOwner' config: $ref: '#/components/schemas/CreateAddOnConfig' additionalProperties: false required: - name - owner - config title: CreateAddOnRequest AddOnName: description: Unique human-readable name of the add-on. type: string example: my-add-on maxLength: 70 minLength: 1 title: AddOnName AddOnOwner: description: Owner for the add-on. type: object oneOf: - $ref: '#/components/schemas/ControlPlaneAddOnOwner' - $ref: '#/components/schemas/ControlPlaneGroupAddOnOwner' title: AddOnOwner ControlPlaneAddOnOwner: description: Control Plane is the owner for the add-on. type: object properties: kind: description: Type of owner for the add-on. type: string const: control-plane control_plane_id: description: ID of the control-plane that owns this add-on. type: string format: uuid example: 123e4567-e89b-12d3-a456-426614174000 control_plane_geo: $ref: '#/components/schemas/ControlPlaneGeo' additionalProperties: false required: - kind - control_plane_id - control_plane_geo title: ControlPlaneAddOnOwner x-speakeasy-name-override: control_plane ControlPlaneGroupAddOnOwner: description: Control Plane Group is the owner for the add-on. type: object properties: kind: description: Type of owner for the add-on. type: string const: control-plane-group control_plane_group_id: description: ID of the control-plane group that owns this add-on. type: string format: uuid example: 123e4567-e89b-12d3-a456-426614174000 control_plane_group_geo: $ref: '#/components/schemas/ControlPlaneGeo' additionalProperties: false required: - kind - control_plane_group_id - control_plane_group_geo title: ControlPlaneGroupAddOnOwner x-speakeasy-name-override: control_plane_group CreateAddOnConfig: description: Configuration for creating different types of add-ons. type: object oneOf: - $ref: '#/components/schemas/CreateManagedCacheAddOnConfig' title: CreateAddOnConfig CreateManagedCacheAddOnConfig: description: Configuration for creating a managed cache add-on. type: object properties: kind: description: Type of add-on configuration. type: string const: managed-cache.v0 capacity_config: $ref: '#/components/schemas/ManagedCacheCapacityConfig' additionalProperties: false required: - kind - capacity_config title: CreateManagedCacheAddOnConfig x-speakeasy-name-override: managed_cache UpdateAddOnRequest: description: Request body for updating an add-on. type: object properties: config: $ref: '#/components/schemas/UpdateAddOnConfig' additionalProperties: false required: - config title: UpdateAddOnRequest UpdateAddOnConfig: description: Configuration for updating different types of add-ons. type: object oneOf: - $ref: '#/components/schemas/UpdateManagedCacheAddOnConfig' title: UpdateAddOnConfig UpdateManagedCacheAddOnConfig: description: Configuration for updating a managed cache add-on. type: object properties: kind: description: Type of add-on configuration. type: string const: managed-cache.v0 capacity_config: $ref: '#/components/schemas/ManagedCacheCapacityConfig' additionalProperties: false required: - kind - capacity_config title: UpdateManagedCacheAddOnConfig x-speakeasy-name-override: managed_cache ManagedCacheCapacityConfig: description: Configuration for managed cache capacity and performance characteristics. type: object oneOf: - $ref: '#/components/schemas/TieredCapacityConfig' title: ManagedCacheCapacityConfig TieredCapacityConfig: description: Capacity tiers with pre-configured size and performance characteristics. type: object properties: kind: description: Type of capacity configuration. type: string const: tiered tier: description: | Capacity tier that determines both cache size and performance characteristics: - micro: ~0.5 GiB capacity - small: ~1 GiB capacity - medium: ~3 GiB capacity - large: ~6 GiB capacity - xlarge: ~12 GiB capacity - 2xlarge: ~25 GiB capacity - 4xlarge: ~52 GiB capacity - 8xlarge: ~100 GiB capacity - 12xlarge: ~150 GiB capacity - 16xlarge: ~200 GiB capacity - 24xlarge: ~300 GiB capacity type: string enum: - micro - small - medium - large - xlarge - 2xlarge - 4xlarge - 8xlarge - 12xlarge - 16xlarge - 24xlarge x-speakeasy-unknown-values: allow example: kind: tiered tier: small additionalProperties: false required: - kind - tier title: TieredCapacityConfig x-speakeasy-name-override: Tiered KongIdentityAllowedControlPlanes: description: | List of control plane IDs authorized to make authentication requests to this directory. Maximum of 32 control planes can be specified. Use allow_all_control_planes for unrestricted access. type: array items: type: string format: uuid uniqueItems: true minItems: 0 maxItems: 32 default: [] nullable: false KongIdentityAllowAllControlPlanes: description: | When set to true, all control planes within the organization can make authentication requests to this directory. This overrides the allowed_control_planes list. Defaults to false for security. type: boolean default: false nullable: false DirectoryName: description: | Human-readable name of the directory, used to identify the organizational boundary. A directory name is unique within the organization. type: string maxLength: 255 minLength: 1 pattern: '^[a-z0-9-_]+$' DirectoryDescription: description: | Optional description providing additional context about the directory's purpose or usage. type: string maxLength: 255 CreateDirectoryBody: type: object properties: name: $ref: '#/components/schemas/DirectoryName' description: $ref: '#/components/schemas/DirectoryDescription' allowed_control_planes: $ref: '#/components/schemas/KongIdentityAllowedControlPlanes' allow_all_control_planes: $ref: '#/components/schemas/KongIdentityAllowAllControlPlanes' ttl_secs: $ref: '#/components/schemas/DirectoryTTLSecs' negative_ttl_secs: $ref: '#/components/schemas/DirectoryNegativeTTLSecs' labels: $ref: '#/components/schemas/Labels' managed_by: $ref: '#/components/schemas/ManagedBy' additionalProperties: false required: - name x-property-annotations: ttl_secs: - x-internal - x-unstable negative_ttl_secs: - x-internal - x-unstable ReplaceDirectoryBody: type: object properties: name: $ref: '#/components/schemas/DirectoryName' description: $ref: '#/components/schemas/DirectoryDescription' allowed_control_planes: $ref: '#/components/schemas/KongIdentityAllowedControlPlanes' allow_all_control_planes: $ref: '#/components/schemas/KongIdentityAllowAllControlPlanes' ttl_secs: $ref: '#/components/schemas/DirectoryTTLSecs' negative_ttl_secs: $ref: '#/components/schemas/DirectoryNegativeTTLSecs' labels: $ref: '#/components/schemas/Labels' managed_by: $ref: '#/components/schemas/ManagedBy' additionalProperties: false required: - name x-property-annotations: ttl_secs: - x-internal - x-unstable negative_ttl_secs: - x-internal - x-unstable DirectoryTTLSecs: description: | The time in seconds that a principal will be cached in memory on a running Gateway if it is successfully authenticated from this directory. Maximum is 86400 seconds (24 hours). type: integer default: 600 maximum: 86400 minimum: 300 DirectoryNegativeTTLSecs: description: | If a running Gateway triggers a lookup for a principal that cannot be authenticated in this directory, a `negative_ttl_secs` is set. The Gateway will not try to look up the principal in Konnect for `negative_ttl_secs` seconds. A principal will be cached for `negative_ttl_secs` if it does not exist in the directory, or if the provided credentials are invalid. Maximum is 86400 seconds (24 hours). type: integer default: 600 maximum: 86400 minimum: 300 KongDirectory: description: | A directory represents an organizational boundary for grouping principals and managing their identities. Directories are region-specific and can control which control planes have authentication access. type: object properties: id: $ref: '#/components/schemas/UUID' name: $ref: '#/components/schemas/DirectoryName' description: $ref: '#/components/schemas/DirectoryDescription' allowed_control_planes: $ref: '#/components/schemas/KongIdentityAllowedControlPlanes' allow_all_control_planes: $ref: '#/components/schemas/KongIdentityAllowAllControlPlanes' ttl_secs: $ref: '#/components/schemas/DirectoryTTLSecs' negative_ttl_secs: $ref: '#/components/schemas/DirectoryNegativeTTLSecs' labels: $ref: '#/components/schemas/Labels' managed_by: $ref: '#/components/schemas/ManagedBy' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' required: - id - name - description - labels - allowed_control_planes - allow_all_control_planes - ttl_secs - negative_ttl_secs - managed_by - created_at - updated_at x-property-annotations: ttl_secs: - x-internal - x-unstable negative_ttl_secs: - x-internal - x-unstable ManagedBy: description: | Stores information about what manages this entity, such as the tool or system responsible for its lifecycle (for example, `terraform`). Keys must be 1–63 characters long and start with an alphanumeric character. type: object example: owner: terraform additionalProperties: type: string pattern: '^[a-z0-9A-Z]{1}([a-z0-9A-Z-._]*[a-z0-9A-Z]+)?$' minLength: 1 maxLength: 63 maxProperties: 5 title: ManagedBy CreatePortalCustomDomainSSL: type: object properties: domain_verification_method: type: string enum: - custom_certificate - http x-speakeasy-unknown-values: allow custom_certificate: description: Custom certificate to be used for the SSL termination. Only used when domain_verification_method == "custom_certificate" type: string nullable: false custom_private_key: description: Custom certificate private key to be used for the SSL termination. Only used when domain_verification_method == "custom_certificate" type: string nullable: false skip_ca_check: description: | Advanced option. If true, the custom certificate is served exactly as provided, without attempting to bundle against a public trust store. Required for certificates issued by an internal/private CA. type: boolean nullable: false additionalProperties: false EventGatewayConsumePolicySchemaValidationTFOnly: description: A policy associated with an Event Gateway. type: object properties: type: description: The type name of the policy. type: string maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' id: description: The unique identifier of the policy. type: string format: uuid config: description: The configuration of the policy. type: object created_at: $ref: '#/components/schemas/CreatedAt' parent_policy_id: description: 'The unique identifier of the parent policy, if any.' type: string format: uuid default: null nullable: true x-speakeasy-param-computed: false updated_at: $ref: '#/components/schemas/UpdatedAt' condition: description: A string containing the boolean expression that determines whether the policy is applied. type: string default: '' maxLength: 1000 x-expression: type: boolean fields: [] required: - type - id - created_at - updated_at - config EventGatewayProducePolicySchemaValidationTFOnly: description: A policy associated with an Event Gateway. type: object properties: type: description: The type name of the policy. type: string maxLength: 255 minLength: 1 name: description: A unique user-defined name of the policy. type: string maxLength: 255 nullable: false x-unicode-pattern: '^[\p{L}\p{N}][\p{L}\p{N} _\-\.:/+'']*[\p{L}\p{N}]$' description: description: A human-readable description of the policy. type: string default: '' maxLength: 512 enabled: description: Whether the policy is enabled. type: boolean default: true labels: $ref: '#/components/schemas/Labels' id: description: The unique identifier of the policy. type: string format: uuid config: description: The configuration of the policy. type: object created_at: $ref: '#/components/schemas/CreatedAt' parent_policy_id: description: 'The unique identifier of the parent policy, if any.' type: string format: uuid default: null nullable: true x-speakeasy-param-computed: false updated_at: $ref: '#/components/schemas/UpdatedAt' condition: description: A string containing the boolean expression that determines whether the policy is applied. type: string default: '' maxLength: 1000 x-expression: type: boolean fields: [] required: - type - id - created_at - updated_at - config requestBodies: CreatePortalCustomDomain: description: Create a portal custom domain. required: true content: application/json: schema: $ref: '#/components/schemas/CreatePortalCustomDomainRequest' UpdatePortalCustomDomain: description: Create a portal custom domain. required: true content: application/json: schema: $ref: '#/components/schemas/UpdatePortalCustomDomainRequest' CreatePortal: description: Create a portal. required: true content: application/json: schema: x-speakeasy-entity: Portal type: object properties: id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' name: description: 'The name of the portal, used to distinguish it from other portals. Name must be unique.' type: string maxLength: 255 minLength: 1 display_name: description: The display name of the portal. This value will be the portal's `name` in Portal API. type: string maxLength: 255 minLength: 1 nullable: false description: description: A description of the portal. type: string default: null maxLength: 512 nullable: true x-speakeasy-param-computed: false authentication_enabled: description: 'Whether the portal supports developer authentication. If disabled, developers cannot register for accounts or create applications.' type: boolean default: true rbac_enabled: description: 'Whether the portal resources are protected by Role Based Access Control (RBAC). If enabled, developers view or register for APIs until unless assigned to teams with access to view and consume specific APIs. Authentication must be enabled to use RBAC.' type: boolean default: false mcp_server_enabled: description: Whether the portal has the MCP server enabled type: boolean x-speakeasy-param-computed: true sipr_enabled: description: Whether ip allow list is enabled for the portal. type: boolean example: true default: false default_api_visibility: description: 'The default visibility of APIs in the portal. If set to `public`, newly published APIs are visible to unauthenticated developers. If set to `private`, newly published APIs are hidden from unauthenticated developers.' type: string enum: - public - private x-speakeasy-unknown-values: allow default_page_visibility: description: 'The default visibility of pages in the portal. If set to `public`, newly created pages are visible to unauthenticated developers. If set to `private`, newly created pages are hidden from unauthenticated developers.' type: string enum: - public - private x-speakeasy-unknown-values: allow default_application_auth_strategy_id: description: 'The default authentication strategy for APIs published to the portal. Newly published APIs will use this authentication strategy unless overridden during publication. If set to `null`, API publications will not use an authentication strategy unless set during publication.' type: string format: uuid default: null nullable: true x-speakeasy-param-computed: false auto_approve_developers: description: 'Whether developer account registrations will be automatically approved, or if they will be set to pending until approved by an admin.' type: boolean default: false auto_approve_applications: description: 'Whether requests from applications to register for APIs will be automatically approved, or if they will be set to pending until approved by an admin.' type: boolean default: false default_domain: description: The domain assigned to the portal by Konnect. This is the default place to access the portal and its API if not using a `custom_domain``. type: string format: hostname readOnly: true x-speakeasy-param-suppress-computed-diff: true canonical_domain: description: The canonical domain of the developer portal type: string format: hostname nullable: false readOnly: true x-speakeasy-param-suppress-computed-diff: true labels: $ref: '#/components/schemas/LabelsUpdate' notifications_developer_pii_visibility_enabled: description: 'When enabled, portal registration notifications include the registering developer''s identifying information (such as name and email).' type: boolean default: false create_default_content: description: Use to create the portal page default content upon creation of this portal type: boolean default: false additionalProperties: false required: - name title: Portal x-property-annotations: mcp_server_enabled: - x-unstable - x-internal create_default_content: - x-unstable - x-internal UpdatePortal: description: Update a portal's settings. required: true content: application/json: schema: x-speakeasy-entity: Portal type: object properties: id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' name: description: 'The name of the portal, used to distinguish it from other portals. Name must be unique.' type: string default: null maxLength: 255 minLength: 1 nullable: true x-speakeasy-param-computed: false display_name: description: The display name of the portal. This value will be the portal's `name` in Portal API. type: string maxLength: 255 minLength: 1 nullable: false description: description: A description of the portal. type: string default: null maxLength: 512 nullable: true x-speakeasy-param-computed: false authentication_enabled: description: 'Whether the portal supports developer authentication. If disabled, developers cannot register for accounts or create applications.' type: boolean default: true rbac_enabled: description: 'Whether the portal resources are protected by Role Based Access Control (RBAC). If enabled, developers view or register for APIs until unless assigned to teams with access to view and consume specific APIs. Authentication must be enabled to use RBAC.' type: boolean default: false mcp_server_enabled: description: Whether the portal has the MCP server enabled type: boolean x-speakeasy-param-computed: true sipr_enabled: description: Whether ip allow list is enabled for the portal. type: boolean example: true default: false default_api_visibility: description: 'The default visibility of APIs in the portal. If set to `public`, newly published APIs are visible to unauthenticated developers. If set to `private`, newly published APIs are hidden from unauthenticated developers.' type: string enum: - public - private x-speakeasy-unknown-values: allow default_page_visibility: description: 'The default visibility of pages in the portal. If set to `public`, newly created pages are visible to unauthenticated developers. If set to `private`, newly created pages are hidden from unauthenticated developers.' type: string enum: - public - private x-speakeasy-unknown-values: allow default_application_auth_strategy_id: description: 'The default authentication strategy for APIs published to the portal. Newly published APIs will use this authentication strategy unless overridden during publication. If set to `null`, API publications will not use an authentication strategy unless set during publication.' type: string format: uuid default: null nullable: true x-speakeasy-param-computed: false auto_approve_developers: description: 'Whether developer account registrations will be automatically approved, or if they will be set to pending until approved by an admin.' type: boolean default: false auto_approve_applications: description: 'Whether requests from applications to register for APIs will be automatically approved, or if they will be set to pending until approved by an admin.' type: boolean default: false default_domain: description: The domain assigned to the portal by Konnect. This is the default place to access the portal and its API if not using a `custom_domain``. type: string format: hostname readOnly: true x-speakeasy-param-suppress-computed-diff: true canonical_domain: description: The canonical domain of the developer portal type: string format: hostname nullable: false readOnly: true x-speakeasy-param-suppress-computed-diff: true labels: $ref: '#/components/schemas/LabelsUpdate' notifications_developer_pii_visibility_enabled: description: 'When enabled, portal registration notifications include the registering developer''s identifying information (such as name and email).' type: boolean default: false additionalProperties: false title: Portal x-property-annotations: mcp_server_enabled: - x-unstable - x-internal ReplacePortalImageAsset: description: Update an image asset for the portal. required: true content: application/json: schema: $ref: '#/components/schemas/ReplacePortalImageAsset' ReplacePortalCustomization: content: application/json: schema: $ref: '#/components/schemas/PortalCustomization' CreatePortalPage: description: Create a page in a portal. required: true content: application/json: schema: $ref: '#/components/schemas/CreatePortalPageRequest' UpdatePortalPage: description: Update a page in a portal. required: true content: application/json: schema: $ref: '#/components/schemas/UpdatePortalPageRequest' CreatePortalSnippet: description: Create a snippet in a portal. required: true content: application/json: schema: $ref: '#/components/schemas/CreatePortalSnippetRequest' UpdatePortalSnippet: description: Update a snippet in a portal. required: true content: application/json: schema: $ref: '#/components/schemas/UpdatePortalSnippetRequest' UpdatePortalAuditLogWebhook: description: The request schema to modify an portal audit log webhook. content: application/json: schema: type: object properties: enabled: description: Indicates if the data should be sent to the configured destination. type: boolean example: true default: false audit_log_destination_id: description: ID of the audit log destination. type: string format: uuid default: null nullable: true x-speakeasy-param-computed: false include_principal_name: description: Whether to include the principal name in the audit log entries sent to the webhook. type: boolean example: true default: false x-property-annotations: include_principal_name: - x-internal - x-unstable PortalUpdateTeam: description: Update a team in a portal. content: application/json: schema: $ref: '#/components/schemas/PortalUpdateTeamRequest' PortalCreateTeam: description: Create a team in a portal. content: application/json: schema: $ref: '#/components/schemas/PortalCreateTeamRequest' UpdatePortalAuthenticationSettings: description: Update a portal's developer authentication settings. content: application/json: schema: $ref: '#/components/schemas/PortalAuthenticationSettingsUpdateRequest' CreatePortalSourceIPRestriction: content: application/json: schema: type: object properties: allowed_ips: $ref: '#/components/schemas/PortalAllowedIPs' additionalProperties: false required: - allowed_ips CreateApiRequest: required: true content: application/json: schema: type: object properties: id: description: The API identifier. type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 readOnly: true x-speakeasy-param-suppress-computed-diff: true name: description: | The name of your API. The `name + version` combination must be unique for each API you publish. type: string example: MyAPI maxLength: 255 minLength: 1 description: description: A description of your API. Will be visible on your live Portal. type: string default: null nullable: true x-speakeasy-param-computed: false version: description: An optional version for your API. Leave this empty if your API is unversioned. type: string maxLength: 255 minLength: 1 nullable: true x-speakeasy-param-computed: true current_version_summary: $ref: '#/components/schemas/ApiVersionSummary' slug: description: | The `slug` is used in generated URLs to provide human readable paths. Defaults to `slugify(name + version)` type: string example: my-api-v1 nullable: true pattern: '^[\w-]+$' x-speakeasy-param-computed: true api_spec_ids: description: The list of API specification ids for the API. type: array items: type: string format: uuid description: The id of the API specification. example: 123e4567-e89b-12d3-a456-426614174000 deprecated: true readOnly: true x-speakeasy-param-suppress-computed-diff: true portals: description: The list of portals which this API is published to. type: array items: type: object additionalProperties: false required: - id - name - display_name properties: id: description: The portal identifier. type: string format: uuid example: 25a2624c-49fc-4764-99e1-224ed819f200 name: description: 'The name of the portal, used to distinguish it from other portals.' type: string example: My Portal display_name: description: The display name of the portal. This value will be the portal's `name` in Portal API. type: string example: My Portal nullable: false readOnly: true uniqueItems: true x-speakeasy-param-suppress-computed-diff: true labels: $ref: '#/components/schemas/Labels' implementation_mode: description: the implementations that are associated with this api either gateway_entity_binding or access_control_enforcement type: string default: null nullable: true readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true attributes: $ref: '#/components/schemas/ApiAttributes' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' spec: $ref: '#/components/schemas/ApiSpecPayload' spec_content: description: 'The content of the API specification. This is the raw content of the API specification, in json or yaml. By including this field, you can add a API specification without having to make a separate call to update the API specification.' type: string nullable: false writeOnly: true additionalProperties: false required: - name title: API CreateApiSpecRequest: required: true content: application/json: schema: type: object properties: id: description: The API specification identifier. type: string format: uuid example: 7710d5c4-d902-410b-992f-18b814155b53 readOnly: true x-speakeasy-param-suppress-computed-diff: true content: description: | The raw content of your API specification, in json or yaml format (OpenAPI or AsyncAPI). example: '{"openapi":"3.0.3","info":{"title":"Example API","version":"1.0.0"},"paths":{"/example":{"get":{"summary":"Example endpoint","responses":{"200":{"description":"Successful response"}}}}}}' type: string validation_messages: description: The errors that occurred while parsing the API specification. type: array items: type: object additionalProperties: false required: - message properties: message: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true type: description: | The type of specification being stored. This allows us to render the specification correctly. type: string example: oas3 enum: - oas2 - oas3 - asyncapi title: API Spec Type x-speakeasy-unknown-values: allow created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - content title: API Specification CreateApiVersionRequest: required: true content: application/json: schema: type: object properties: version: description: The version of the api. type: string example: 1.0.0 default: null nullable: true x-speakeasy-param-computed: false spec: type: object additionalProperties: false properties: content: default: null description: 'The raw content of API specification, in json or yaml format (OpenAPI or AsyncAPI).' example: '{"openapi":"3.0.3","info":{"title":"Example API","version":"1.0.0"},"paths":{"/example":{"get":{"summary":"Example endpoint","responses":{"200":{"description":"Successful response"}}}}}}' nullable: true type: string x-speakeasy-param-computed: false provider: description: | Represent spec provider information used for fetching the API spec. For raw, provide the raw content in the `content` property instead of using this provider. oneOf: - $ref: '#/components/schemas/UrlApiSpecProvider' - $ref: '#/components/schemas/IntegrationApiSpecProviderPayload' - $ref: '#/components/schemas/ResourceBoundIntegrationApiSpecProviderPayload' x-property-annotations: provider: - x-internal additionalProperties: false required: - spec title: API Version Request CreateApiDocumentRequest: required: true content: application/json: schema: type: object properties: id: $ref: '#/components/schemas/ApiDocumentId' content: $ref: '#/components/schemas/ApiDocumentContent' title: $ref: '#/components/schemas/ApiDocumentTitle' slug: $ref: '#/components/schemas/ApiDocumentSlug' status: $ref: '#/components/schemas/ApiDocumentStatus' parent_document_id: $ref: '#/components/schemas/ApiDocumentParentDocumentId' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - content title: API Document UpdateApiRequest: required: true content: application/json: schema: type: object properties: id: description: The API identifier. type: string format: uuid example: 9f5061ce-78f6-4452-9108-ad7c02821fd5 readOnly: true x-speakeasy-param-suppress-computed-diff: true name: description: | The name of your API. The `name + version` combination must be unique for each API you publish. type: string example: MyAPI default: null maxLength: 255 minLength: 1 nullable: true x-speakeasy-param-computed: false description: description: A description of your API. Will be visible on your live Portal. type: string default: null nullable: true x-speakeasy-param-computed: false version: description: An optional version for your API. Leave this empty if your API is unversioned. type: string maxLength: 255 minLength: 1 nullable: true x-speakeasy-param-computed: true current_version_summary: $ref: '#/components/schemas/ApiVersionSummary' slug: description: | The `slug` is used in generated URLs to provide human readable paths. Defaults to `slugify(name + version)` type: string example: my-api-v1 nullable: true pattern: '^[\w-]+$' x-speakeasy-param-computed: true api_spec_ids: description: The list of API specification ids for the API. type: array items: type: string format: uuid description: The id of the API specification. example: 123e4567-e89b-12d3-a456-426614174000 deprecated: true readOnly: true x-speakeasy-param-suppress-computed-diff: true portals: description: The list of portals which this API is published to. type: array items: type: object additionalProperties: false required: - id - name - display_name properties: id: description: The portal identifier. type: string format: uuid example: 25a2624c-49fc-4764-99e1-224ed819f200 name: description: 'The name of the portal, used to distinguish it from other portals.' type: string example: My Portal display_name: description: The display name of the portal. This value will be the portal's `name` in Portal API. type: string example: My Portal nullable: false readOnly: true uniqueItems: true x-speakeasy-param-suppress-computed-diff: true labels: $ref: '#/components/schemas/LabelsUpdate' implementation_mode: description: the implementations that are associated with this api either gateway_entity_binding or access_control_enforcement type: string default: null nullable: true readOnly: true x-speakeasy-param-computed: false x-speakeasy-param-suppress-computed-diff: true attributes: $ref: '#/components/schemas/ApiAttributes' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false title: API UpdateApiDocumentRequest: required: true content: application/json: schema: $ref: '#/components/schemas/ApiDocument' UpdateApiSpecRequest: required: true content: application/json: schema: $ref: '#/components/schemas/ApiSpec' UpdateApiVersionRequest: required: true content: application/json: schema: $ref: '#/components/schemas/APIVersionRequest' PutApiPublicationRequest: required: true content: application/json: schema: $ref: '#/components/schemas/ApiPublication' CreateApiImplementationRequest: required: true content: application/json: schema: $ref: '#/components/schemas/ApiImplementation' CreateAuthServer: description: Auth server to be created required: true content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/AuthServerName' description: $ref: '#/components/schemas/AuthServerDescription' audience: $ref: '#/components/schemas/Audience' signing_algorithm: $ref: '#/components/schemas/Algorithm' labels: $ref: '#/components/schemas/Labels' trusted_origins: $ref: '#/components/schemas/TrustedOrigins' dcr_default_access_token_duration: $ref: '#/components/schemas/DcrDefaultAccessTokenDuration' required: - name - audience x-property-annotations: dcr_default_access_token_duration: - x-unstable - x-internal UpdateAuthServer: description: Auth server to be updated required: true content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/AuthServerName' description: $ref: '#/components/schemas/AuthServerDescription' audience: $ref: '#/components/schemas/Audience' signing_algorithm: $ref: '#/components/schemas/UpdateAlgorithm' labels: $ref: '#/components/schemas/LabelsUpdate' trusted_origins: $ref: '#/components/schemas/TrustedOrigins' dcr_default_access_token_duration: $ref: '#/components/schemas/UpdateDcrDefaultAccessTokenDuration' x-property-annotations: dcr_default_access_token_duration: - x-unstable - x-internal CreateClaim: description: Claim to be created required: true content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/ClaimName' value: $ref: '#/components/schemas/ClaimValue' include_in_token: $ref: '#/components/schemas/ClaimIncludeInToken' include_in_all_scopes: $ref: '#/components/schemas/ClaimIncludeInAllScopes' include_in_scopes: $ref: '#/components/schemas/ClaimIncludeInScopes' enabled: $ref: '#/components/schemas/ClaimEnabled' required: - name - value UpdateClaim: description: Claim to be updated required: true content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/ClaimName' value: $ref: '#/components/schemas/ClaimValue' include_in_token: $ref: '#/components/schemas/UpdateClaimIncludeInToken' include_in_all_scopes: $ref: '#/components/schemas/UpdateClaimIncludeInAllScopes' include_in_scopes: $ref: '#/components/schemas/ClaimIncludeInScopes' enabled: $ref: '#/components/schemas/UpdateClaimEnabled' CreateScope: description: Scope to be created required: true content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/ScopeName' description: $ref: '#/components/schemas/ScopeDescription' default: $ref: '#/components/schemas/ScopeDefault' include_in_metadata: $ref: '#/components/schemas/ScopeIncludeInMetadata' enabled: $ref: '#/components/schemas/ScopeEnabled' required: - name UpdateScope: description: Scope to be update required: true content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/ScopeName' description: $ref: '#/components/schemas/ScopeDescription' default: $ref: '#/components/schemas/UpdateScopeDefault' include_in_metadata: $ref: '#/components/schemas/UpdateScopeIncludeInMetadata' enabled: $ref: '#/components/schemas/UpdateScopeEnabled' CreateClient: description: Client to be created required: true content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/ClientName' grant_types: $ref: '#/components/schemas/GrantTypes' response_types: $ref: '#/components/schemas/ResponseTypes' redirect_uris: $ref: '#/components/schemas/RedirectURIs' login_uri: $ref: '#/components/schemas/LoginURI' access_token_duration: $ref: '#/components/schemas/TokenDuration' id_token_duration: $ref: '#/components/schemas/TokenDuration' refresh_token_duration: $ref: '#/components/schemas/RefreshTokenDuration' allow_all_scopes: $ref: '#/components/schemas/ClientAllowAllScopes' allow_scopes: $ref: '#/components/schemas/ClientAllowScopes' labels: $ref: '#/components/schemas/Labels' token_endpoint_auth_method: $ref: '#/components/schemas/TokenEndpointAuthMethod' id: description: The OAuth 2.0 client ID type: string example: kYa9iQFU5xPDSIUH9z1z maxLength: 36 pattern: '[-_\w]+' x-speakeasy-param-computed: true client_secret: description: Secret of the client - will be used when ID is also set. type: string x-speakeasy-param-computed: true required: - name - grant_types - response_types x-property-annotations: login_uri: - x-unstable refresh_token_duration: - x-unstable - x-internal ReplaceClient: description: Client to be replaced required: true content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/ClientName' client_secret: description: Secret of the client type: string minLength: 1 grant_types: $ref: '#/components/schemas/GrantTypes' response_types: $ref: '#/components/schemas/ResponseTypes' redirect_uris: $ref: '#/components/schemas/RedirectURIs' login_uri: $ref: '#/components/schemas/LoginURI' access_token_duration: $ref: '#/components/schemas/TokenDuration' id_token_duration: $ref: '#/components/schemas/TokenDuration' refresh_token_duration: $ref: '#/components/schemas/RefreshTokenDuration' allow_all_scopes: $ref: '#/components/schemas/ClientAllowAllScopes' allow_scopes: $ref: '#/components/schemas/ClientAllowScopes' token_endpoint_auth_method: $ref: '#/components/schemas/TokenEndpointAuthMethod' labels: $ref: '#/components/schemas/Labels' required: - name - client_secret - grant_types - response_types x-property-annotations: login_uri: - x-unstable refresh_token_duration: - x-unstable - x-internal CreateEventGatewayListenerRequest: description: The request schema for creating a listener. content: application/json: schema: type: object properties: name: description: The unique name of the listener. type: string maxLength: 255 minLength: 1 description: description: A human-readable description of the listener. type: string default: '' maxLength: 512 addresses: $ref: '#/components/schemas/EventGatewayListenerAddresses' ports: $ref: '#/components/schemas/EventGatewayListenerPorts' labels: $ref: '#/components/schemas/Labels' additionalProperties: false required: - name - addresses - ports UpdateEventGatewayListenerRequest: description: The request schema for updating a listener. content: application/json: schema: type: object properties: name: description: The unique name of the listener. type: string maxLength: 255 minLength: 1 description: description: A human-readable description of the listener. type: string default: '' maxLength: 512 addresses: $ref: '#/components/schemas/EventGatewayListenerAddresses' ports: $ref: '#/components/schemas/EventGatewayListenerPorts' labels: $ref: '#/components/schemas/Labels' additionalProperties: false required: - name - addresses - ports CreateVirtualClusterRequest: description: The request schema for creating a virtual cluster. content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/VirtualClusterName' description: description: A human-readable description of the virtual cluster. type: string default: '' maxLength: 512 destination: $ref: '#/components/schemas/BackendClusterReferenceModify' authentication: $ref: '#/components/schemas/VirtualClusterAuthenticationSchemes' namespace: $ref: '#/components/schemas/VirtualClusterNamespace' topic_aliases: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Topic aliases allow exposing backend topics under additional names. An alias creates a new entry point to the same physical data. The alias `topic` field references namespace-visible names (if namespace is configured). Aliases are independent of namespace and can be used without it. **Requires a minimum runtime version of `1.2`**. type: array items: $ref: '#/components/schemas/VirtualClusterTopicAlias' nullable: true x-min-runtime-version: '1.2' x-speakeasy-param-computed: false x-unstable: true acl_mode: $ref: '#/components/schemas/VirtualClusterACLMode' dns_label: $ref: '#/components/schemas/VirtualClusterDNSLabel' labels: $ref: '#/components/schemas/Labels' additionalProperties: false required: - name - destination - authentication - dns_label - acl_mode UpdateVirtualClusterRequest: description: The request schema for updating a virtual cluster. content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/VirtualClusterName' description: description: A human-readable description of the virtual cluster. type: string default: '' maxLength: 512 destination: $ref: '#/components/schemas/BackendClusterReferenceModify' authentication: $ref: '#/components/schemas/VirtualClusterAuthenticationSensitiveDataAwareSchemes' namespace: $ref: '#/components/schemas/VirtualClusterNamespace' topic_aliases: description: |- **Pre-release Feature** This feature is currently in beta and is subject to change. Topic aliases allow exposing backend topics under additional names. An alias creates a new entry point to the same physical data. The alias `topic` field references namespace-visible names (if namespace is configured). Aliases are independent of namespace and can be used without it. **Requires a minimum runtime version of `1.2`**. type: array items: $ref: '#/components/schemas/VirtualClusterTopicAlias' nullable: true x-min-runtime-version: '1.2' x-speakeasy-param-computed: false x-unstable: true acl_mode: $ref: '#/components/schemas/VirtualClusterACLMode' dns_label: $ref: '#/components/schemas/VirtualClusterDNSLabel' labels: $ref: '#/components/schemas/Labels' additionalProperties: false required: - name - destination - authentication - dns_label - acl_mode CreateBackendClusterRequest: description: The request schema for creating a backend cluster. content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/BackendClusterName' description: description: A human-readable description of the backend cluster. type: string default: '' maxLength: 512 authentication: $ref: '#/components/schemas/BackendClusterAuthenticationScheme' insecure_allow_anonymous_virtual_cluster_auth: description: | If true, virtual clusters can have allow anonymous authentication and use this backend cluster. This setting is not recommended for production use as it may create privilege escalation vulnerabilities. type: boolean default: false bootstrap_servers: $ref: '#/components/schemas/BootstrapServers' tls: $ref: '#/components/schemas/BackendClusterTLS' metadata_update_interval_seconds: $ref: '#/components/schemas/BackendMetadataUpdateIntervalSeconds' labels: $ref: '#/components/schemas/Labels' additionalProperties: false required: - name - authentication - bootstrap_servers - tls UpdateBackendClusterRequest: description: The request schema for updating a backend cluster. content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/BackendClusterName' description: description: A human-readable description of the backend cluster. type: string default: '' maxLength: 512 authentication: $ref: '#/components/schemas/BackendClusterAuthenticationSensitiveDataAwareScheme' insecure_allow_anonymous_virtual_cluster_auth: description: | If true, virtual clusters can have allow anonymous authentication and use this backend cluster. This setting is not recommended for production use as it may create privilege escalation vulnerabilities. type: boolean default: false bootstrap_servers: $ref: '#/components/schemas/BootstrapServers' tls: $ref: '#/components/schemas/BackendClusterTLS' metadata_update_interval_seconds: $ref: '#/components/schemas/BackendMetadataUpdateIntervalSeconds' labels: $ref: '#/components/schemas/Labels' additionalProperties: false required: - name - authentication - bootstrap_servers - tls CreateEventGatewayVaultRequest: description: The request schema for creating a vault. content: application/json: schema: $ref: '#/components/schemas/EventGatewayModifyVault' UpdateEventGatewayVaultRequest: description: The request schema for updating a vault. content: application/json: schema: $ref: '#/components/schemas/EventGatewayModifyVault' CreateSchemaRegistryRequest: description: The request schema for creating a schema registry. content: application/json: schema: $ref: '#/components/schemas/SchemaRegistryCreate' UpdateSchemaRegistryRequest: description: The request schema for updating a schema registry. content: application/json: schema: $ref: '#/components/schemas/SchemaRegistryUpdate' CreateEventGatewayDataPlaneCertificateRequest: content: application/json: schema: type: object properties: certificate: description: JSON escaped string of the certificate. type: string name: description: The name to identify of the certificate. type: string default: null nullable: true x-speakeasy-param-computed: false description: description: A description of the certificate. type: string x-speakeasy-param-computed: false required: - certificate description: Request body for creating a certificate. UpdateEventGatewayDataPlaneCertificateRequest: description: The request schema for updating a dataplane certificate. content: application/json: schema: type: object properties: certificate: description: JSON escaped string of the certificate. type: string name: description: The name to identify of the certificate. type: string default: null nullable: true x-speakeasy-param-computed: false description: description: A description of the certificate. type: string x-speakeasy-param-computed: false required: - certificate CreateEventGatewayStaticKeyRequest: description: The request schema for creating a static key. content: application/json: schema: $ref: '#/components/schemas/EventGatewayStaticKeyCreate' CreateTLSTrustBundleRequest: description: The request schema for creating a TLS trust bundle. required: true content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/TLSTrustBundleName' description: description: A human-readable description of the TLS trust bundle. type: string default: '' maxLength: 512 config: $ref: '#/components/schemas/TLSTrustBundleConfig' labels: $ref: '#/components/schemas/Labels' additionalProperties: false required: - name - config UpdateTLSTrustBundleRequest: description: The request schema for updating a TLS trust bundle. required: true content: application/json: schema: type: object properties: name: $ref: '#/components/schemas/TLSTrustBundleName' description: description: A human-readable description of the TLS trust bundle. type: string default: '' maxLength: 512 config: $ref: '#/components/schemas/TLSTrustBundleConfig' labels: $ref: '#/components/schemas/Labels' additionalProperties: false CreateDirectoryRequest: description: Directory to be created required: true content: application/json: schema: $ref: '#/components/schemas/CreateDirectoryBody' ReplaceDirectoryRequest: description: Directory to be replaced required: true content: application/json: schema: $ref: '#/components/schemas/ReplaceDirectoryBody' responses: PortalAuthenticationSettings: description: Details about a portal's authentication settings. content: application/json: schema: $ref: '#/components/schemas/PortalAuthenticationSettingsResponse' PortalTeam: description: Details about a team of developers in a portal. content: application/json: schema: $ref: '#/components/schemas/PortalTeamResponse' PortalCustomDomain: description: Portal custom domain content: application/json: schema: $ref: '#/components/schemas/PortalCustomDomain' ListPortalsResponse: description: A paginated list of portals in the current region of an organization. content: application/json: schema: type: object properties: data: type: array items: x-speakeasy-entity: Portal title: Portal type: object additionalProperties: false x-property-annotations: mcp_server_enabled: - x-unstable - x-internal properties: id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' name: description: 'The name of the portal, used to distinguish it from other portals. Name must be unique.' type: string maxLength: 255 minLength: 1 display_name: description: The display name of the portal. This value will be the portal's `name` in Portal API. type: string maxLength: 255 minLength: 1 nullable: false description: description: A description of the portal. type: string default: null maxLength: 512 nullable: true x-speakeasy-param-computed: false authentication_enabled: description: 'Whether the portal supports developer authentication. If disabled, developers cannot register for accounts or create applications.' type: boolean default: true rbac_enabled: description: 'Whether the portal resources are protected by Role Based Access Control (RBAC). If enabled, developers view or register for APIs until unless assigned to teams with access to view and consume specific APIs. Authentication must be enabled to use RBAC.' type: boolean default: false mcp_server_enabled: description: Whether the portal has the MCP server enabled type: boolean x-speakeasy-param-computed: true sipr_enabled: description: Whether ip allow list is enabled for the portal. type: boolean example: true default: false default_api_visibility: description: 'The default visibility of APIs in the portal. If set to `public`, newly published APIs are visible to unauthenticated developers. If set to `private`, newly published APIs are hidden from unauthenticated developers.' type: string enum: - public - private x-speakeasy-unknown-values: allow default_page_visibility: description: 'The default visibility of pages in the portal. If set to `public`, newly created pages are visible to unauthenticated developers. If set to `private`, newly created pages are hidden from unauthenticated developers.' type: string enum: - public - private x-speakeasy-unknown-values: allow default_application_auth_strategy_id: description: 'The default authentication strategy for APIs published to the portal. Newly published APIs will use this authentication strategy unless overridden during publication. If set to `null`, API publications will not use an authentication strategy unless set during publication.' type: string format: uuid default: null nullable: true x-speakeasy-param-computed: false auto_approve_developers: description: 'Whether developer account registrations will be automatically approved, or if they will be set to pending until approved by an admin.' type: boolean default: false auto_approve_applications: description: 'Whether requests from applications to register for APIs will be automatically approved, or if they will be set to pending until approved by an admin.' type: boolean default: false default_domain: description: The domain assigned to the portal by Konnect. This is the default place to access the portal and its API if not using a `custom_domain``. type: string format: hostname readOnly: true x-speakeasy-param-suppress-computed-diff: true canonical_domain: description: The canonical domain of the developer portal type: string format: hostname nullable: false readOnly: true x-speakeasy-param-suppress-computed-diff: true labels: $ref: '#/components/schemas/Labels' notifications_developer_pii_visibility_enabled: description: 'When enabled, portal registration notifications include the registering developer''s identifying information (such as name and email).' type: boolean default: false required: - id - name - display_name - description - authentication_enabled - rbac_enabled - sipr_enabled - default_api_visibility - default_page_visibility - default_application_auth_strategy_id - auto_approve_applications - auto_approve_developers - default_domain - canonical_domain - created_at - updated_at meta: $ref: '#/components/schemas/PaginatedMeta' additionalProperties: false required: - data - meta PortalResponse: description: Details about a portal. content: application/json: schema: x-speakeasy-entity: Portal type: object properties: id: $ref: '#/components/schemas/UUID' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' name: description: 'The name of the portal, used to distinguish it from other portals. Name must be unique.' type: string maxLength: 255 minLength: 1 display_name: description: The display name of the portal. This value will be the portal's `name` in Portal API. type: string maxLength: 255 minLength: 1 nullable: false description: description: A description of the portal. type: string default: null maxLength: 512 nullable: true x-speakeasy-param-computed: false authentication_enabled: description: 'Whether the portal supports developer authentication. If disabled, developers cannot register for accounts or create applications.' type: boolean default: true rbac_enabled: description: 'Whether the portal resources are protected by Role Based Access Control (RBAC). If enabled, developers view or register for APIs until unless assigned to teams with access to view and consume specific APIs. Authentication must be enabled to use RBAC.' type: boolean default: false mcp_server_enabled: description: Whether the portal has the MCP server enabled type: boolean x-speakeasy-param-computed: true sipr_enabled: description: Whether ip allow list is enabled for the portal. type: boolean example: true default: false default_api_visibility: description: 'The default visibility of APIs in the portal. If set to `public`, newly published APIs are visible to unauthenticated developers. If set to `private`, newly published APIs are hidden from unauthenticated developers.' type: string enum: - public - private x-speakeasy-unknown-values: allow default_page_visibility: description: 'The default visibility of pages in the portal. If set to `public`, newly created pages are visible to unauthenticated developers. If set to `private`, newly created pages are hidden from unauthenticated developers.' type: string enum: - public - private x-speakeasy-unknown-values: allow default_application_auth_strategy_id: description: 'The default authentication strategy for APIs published to the portal. Newly published APIs will use this authentication strategy unless overridden during publication. If set to `null`, API publications will not use an authentication strategy unless set during publication.' type: string format: uuid default: null nullable: true x-speakeasy-param-computed: false auto_approve_developers: description: 'Whether developer account registrations will be automatically approved, or if they will be set to pending until approved by an admin.' type: boolean default: false auto_approve_applications: description: 'Whether requests from applications to register for APIs will be automatically approved, or if they will be set to pending until approved by an admin.' type: boolean default: false default_domain: description: The domain assigned to the portal by Konnect. This is the default place to access the portal and its API if not using a `custom_domain``. type: string format: hostname readOnly: true x-speakeasy-param-suppress-computed-diff: true canonical_domain: description: The canonical domain of the developer portal type: string format: hostname nullable: false readOnly: true x-speakeasy-param-suppress-computed-diff: true labels: $ref: '#/components/schemas/Labels' notifications_developer_pii_visibility_enabled: description: 'When enabled, portal registration notifications include the registering developer''s identifying information (such as name and email).' type: boolean default: false additionalProperties: false required: - id - name - display_name - description - authentication_enabled - rbac_enabled - sipr_enabled - default_api_visibility - default_page_visibility - default_application_auth_strategy_id - auto_approve_applications - auto_approve_developers - default_domain - canonical_domain - updated_at - created_at title: Portal x-property-annotations: mcp_server_enabled: - x-unstable - x-internal PortalAssetResponse: description: 'Image asset for the portal. Can be either png, jpeg or svg' content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/PortalImageDataUri' additionalProperties: false required: - data PortalCustomizationResponse: description: The current customization options for a portal. content: application/json: schema: $ref: '#/components/schemas/PortalCustomization' PortalPage: description: Details about a page in a portal. content: application/json: schema: $ref: '#/components/schemas/PortalPageResponse' PortalSnippet: description: Details about a snippet in a portal. content: application/json: schema: $ref: '#/components/schemas/PortalSnippetResponse' PortalAuditLogWebhook: description: Portal audit log webhook response content: application/json: schema: type: object properties: enabled: description: Indicates if the data should be sent to the configured audit log destination. type: boolean example: true default: false audit_log_destination_id: description: ID of the audit log destination. type: string format: uuid default: null nullable: true x-speakeasy-param-computed: false include_principal_name: description: Whether to include the principal name in the audit log entries sent to the webhook. type: boolean example: true default: false x-property-annotations: include_principal_name: - x-internal - x-unstable PortalWebhookBadRequest: description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' PortalSourceIPRestriction: description: The portal's IP allow list configuration. content: application/json: schema: $ref: '#/components/schemas/IPEntry' Unauthorized: description: Unauthorized content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' Forbidden: description: Forbidden content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' NotFound: description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' Conflict: description: Conflict content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' BadRequest: description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' Internal: description: Internal content: application/problem+json: schema: $ref: '#/components/schemas/BaseError' ApiSlugConflict: description: Conflict - `slug` property must be unique content: application/problem+json: schema: type: object properties: status: type: number title: type: string type: type: string default: null nullable: true x-speakeasy-param-computed: false instance: type: string required: - status - title - instance ApiSpecConflict: description: Conflict - An API may only have one specification content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' ApiSpecHiddenConflict: description: Conflict - name attribute must be unique across specifications content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' ApiVersionPatchConflict: description: Conflict - May occur when constraints are violated content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' ApiImplementationConflict: description: Conflict - A gateway service can only be linked to a single API content: application/problem+json: schema: $ref: '#/components/schemas/ConflictError' ApiUnauthorized: description: ApiUnauthorized content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' ApiNotFound: description: Not Found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' ApiForbidden: description: ApiForbidden content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' ApiPublicationBadRequest: description: Bad Request content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' ApiResponse: description: API content: application/json: schema: $ref: '#/components/schemas/ApiResponseSchema' ApiDocumentResponse: description: API document content: application/json: schema: type: object properties: id: $ref: '#/components/schemas/ApiDocumentId' content: $ref: '#/components/schemas/ApiDocumentContent' title: $ref: '#/components/schemas/ApiDocumentTitle' slug: $ref: '#/components/schemas/ApiDocumentSlug' status: $ref: '#/components/schemas/ApiDocumentStatus' parent_document_id: $ref: '#/components/schemas/ApiDocumentParentDocumentId' created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - parent_document_id - title - slug - status - content - updated_at - created_at title: API Document ApiSpecResponse: description: API specification (OpenAPI or AsyncAPI) content: application/json: schema: type: object properties: id: description: The API specification identifier. type: string format: uuid example: 7710d5c4-d902-410b-992f-18b814155b53 readOnly: true x-speakeasy-param-suppress-computed-diff: true content: description: | The raw content of your API specification, in json or yaml format (OpenAPI or AsyncAPI). example: '{"openapi":"3.0.3","info":{"title":"Example API","version":"1.0.0"},"paths":{"/example":{"get":{"summary":"Example endpoint","responses":{"200":{"description":"Successful response"}}}}}}' type: string validation_messages: description: The errors that occurred while parsing the API specification. type: array items: type: object additionalProperties: false required: - message properties: message: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true type: description: | The type of specification being stored. This allows us to render the specification correctly. type: string example: oas3 enum: - oas2 - oas3 - asyncapi title: API Spec Type x-speakeasy-unknown-values: allow created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - content - type - created_at - updated_at - validation_messages title: API Specification ApiVersionResponse: description: API version (OpenAPI or AsyncAPI) content: application/json: schema: type: object properties: id: description: The API version identifier. type: string format: uuid example: 7710d5c4-d902-410b-992f-18b814155b53 readOnly: true x-speakeasy-param-suppress-computed-diff: true version: description: The version of the api. type: string example: 1.0.0 spec: type: object default: null additionalProperties: false nullable: true properties: content: default: null description: | The raw content of your API spec, in json or yaml format (OpenAPI or AsyncAPI). example: '{"openapi":"3.0.3","info":{"title":"Example API","version":"1.0.0"},"paths":{"/example":{"get":{"summary":"Example endpoint","responses":{"200":{"description":"Successful response"}}}}}}' nullable: true type: string x-speakeasy-param-computed: false type: description: | The type of specification being stored. This allows us to render the specification correctly. type: string example: oas3 enum: - oas2 - oas3 - asyncapi readOnly: true title: API Spec Type x-speakeasy-param-suppress-computed-diff: true x-speakeasy-unknown-values: allow validation_messages: description: The errors that occurred while parsing the API version spec. type: array items: type: object additionalProperties: false required: - message properties: message: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true provider: description: | The provider used to supply the spec content. In write requests, provide this instead of or alongside content. If omitted on writes, the server infers type raw from spec.content. oneOf: - $ref: '#/components/schemas/RawApiSpecProvider' - $ref: '#/components/schemas/UrlApiSpecProvider' - $ref: '#/components/schemas/IntegrationApiSpecProviderPayload' - $ref: '#/components/schemas/ResourceBoundIntegrationApiSpecProviderPayload' title: ApiSpecProvider x-internal: true x-property-annotations: provider: - x-internal x-speakeasy-param-computed: false created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - id - version - created_at - updated_at title: API Version ApiPublicationResponse: description: An API publication in a portal content: application/json: schema: description: An API publication in a portal type: object properties: auto_approve_registrations: $ref: '#/components/schemas/AutoApproveRegistrations' auth_strategy_ids: $ref: '#/components/schemas/ApiPublicationAuthStrategyIds' visibility: $ref: '#/components/schemas/ApiPublicationVisibility' form_id: description: 'UUID of portal form associated with API publication, must be linked to given portal and have type of ''api_registration''' type: string format: uuid nullable: true x-speakeasy-param-computed: true warnings: description: Informational warnings (e.g. incompatible fields stripped for ACE). Empty if none. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true created_at: $ref: '#/components/schemas/CreatedAt' updated_at: $ref: '#/components/schemas/UpdatedAt' additionalProperties: false required: - visibility - created_at - updated_at - auth_strategy_ids title: API Publication x-property-annotations: form_id: - x-internal - x-unstable ApiImplementationResponse: description: An API implementation content: application/json: schema: description: An entity that implements an API type: object oneOf: - $ref: '#/components/schemas/ApiImplementationGatewayServiceEntity' - $ref: '#/components/schemas/ApiImplementationControlPlaneEntity' required: - id - created_at - updated_at title: API Implementation UnsupportedMediaType: description: Unsupported Media Type content: application/problem+json: schema: $ref: '#/components/schemas/UnsupportedMediaTypeError' MeshAccessLogItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshAccessLogItem' MeshAccessLogList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshAccessLogItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshAccessLogCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshAccessLogDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshCircuitBreakerItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshCircuitBreakerItem' MeshCircuitBreakerList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshCircuitBreakerItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshCircuitBreakerCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshCircuitBreakerDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshFaultInjectionItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshFaultInjectionItem' MeshFaultInjectionList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshFaultInjectionItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshFaultInjectionCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshFaultInjectionDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshHealthCheckItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshHealthCheckItem' MeshHealthCheckList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshHealthCheckItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshHealthCheckCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshHealthCheckDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshHTTPRouteItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshHTTPRouteItem' MeshHTTPRouteList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshHTTPRouteItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshHTTPRouteCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshHTTPRouteDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshLoadBalancingStrategyItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshLoadBalancingStrategyItem' MeshLoadBalancingStrategyList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshLoadBalancingStrategyItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshLoadBalancingStrategyCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshLoadBalancingStrategyDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshMetricItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshMetricItem' MeshMetricList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshMetricItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshMetricCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshMetricDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshPassthroughItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshPassthroughItem' MeshPassthroughList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshPassthroughItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshPassthroughCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshPassthroughDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshProxyPatchItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshProxyPatchItem' MeshProxyPatchList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshProxyPatchItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshProxyPatchCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshProxyPatchDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshRateLimitItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshRateLimitItem' MeshRateLimitList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshRateLimitItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshRateLimitCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshRateLimitDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshRetryItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshRetryItem' MeshRetryList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshRetryItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshRetryCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshRetryDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshTCPRouteItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshTCPRouteItem' MeshTCPRouteList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshTCPRouteItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshTCPRouteCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshTCPRouteDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshTimeoutItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshTimeoutItem' MeshTimeoutList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshTimeoutItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshTimeoutCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshTimeoutDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshTLSItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshTLSItem' MeshTLSList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshTLSItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshTLSCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshTLSDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshTraceItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshTraceItem' MeshTraceList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshTraceItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshTraceCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshTraceDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshTrafficPermissionItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshTrafficPermissionItem' MeshTrafficPermissionList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshTrafficPermissionItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshTrafficPermissionCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshTrafficPermissionDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshItem' MeshList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshItem' next: description: URL to the next page type: string total: description: The total number of entities type: number MeshGatewayCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshGatewayDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshGatewayItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshGatewayItem' MeshGatewayList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshGatewayItem' next: description: URL to the next page type: string total: description: The total number of entities type: number SecretCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true SecretDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object SecretItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/SecretItem' SecretList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/SecretItem' default: null nullable: true x-speakeasy-param-computed: false next: description: URL to the next page type: string default: null nullable: true x-speakeasy-param-computed: false total: description: The total number of entities type: number default: null nullable: true x-speakeasy-param-computed: false ZoneEgressCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true ZoneEgressDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object ZoneEgressItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/ZoneEgressItem' ZoneEgressList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ZoneEgressItem' default: null nullable: true x-speakeasy-param-computed: false next: description: URL to the next page type: string default: null nullable: true x-speakeasy-param-computed: false total: description: The total number of entities type: number default: null nullable: true x-speakeasy-param-computed: false ZoneIngressCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true ZoneIngressDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object ZoneIngressItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/ZoneIngressItem' ZoneIngressList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/ZoneIngressItem' default: null nullable: true x-speakeasy-param-computed: false next: description: URL to the next page type: string default: null nullable: true x-speakeasy-param-computed: false total: description: The total number of entities type: number default: null nullable: true x-speakeasy-param-computed: false HostnameGeneratorItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/HostnameGeneratorItem' HostnameGeneratorList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/HostnameGeneratorItem' default: null nullable: true x-speakeasy-param-computed: false total: description: The total number of entities type: number default: null nullable: true x-speakeasy-param-computed: false next: description: URL to the next page type: string default: null nullable: true x-speakeasy-param-computed: false HostnameGeneratorCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true HostnameGeneratorDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshExternalServiceItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshExternalServiceItem' MeshExternalServiceList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshExternalServiceItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshExternalServiceCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshExternalServiceDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshIdentityItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshIdentityItem' MeshIdentityList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshIdentityItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshIdentityCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshIdentityDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshMultiZoneServiceItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshMultiZoneServiceItem' MeshMultiZoneServiceList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshMultiZoneServiceItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshMultiZoneServiceCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshMultiZoneServiceDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshServiceItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshServiceItem' MeshServiceList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshServiceItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshServiceCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshServiceDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshTrustItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshTrustItem' MeshTrustList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshTrustItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshTrustCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshTrustDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object WorkloadItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/WorkloadItem' WorkloadList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/WorkloadItem' default: null nullable: true x-speakeasy-param-computed: false total: description: The total number of entities type: number default: null nullable: true x-speakeasy-param-computed: false next: description: URL to the next page type: string default: null nullable: true x-speakeasy-param-computed: false WorkloadCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true WorkloadDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshGlobalRateLimitItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshGlobalRateLimitItem' MeshGlobalRateLimitList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshGlobalRateLimitItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshGlobalRateLimitCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshGlobalRateLimitDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object MeshOPAItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/MeshOPAItem' MeshOPAList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/MeshOPAItem' total: description: The total number of entities type: number next: description: URL to the next page type: string MeshOPACreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true MeshOPADeleteSuccessResponse: description: Successful response content: application/json: schema: type: object AccessAuditCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true AccessAuditDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object AccessAuditItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/AccessAuditItem' AccessAuditList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/AccessAuditItem' default: null nullable: true x-speakeasy-param-computed: false next: description: URL to the next page type: string default: null nullable: true x-speakeasy-param-computed: false total: description: The total number of entities type: number default: null nullable: true x-speakeasy-param-computed: false AccessRoleCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true AccessRoleDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object AccessRoleItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/AccessRoleItem' AccessRoleList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/AccessRoleItem' default: null nullable: true x-speakeasy-param-computed: false next: description: URL to the next page type: string default: null nullable: true x-speakeasy-param-computed: false total: description: The total number of entities type: number default: null nullable: true x-speakeasy-param-computed: false AccessRoleBindingCreateOrUpdateSuccessResponse: description: Successful response content: application/json: schema: type: object properties: warnings: description: | warnings is a list of warning messages to return to the requesting Kuma API clients. Warning messages describe a problem the client making the API request should correct or be aware of. type: array items: type: string readOnly: true x-speakeasy-param-suppress-computed-diff: true AccessRoleBindingDeleteSuccessResponse: description: Successful response content: application/json: schema: type: object AccessRoleBindingItem: description: Successful response content: application/json: schema: $ref: '#/components/schemas/AccessRoleBindingItem' AccessRoleBindingList: description: List content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/AccessRoleBindingItem' default: null nullable: true x-speakeasy-param-computed: false next: description: URL to the next page type: string default: null nullable: true x-speakeasy-param-computed: false total: description: The total number of entities type: number default: null nullable: true x-speakeasy-param-computed: false RetrieveMeshControlPlaneResponse: description: A response to creating a control plane. content: application/json: schema: $ref: '#/components/schemas/MeshControlPlane' CreateMeshControlPlaneResponse: description: A response to creating a control plane. content: application/json: schema: $ref: '#/components/schemas/MeshControlPlane' CreateMeshControlPlaneValidationError: description: Validation Error content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' PutMeshControlPlaneValidationError: description: Validation Error content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' DeleteMeshControlPlaneValidationError: description: Validation Error content: application/problem+json: schema: $ref: '#/components/schemas/BadRequestError' MeshControlPlaneForbiddenError: description: Permission denied content: application/problem+json: schema: $ref: '#/components/schemas/ForbiddenError' MeshControlPlaneUnauthorizedError: description: Unauthorized Error content: application/problem+json: schema: $ref: '#/components/schemas/UnauthorizedError' MeshControlPlaneNotFoundError: description: Not found content: application/problem+json: schema: $ref: '#/components/schemas/NotFoundError' PutMeshControlPlaneResponse: description: A response to updating a control plane. content: application/json: schema: $ref: '#/components/schemas/MeshControlPlane' ListMeshControlPlanesResponse: description: A paginated list response for a collection of control planes. content: application/json: schema: type: object properties: meta: $ref: '#/components/schemas/PaginatedMeta' data: type: array items: $ref: '#/components/schemas/MeshControlPlane' title: ListMeshControlPlanesResponse AuthServer: description: An auth server content: application/json: schema: $ref: '#/components/schemas/AuthServer' Claim: description: A claim content: application/json: schema: $ref: '#/components/schemas/Claim' Scope: description: A scope content: application/json: schema: $ref: '#/components/schemas/Scope' Client: description: A client content: application/json: schema: $ref: '#/components/schemas/Client' CreatedClient: description: A client with a secret content: application/json: schema: $ref: '#/components/schemas/CreatedClient' CreateGatewayResponse: description: A response to creating a gateway. content: application/json: schema: $ref: '#/components/schemas/EventGatewayInfo' UpdateGatewayResponse: description: A response to updating a gateway. content: application/json: schema: $ref: '#/components/schemas/EventGatewayInfo' NotAvailable: description: Service not available content: application/problem+json: schema: $ref: '#/components/schemas/BaseError' CreateAddOnResponse: description: Response format for creating an add-on. content: application/json: schema: $ref: '#/components/schemas/AddOnResponse' RetrieveAddOnResponse: description: Response format for retrieving an add-on by ID. content: application/json: schema: $ref: '#/components/schemas/AddOnResponse' UpdateAddOnResponse: description: Response format for updating an add-on. content: application/json: schema: $ref: '#/components/schemas/AddOnResponse' KongDirectoryResponse: description: A Directory content: application/json: schema: $ref: '#/components/schemas/KongDirectory' securitySchemes: personalAccessToken: type: http scheme: bearer bearerFormat: Token description: | The personal access token is meant to be used as an alternative to basic-auth when accessing Konnect via APIs. You can generate a Personal Access Token (PAT) from the [personal access token page](https://cloud.konghq.com/global/account/tokens/) in the Konnect dashboard. The PAT token must be passed in the header of a request, for example: `curl -X GET 'https://global.api.konghq.com/v2/users/' --header 'Authorization: Bearer kpat_xgfT...'` systemAccountAccessToken: type: http scheme: bearer bearerFormat: Token description: | The system account access token is meant for automations and integrations that are not directly associated with a human identity. You can generate a system account Access Token by creating a system account and then obtaining a system account access token for that account. The access token must be passed in the header of a request, for example: `curl -X GET 'https://global.api.konghq.com/v2/users/' --header 'Authorization: Bearer spat_i2Ej...'` konnectAccessToken: type: http scheme: bearer bearerFormat: JWT description: | The Konnect access token is meant to be used by the Konnect dashboard and the decK CLI authenticate with. tags: - name: Portals description: APIs related to configuration of Konnect Developer Portals. - name: Portal Custom Domains description: APIs related to configuration of Konnect Developer Portals custom domains. - name: Portal Customization description: APIs related to customization of Konnect Developer Portals. - name: Portal Auth Settings description: APIs related to configuration of Konnect Developer Portal auth settings. - name: Portal Teams description: APIs related to configuration of Konnect Developer Portal developer teams. - name: Assets description: APIs for managing static assets for Konnect Developer Portals. - name: Pages description: APIs related to Konnect Developer Portal Custom Pages. - name: Snippets description: APIs related to Konnect Developer Portal Custom Snippets. - name: Portals IP Allow List description: APIs related to Konnect Portal IP Allow List. - name: API - name: API Documentation - name: API Specification - name: API Publication - name: API Implementation - name: Mesh - name: Auth Server description: 'Auth Servers expose an OAuth 2.0 and OpenID Connect server interface for generating access tokens. The management API will give you the ability to create, configure and manage multiple Auth Servers per Konnect organization. Auth Servers are a regional Konnect entity.' - name: Auth Server Clients description: 'Clients represent the identity of machines, such as microservices, mobile apps, or scripts entity. The management API will give you the ability to create, configure and manage multiple Clients per Auth Server.' - name: Auth Server Claims description: 'Claims are statements about the Client, included in tokens issued by the Auth Server. The management API will give you the ability to create, configure and manage multiple Claims per Auth Server, and include them in tokens based on the requested Scopes.' - name: Auth Server Scopes description: 'Scopes define the extent of access that an access token grants to a Client. The management API will give you the ability to create, configure and manage multiple Scopes per Auth Server, and restrict their usage by Client.' - name: Dashboards - name: Event Gateways description: | Create an Event Gateway Control Plane, used to store Event Gateway configuration - name: Event Gateway Backend Clusters description: | A backend cluster is an abstraction of a real Kafka cluster. It stores the connection and configuration details required for Kong Event Gateway to proxy traffic to Kafka. Multiple Kafka clusters can be proxied through a single Kong Event Gateway. - name: Event Gateway Virtual Clusters description: | Virtual clusters are the primary way clients interact with the Event Gateway proxy. They allow you to isolate clients from each other when connecting to the same backend cluster, and provide each client with modified view while still appearing as a standard Kafka cluster. - name: Event Gateway Listeners description: | A listener represents hostname-port or IP-port combinations that connect to TCP sockets. Listeners need at least as many ports as backend brokers if you use port mapping in a Forward to Virtual Cluster policy. For SNI routing, you can route all brokers using a listener with only one port. Ports can be expressed as a single port or range. Addresses can be IPv4, IPv6, or hostnames. A listener can have policies that enforce TLS certificates and perform SNI routing. The listener runs at Layer 4 of the network stack. In Kong Event Gateway, listeners first take in the connection and then route the TCP connection to a virtual cluster based on conditions defined in listener policies. - name: Event Gateway Listener Policies description: | Policies control how Kafka protocol traffic is modified between the client and the backend cluster. Listener policies are routing policies that pass traffic to the virtual cluster. - name: Event Gateway Virtual Cluster Policies description: | Policies control how Kafka protocol traffic is modified between the client and the backend cluster. Cluster policies are transformation and validation policies that can be applied to Kafka messages. - name: Event Gateway Virtual Cluster Produce Policies description: | Produce policies operate on Kafka messages before they are written to the Kafka cluster. Where possible, apply transformations to the data using produce policies rather than consume policies for maximum efficiency. - name: Event Gateway Virtual Cluster Consume Policies description: | Consume policies operate on Kafka messages as they are read from a Kafka cluster. Transformations may be applied at consume time, but they are applied once per Consumer. Where possible, transofmrations should be applied as a Produce policy - name: Event Gateway DataPlane Certificates description: | DataPlane certificates control how your running Event Gateway instances connect to the Control Plane - name: Event Gateway Static Keys description: | Static Keys are used by the Encrypt and Decrypt policies to encrypt data at rest - name: Event Gateway Schema Registries description: | Configure a schema registry that can be used to validate payloads when producing/consuming messages - name: Event Gateway TLS Trust Bundles description: | A TLS trust bundle defines a set of trusted certificate authorities (CAs) used for client certificate verification during mutual TLS (mTLS). Trust bundles are referenced by TLS listener policies to determine which client certificates are accepted. - name: Event Gateway Vaults - name: Add-Ons - name: Kong Identity Directories description: | Use a directory to group consumers around an identity, defined by organizational boundaries, such as a production directory or a development directory. Directories are connected to a [geographic region](https://docs.konghq.com/konnect/geo/) in Konnect. Centrally managed consumers defined in directories can be used across multiple control planes. security: - personalAccessToken: [] - systemAccountAccessToken: [] - konnectAccessToken: [] x-speakeasy-retries: strategy: backoff backoff: initialInterval: 500 maxInterval: 60000 maxElapsedTime: 3600000 exponent: 1.5 statusCodes: - 429 retryConnectionErrors: true