Tetrate Service Bridge API (1.11.x)
Download OpenAPI specification:Download
Tetrate Service Bridge API.
Callback endpoint for OAuth2 Authorization Code grant flows as part of the OIDC spec.
query Parameters
code | string OAuth2 Authorization Code. When present this indicates the user authorized the request. TSB will use this code to acquire a token from the OIDC token endpoint and complete the login flow. |
error | string OAuth2 Error Code. When present this indicates that either the authorization request has an error, the OIDC provider encountered an error or the user failed to log in. When set TSB will display information to the user indicating what went wrong. Standard error codes can be found found here. https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.2.1 https://openid.net/specs/openid-connect-core-1_0.html#AuthError |
state required | string The state parameter sent to the OIDC provider on the authorization request. |
errorDescription | string Optional error description sent by the OIDC provider when an error occurs. |
errorUri | string Optional error URI of a web page that includes additional information about the error. |
Responses
Response samples
- 200
- default
{ }
List all existing applications for the given tenant.
path Parameters
organization required | string Organization name. |
tenant required | string Tenant name. |
Responses
Response samples
- 200
- default
{- "applications": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workspace": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}, - "gatewayGroup": "string",
- "services": [
- "string"
], - "configResources": [
- {
- "fqn": "string",
- "expectedEtag": "string",
- "exclusivelyOwned": true
}
]
}
]
}
Creates a new Application in TSB.
path Parameters
organization required | string Organization name. |
tenant required | string Tenant name. |
Request Body schema: application/jsonrequired
required | object (v2Application) An Application represents a set of logical groupings of services that are related to each other and expose a set of APIs that implement a complete set of business logic. |
name required | string The short name for the resource to be created. |
Responses
Request samples
- Payload
{- "application": {
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workspace": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}, - "gatewayGroup": "string",
- "services": [
- "string"
]
}, - "name": "string"
}
Response samples
- 200
- default
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workspace": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}, - "gatewayGroup": "string",
- "services": [
- "string"
], - "configResources": [
- {
- "fqn": "string",
- "expectedEtag": "string",
- "exclusivelyOwned": true
}
]
}
Get the details of an existing application.
path Parameters
organization required | string Organization name. |
tenant required | string Tenant name. |
application required | string Application name. |
Responses
Response samples
- 200
- default
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workspace": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}, - "gatewayGroup": "string",
- "services": [
- "string"
], - "configResources": [
- {
- "fqn": "string",
- "expectedEtag": "string",
- "exclusivelyOwned": true
}
]
}
Modify an existing application.
path Parameters
organization required | string Organization name. |
tenant required | string Tenant name. |
application required | string Application name. |
Request Body schema: application/jsonrequired
description | string (A description of the resource.
$hide_from_yaml) |
displayName | string (User friendly name for the resource.
$hide_from_yaml) |
etag | string (The etag for the resource. This field is automatically computed and must be sent
on every update to the resource to prevent concurrent modifications.
$hide_from_yaml) |
gatewayGroup | string Optional FQN of the Gateway Group to be used by the application.
If configured, this gateway group will be used by the application. If
no namespaces are configured and no existing gateway group is set, a new gateway group claiming all
namespaces in the workspace ( |
object (`NamespaceSelector` selects a set of namespaces across one or more
clusters in a tenant. Namespace selectors can be used at Workspace
level to carve out a chunk of resources under a tenant into an
isolated configuration domain. They can be used in a Traffic,
Security, or a Gateway group to further scope the set of namespaces
that will belong to a specific configuration group.
Names in namespaces selector must be in the form `cluster/namespace`
where:
- cluster must be a cluster name or an `*` to mean all clusters
- namespace must be a namespace name, an `*` to mean all namespaces
or a prefix like `ns-*` to mean all those namespaces starting
by `ns-`) | |
services | Array of strings Optional list of services that are part of the application. This is a list of FQNs of services in the service registry. If omitted, the application is assumed to own all the services in the workspace. Note that a service can only be part of one application. If any of the services in the list is already in use by an existing application, application creation/modification will fail. If the list of services is not explicitly set and any service in the workspace is already in use by another application, application creation/modification will fail. |
workspace required | string FQN of the workspace this application is part of. The application will configure IngressGateways for the attached APIs in the different namespaces exposed by this workspace. |
Responses
Request samples
- Payload
{- "description": "string",
- "displayName": "string",
- "etag": "string",
- "gatewayGroup": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}, - "services": [
- "string"
], - "workspace": "string"
}
Response samples
- 200
- default
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "workspace": "string",
- "namespaceSelector": {
- "names": [
- "string"
]
}, - "gatewayGroup": "string",
- "services": [
- "string"
], - "configResources": [
- {
- "fqn": "string",
- "expectedEtag": "string",
- "exclusivelyOwned": true
}
]
}
Delete an existing Application. Note that deleting resources in TSB is a recursive operation. Deleting a application will delete all API objects that exist in it.
path Parameters
organization required | string Organization name. |
tenant required | string Tenant name. |
application required | string Application name. |
query Parameters
forceDeleteProtectedGroups | boolean Force the deletion of internal groups even if they are protected against deletion. |
Responses
Response samples
- 200
- default
{ }
List all APIs attached to the given application.
path Parameters
organization required | string Organization name. |
tenant required | string Tenant name. |
application required | string Application name. |
Responses
Response samples
- 200
- default
{- "apis": [
- {
- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "openapi": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "servers": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "tls": {
- "mode": "DISABLED",
- "secretName": "string",
- "files": {
- "serverCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "minProtocolVersion": "TLS_AUTO",
- "maxProtocolVersion": "TLS_AUTO",
- "cipherSuites": [
- "string"
], - "subjectAltNames": [
- "string"
]
}, - "xxxOldAuthentication": {
- "jwt": {
- "issuer": "string",
- "audiences": [
- "string"
], - "jwksUri": "string",
- "jwks": "string"
}
}, - "authentication": {
- "jwt": {
- "issuer": "string",
- "audiences": [
- "string"
], - "jwksUri": "string",
- "jwks": "string",
- "outputPayloadToHeader": "string",
- "outputClaimToHeaders": [
- {
- "header": "string",
- "claim": "string"
}
], - "fromHeaders": [
- {
- "name": "string",
- "prefix": "string"
}
], - "fromCookies": [
- "string"
]
}, - "rules": {
- "jwt": [
- {
- "issuer": "string",
- "audiences": [
- null
], - "jwksUri": "string",
- "jwks": "string",
- "outputPayloadToHeader": "string",
- "outputClaimToHeaders": [
- null
], - "fromHeaders": [
- null
], - "fromCookies": [
- null
]
}
]
}, - "oidc": {
- "grantType": "DEFAULT_GRANT_TYPE",
- "clientId": "string",
- "clientTokenSecret": "string",
- "redirectUri": "string",
- "provider": {
- "issuer": "string",
- "authorizationEndpoint": "string",
- "tokenEndpoint": "string",
- "jwksUri": "string",
- "jwks": "string",
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": null,
- "privateKey": null,
- "caCertificates": null
}, - "secretName": "string",
- "subjectAltNames": [
- null
]
}
}, - "authType": "DEFAULT_AUTH_TYPE",
- "authScopes": [
- "string"
], - "redirectPathMatcher": "string",
- "signoutPath": "string",
- "useRefreshToken": true
}
}, - "xxxOldAuthorization": {
- "external": {
- "uri": "string",
- "includeRequestHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- null
], - "to": [
- null
]
}
]
}
}, - "authorization": {
- "external": {
- "uri": "string",
- "includeRequestHeaders": [
- "string"
], - "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- null
], - "to": [
- null
]
}
]
}
}, - "routing": {
- "corsPolicy": {
- "allowOrigin": [
- "string"
], - "allowMethods": [
- "string"
], - "allowHeaders": [
- "string"
], - "exposeHeaders": [
- "string"
], - "maxAge": "string",
- "allowCredentials": true
}, - "rules": [
- {
- "match": [
- {
- "uri": null,
- "headers": { }
}
], - "modify": {
- "rewrite": {
- "uri": null,
- "authority": null
}, - "headers": {
- "request": null,
- "response": null
}
}, - "route": {
- "host": "string",
- "port": 0
}, - "redirect": {
- "uri": "string",
- "authority": "string",
- "redirectCode": 0,
- "port": 0,
- "scheme": "string"
}, - "directResponse": {
- "status": 0,
- "body": {
- "string": null,
- "bytes": null
}
}
}
]
}, - "rateLimiting": {
- "settings": {
- "rules": [
- {
- "dimensions": [
- null
], - "limit": {
- "requestsPerUnit": null,
- "unit": null
}
}
], - "failClosed": true,
- "timeout": "string"
}, - "externalService": {
- "domain": "string",
- "failClosed": true,
- "rateLimitServerUri": "string",
- "rules": [
- {
- "dimensions": [
- null
]
}
], - "timeout": "string",
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}
}
}
], - "endpoints": [
- {
- "path": "string",
- "methods": [
- "string"
], - "hostnames": [
- "string"
], - "service": "string",
- "exposedBy": {
- "service": "string",
- "clusterGroup": {
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": null,
- "property2": null
}, - "weight": 0
}
]
}
}
}
], - "configResources": [
- {
- "fqn": "string",
- "expectedEtag": "string",
- "exclusivelyOwned": true
}
], - "httpServers": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "tls": {
- "mode": "DISABLED",
- "secretName": "string",
- "files": {
- "serverCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "minProtocolVersion": "TLS_AUTO",
- "maxProtocolVersion": "TLS_AUTO",
- "cipherSuites": [
- "string"
], - "subjectAltNames": [
- "string"
]
}, - "authentication": {
- "jwt": {
- "issuer": "string",
- "audiences": [
- "string"
], - "jwksUri": "string",
- "jwks": "string",
- "outputPayloadToHeader": "string",
- "outputClaimToHeaders": [
- {
- "header": "string",
- "claim": "string"
}
], - "fromHeaders": [
- {
- "name": "string",
- "prefix": "string"
}
], - "fromCookies": [
- "string"
]
}, - "rules": {
- "jwt": [
- {
- "issuer": "string",
- "audiences": [
- null
], - "jwksUri": "string",
- "jwks": "string",
- "outputPayloadToHeader": "string",
- "outputClaimToHeaders": [
- null
], - "fromHeaders": [
- null
], - "fromCookies": [
- null
]
}
]
}, - "oidc": {
- "grantType": "DEFAULT_GRANT_TYPE",
- "clientId": "string",
- "clientTokenSecret": "string",
- "redirectUri": "string",
- "provider": {
- "issuer": "string",
- "authorizationEndpoint": "string",
- "tokenEndpoint": "string",
- "jwksUri": "string",
- "jwks": "string",
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": null,
- "privateKey": null,
- "caCertificates": null
}, - "secretName": "string",
- "subjectAltNames": [
- null
]
}
}, - "authType": "DEFAULT_AUTH_TYPE",
- "authScopes": [
- "string"
], - "redirectPathMatcher": "string",
- "signoutPath": "string",
- "useRefreshToken": true
}
}, - "authorization": {
- "external": {
- "uri": "string",
- "includeRequestHeaders": [
- "string"
], - "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- null
], - "to": [
- null
]
}
]
}
}, - "routing": {
- "corsPolicy": {
- "allowOrigin": [
- "string"
], - "allowMethods": [
- "string"
], - "allowHeaders": [
- "string"
], - "exposeHeaders": [
- "string"
], - "maxAge": "string",
- "allowCredentials": true
}, - "rules": [
- {
- "match": [
- {
- "uri": null,
- "headers": { }
}
], - "modify": {
- "rewrite": {
- "uri": null,
- "authority": null
}, - "headers": {
- "request": null,
- "response": null
}
}, - "route": {
- "clusterDestination": {
- "clusters": [ ]
}, - "serviceDestination": {
- "host": null,
- "port": null,
- "tls": null
}
}, - "redirect": {
- "uri": "string",
- "authority": "string",
- "redirectCode": 0,
- "port": 0,
- "scheme": "string"
}, - "directResponse": {
- "status": 0,
- "body": {
- "string": null,
- "bytes": null
}
}, - "disableExternalAuthorization": true,
- "extensions": {
- "kong": {
- "plugins": [ ]
}
}
}
]
}, - "rateLimiting": {
- "settings": {
- "rules": [
- {
- "dimensions": [
- null
], - "limit": {
- "requestsPerUnit": null,
- "unit": null
}
}
], - "failClosed": true,
- "timeout": "string"
}, - "externalService": {
- "domain": "string",
- "failClosed": true,
- "rateLimitServerUri": "string",
- "rules": [
- {
- "dimensions": [
- null
]
}
], - "timeout": "string",
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}
}, - "transit": true,
- "trafficMode": "AUTO",
- "failoverSettings": {
- "topologyChoice": "NONE",
- "failoverPriority": [
- "string"
], - "regionalFailover": [
- {
- "from": "string",
- "to": "string"
}
]
}, - "openapi": {
- "fqn": "string",
- "validation": {
- "enabled": true,
- "allowUndefined": true,
- "pathPrefix": "string"
}
}, - "extensions": {
- "kong": {
- "plugins": [
- {
- "name": "string",
- "priority": 0,
- "config": {
- "inline": { },
- "secret": null
}, - "pluginSource": {
- "configMap": null
}
}
]
}
}
}
]
}
]
}
Attach a new API to the given application.
path Parameters
organization required | string Organization name. |
tenant required | string Tenant name. |
application required | string Application name. |
Request Body schema: application/jsonrequired
required | object (tsbapplicationv2API) An API configuring a set of servers and endpoints that expose the Application business logic. |
name required | string The short name for the resource to be created. |
Responses
Request samples
- Payload
{- "api": {
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "openapi": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}
}, - "name": "string"
}
Response samples
- 200
- default
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "openapi": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "servers": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "tls": {
- "mode": "DISABLED",
- "secretName": "string",
- "files": {
- "serverCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "minProtocolVersion": "TLS_AUTO",
- "maxProtocolVersion": "TLS_AUTO",
- "cipherSuites": [
- "string"
], - "subjectAltNames": [
- "string"
]
}, - "xxxOldAuthentication": {
- "jwt": {
- "issuer": "string",
- "audiences": [
- "string"
], - "jwksUri": "string",
- "jwks": "string"
}
}, - "authentication": {
- "jwt": {
- "issuer": "string",
- "audiences": [
- "string"
], - "jwksUri": "string",
- "jwks": "string",
- "outputPayloadToHeader": "string",
- "outputClaimToHeaders": [
- {
- "header": "string",
- "claim": "string"
}
], - "fromHeaders": [
- {
- "name": "string",
- "prefix": "string"
}
], - "fromCookies": [
- "string"
]
}, - "rules": {
- "jwt": [
- {
- "issuer": "string",
- "audiences": [
- "string"
], - "jwksUri": "string",
- "jwks": "string",
- "outputPayloadToHeader": "string",
- "outputClaimToHeaders": [
- {
- "header": "string",
- "claim": "string"
}
], - "fromHeaders": [
- {
- "name": "string",
- "prefix": "string"
}
], - "fromCookies": [
- "string"
]
}
]
}, - "oidc": {
- "grantType": "DEFAULT_GRANT_TYPE",
- "clientId": "string",
- "clientTokenSecret": "string",
- "redirectUri": "string",
- "provider": {
- "issuer": "string",
- "authorizationEndpoint": "string",
- "tokenEndpoint": "string",
- "jwksUri": "string",
- "jwks": "string",
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}, - "authType": "DEFAULT_AUTH_TYPE",
- "authScopes": [
- "string"
], - "redirectPathMatcher": "string",
- "signoutPath": "string",
- "useRefreshToken": true
}
}, - "xxxOldAuthorization": {
- "external": {
- "uri": "string",
- "includeRequestHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- {
- "jwt": {
- "iss": null,
- "sub": null,
- "other": { }
}
}
], - "to": [
- {
- "paths": [
- null
], - "methods": [
- null
]
}
]
}
]
}
}, - "authorization": {
- "external": {
- "uri": "string",
- "includeRequestHeaders": [
- "string"
], - "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- {
- "jwt": {
- "iss": null,
- "sub": null,
- "other": { }
}
}
], - "to": [
- {
- "paths": [
- null
], - "methods": [
- null
]
}
]
}
]
}
}, - "routing": {
- "corsPolicy": {
- "allowOrigin": [
- "string"
], - "allowMethods": [
- "string"
], - "allowHeaders": [
- "string"
], - "exposeHeaders": [
- "string"
], - "maxAge": "string",
- "allowCredentials": true
}, - "rules": [
- {
- "match": [
- {
- "uri": {
- "exact": "string",
- "prefix": "string",
- "regex": "string"
}, - "headers": {
- "property1": {
- "exact": null,
- "prefix": null,
- "regex": null
}, - "property2": {
- "exact": null,
- "prefix": null,
- "regex": null
}
}
}
], - "modify": {
- "rewrite": {
- "uri": "string",
- "authority": "string"
}, - "headers": {
- "request": {
- "set": {
- "property1": null,
- "property2": null
}, - "add": {
- "property1": null,
- "property2": null
}, - "remove": [
- null
]
}, - "response": {
- "set": {
- "property1": null,
- "property2": null
}, - "add": {
- "property1": null,
- "property2": null
}, - "remove": [
- null
]
}
}
}, - "route": {
- "host": "string",
- "port": 0
}, - "redirect": {
- "uri": "string",
- "authority": "string",
- "redirectCode": 0,
- "port": 0,
- "scheme": "string"
}, - "directResponse": {
- "status": 0,
- "body": {
- "string": "string",
- "bytes": "string"
}
}
}
]
}, - "rateLimiting": {
- "settings": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": {
- "value": null
}, - "header": {
- "name": null,
- "value": null,
- "dontMatch": null
}
}
], - "limit": {
- "requestsPerUnit": 0,
- "unit": "UNKNOWN"
}
}
], - "failClosed": true,
- "timeout": "string"
}, - "externalService": {
- "domain": "string",
- "failClosed": true,
- "rateLimitServerUri": "string",
- "rules": [
- {
- "dimensions": [
- {
- "sourceCluster": { },
- "destinationCluster": { },
- "remoteAddress": { },
- "requestHeaders": {
- "headerName": null,
- "descriptorKey": null
}, - "headerValueMatch": {
- "headers": { },
- "descriptorValue": null,
- "dontMatch": null
}
}
]
}
], - "timeout": "string",
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}
}
}
], - "endpoints": [
- {
- "path": "string",
- "methods": [
- "string"
], - "hostnames": [
- "string"
], - "service": "string",
- "exposedBy": {
- "service": "string",
- "clusterGroup": {
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "weight": 0
}
]
}
}
}
], - "configResources": [
- {
- "fqn": "string",
- "expectedEtag": "string",
- "exclusivelyOwned": true
}
], - "httpServers": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "tls": {
- "mode": "DISABLED",
- "secretName": "string",
- "files": {
- "serverCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "minProtocolVersion": "TLS_AUTO",
- "maxProtocolVersion": "TLS_AUTO",
- "cipherSuites": [
- "string"
], - "subjectAltNames": [
- "string"
]
}, - "authentication": {
- "jwt": {
- "issuer": "string",
- "audiences": [
- "string"
], - "jwksUri": "string",
- "jwks": "string",
- "outputPayloadToHeader": "string",
- "outputClaimToHeaders": [
- {
- "header": "string",
- "claim": "string"
}
], - "fromHeaders": [
- {
- "name": "string",
- "prefix": "string"
}
], - "fromCookies": [
- "string"
]
}, - "rules": {
- "jwt": [
- {
- "issuer": "string",
- "audiences": [
- "string"
], - "jwksUri": "string",
- "jwks": "string",
- "outputPayloadToHeader": "string",
- "outputClaimToHeaders": [
- {
- "header": "string",
- "claim": "string"
}
], - "fromHeaders": [
- {
- "name": "string",
- "prefix": "string"
}
], - "fromCookies": [
- "string"
]
}
]
}, - "oidc": {
- "grantType": "DEFAULT_GRANT_TYPE",
- "clientId": "string",
- "clientTokenSecret": "string",
- "redirectUri": "string",
- "provider": {
- "issuer": "string",
- "authorizationEndpoint": "string",
- "tokenEndpoint": "string",
- "jwksUri": "string",
- "jwks": "string",
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}, - "authType": "DEFAULT_AUTH_TYPE",
- "authScopes": [
- "string"
], - "redirectPathMatcher": "string",
- "signoutPath": "string",
- "useRefreshToken": true
}
}, - "authorization": {
- "external": {
- "uri": "string",
- "includeRequestHeaders": [
- "string"
], - "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- {
- "jwt": {
- "iss": null,
- "sub": null,
- "other": { }
}
}
], - "to": [
- {
- "paths": [
- null
], - "methods": [
- null
]
}
]
}
]
}
}, - "routing": {
- "corsPolicy": {
- "allowOrigin": [
- "string"
], - "allowMethods": [
- "string"
], - "allowHeaders": [
- "string"
], - "exposeHeaders": [
- "string"
], - "maxAge": "string",
- "allowCredentials": true
}, - "rules": [
- {
- "match": [
- {
- "uri": {
- "exact": "string",
- "prefix": "string",
- "regex": "string"
}, - "headers": {
- "property1": {
- "exact": null,
- "prefix": null,
- "regex": null
}, - "property2": {
- "exact": null,
- "prefix": null,
- "regex": null
}
}
}
], - "modify": {
- "rewrite": {
- "uri": "string",
- "authority": "string"
}, - "headers": {
- "request": {
- "set": {
- "property1": null,
- "property2": null
}, - "add": {
- "property1": null,
- "property2": null
}, - "remove": [
- null
]
}, - "response": {
- "set": {
- "property1": null,
- "property2": null
}, - "add": {
- "property1": null,
- "property2": null
}, - "remove": [
- null
]
}
}
}, - "route": {
- "clusterDestination": {
- "clusters": [
- {
- "name": null,
- "labels": { },
- "network": null,
- "weight": null
}
]
}, - "serviceDestination": {
- "host": "string",
- "port": 0,
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": null,
- "privateKey": null,
- "caCertificates": null
}, - "secretName": "string",
- "subjectAltNames": [
- null
]
}
}
}, - "redirect": {
- "uri": "string",
- "authority": "string",
- "redirectCode": 0,
- "port": 0,
- "scheme": "string"
}, - "directResponse": {
- "status": 0,
- "body": {
- "string": "string",
- "bytes": "string"
}
}, - "disableExternalAuthorization": true,
- "extensions": {
- "kong": {
- "plugins": [
- {
- "name": null,
- "priority": null,
- "config": null,
- "pluginSource": null
}
]
}
}
}
]
}, - "rateLimiting": {
- "settings": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": {
- "value": null
}, - "header": {
- "name": null,
- "value": null,
- "dontMatch": null
}
}
], - "limit": {
- "requestsPerUnit": 0,
- "unit": "UNKNOWN"
}
}
], - "failClosed": true,
- "timeout": "string"
}, - "externalService": {
- "domain": "string",
- "failClosed": true,
- "rateLimitServerUri": "string",
- "rules": [
- {
- "dimensions": [
- {
- "sourceCluster": { },
- "destinationCluster": { },
- "remoteAddress": { },
- "requestHeaders": {
- "headerName": null,
- "descriptorKey": null
}, - "headerValueMatch": {
- "headers": { },
- "descriptorValue": null,
- "dontMatch": null
}
}
]
}
], - "timeout": "string",
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}
}, - "transit": true,
- "trafficMode": "AUTO",
- "failoverSettings": {
- "topologyChoice": "NONE",
- "failoverPriority": [
- "string"
], - "regionalFailover": [
- {
- "from": "string",
- "to": "string"
}
]
}, - "openapi": {
- "fqn": "string",
- "validation": {
- "enabled": true,
- "allowUndefined": true,
- "pathPrefix": "string"
}
}, - "extensions": {
- "kong": {
- "plugins": [
- {
- "name": "string",
- "priority": 0,
- "config": {
- "inline": { },
- "secret": "string"
}, - "pluginSource": {
- "configMap": "string"
}
}
]
}
}
}
]
}
Get the details of an API.
path Parameters
organization required | string Organization name. |
tenant required | string Tenant name. |
application required | string Application name. |
api required | string Api name. |
Responses
Response samples
- 200
- default
{- "fqn": "string",
- "displayName": "string",
- "etag": "string",
- "description": "string",
- "openapi": "string",
- "workloadSelector": {
- "namespace": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}
}, - "servers": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "tls": {
- "mode": "DISABLED",
- "secretName": "string",
- "files": {
- "serverCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "minProtocolVersion": "TLS_AUTO",
- "maxProtocolVersion": "TLS_AUTO",
- "cipherSuites": [
- "string"
], - "subjectAltNames": [
- "string"
]
}, - "xxxOldAuthentication": {
- "jwt": {
- "issuer": "string",
- "audiences": [
- "string"
], - "jwksUri": "string",
- "jwks": "string"
}
}, - "authentication": {
- "jwt": {
- "issuer": "string",
- "audiences": [
- "string"
], - "jwksUri": "string",
- "jwks": "string",
- "outputPayloadToHeader": "string",
- "outputClaimToHeaders": [
- {
- "header": "string",
- "claim": "string"
}
], - "fromHeaders": [
- {
- "name": "string",
- "prefix": "string"
}
], - "fromCookies": [
- "string"
]
}, - "rules": {
- "jwt": [
- {
- "issuer": "string",
- "audiences": [
- "string"
], - "jwksUri": "string",
- "jwks": "string",
- "outputPayloadToHeader": "string",
- "outputClaimToHeaders": [
- {
- "header": "string",
- "claim": "string"
}
], - "fromHeaders": [
- {
- "name": "string",
- "prefix": "string"
}
], - "fromCookies": [
- "string"
]
}
]
}, - "oidc": {
- "grantType": "DEFAULT_GRANT_TYPE",
- "clientId": "string",
- "clientTokenSecret": "string",
- "redirectUri": "string",
- "provider": {
- "issuer": "string",
- "authorizationEndpoint": "string",
- "tokenEndpoint": "string",
- "jwksUri": "string",
- "jwks": "string",
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}, - "authType": "DEFAULT_AUTH_TYPE",
- "authScopes": [
- "string"
], - "redirectPathMatcher": "string",
- "signoutPath": "string",
- "useRefreshToken": true
}
}, - "xxxOldAuthorization": {
- "external": {
- "uri": "string",
- "includeRequestHeaders": [
- "string"
]
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- {
- "jwt": {
- "iss": null,
- "sub": null,
- "other": { }
}
}
], - "to": [
- {
- "paths": [
- null
], - "methods": [
- null
]
}
]
}
]
}
}, - "authorization": {
- "external": {
- "uri": "string",
- "includeRequestHeaders": [
- "string"
], - "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- {
- "jwt": {
- "iss": null,
- "sub": null,
- "other": { }
}
}
], - "to": [
- {
- "paths": [
- null
], - "methods": [
- null
]
}
]
}
]
}
}, - "routing": {
- "corsPolicy": {
- "allowOrigin": [
- "string"
], - "allowMethods": [
- "string"
], - "allowHeaders": [
- "string"
], - "exposeHeaders": [
- "string"
], - "maxAge": "string",
- "allowCredentials": true
}, - "rules": [
- {
- "match": [
- {
- "uri": {
- "exact": "string",
- "prefix": "string",
- "regex": "string"
}, - "headers": {
- "property1": {
- "exact": null,
- "prefix": null,
- "regex": null
}, - "property2": {
- "exact": null,
- "prefix": null,
- "regex": null
}
}
}
], - "modify": {
- "rewrite": {
- "uri": "string",
- "authority": "string"
}, - "headers": {
- "request": {
- "set": {
- "property1": null,
- "property2": null
}, - "add": {
- "property1": null,
- "property2": null
}, - "remove": [
- null
]
}, - "response": {
- "set": {
- "property1": null,
- "property2": null
}, - "add": {
- "property1": null,
- "property2": null
}, - "remove": [
- null
]
}
}
}, - "route": {
- "host": "string",
- "port": 0
}, - "redirect": {
- "uri": "string",
- "authority": "string",
- "redirectCode": 0,
- "port": 0,
- "scheme": "string"
}, - "directResponse": {
- "status": 0,
- "body": {
- "string": "string",
- "bytes": "string"
}
}
}
]
}, - "rateLimiting": {
- "settings": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": {
- "value": null
}, - "header": {
- "name": null,
- "value": null,
- "dontMatch": null
}
}
], - "limit": {
- "requestsPerUnit": 0,
- "unit": "UNKNOWN"
}
}
], - "failClosed": true,
- "timeout": "string"
}, - "externalService": {
- "domain": "string",
- "failClosed": true,
- "rateLimitServerUri": "string",
- "rules": [
- {
- "dimensions": [
- {
- "sourceCluster": { },
- "destinationCluster": { },
- "remoteAddress": { },
- "requestHeaders": {
- "headerName": null,
- "descriptorKey": null
}, - "headerValueMatch": {
- "headers": { },
- "descriptorValue": null,
- "dontMatch": null
}
}
]
}
], - "timeout": "string",
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}
}
}
], - "endpoints": [
- {
- "path": "string",
- "methods": [
- "string"
], - "hostnames": [
- "string"
], - "service": "string",
- "exposedBy": {
- "service": "string",
- "clusterGroup": {
- "clusters": [
- {
- "name": "string",
- "labels": {
- "property1": "string",
- "property2": "string"
}, - "weight": 0
}
]
}
}
}
], - "configResources": [
- {
- "fqn": "string",
- "expectedEtag": "string",
- "exclusivelyOwned": true
}
], - "httpServers": [
- {
- "name": "string",
- "port": 0,
- "hostname": "string",
- "tls": {
- "mode": "DISABLED",
- "secretName": "string",
- "files": {
- "serverCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "minProtocolVersion": "TLS_AUTO",
- "maxProtocolVersion": "TLS_AUTO",
- "cipherSuites": [
- "string"
], - "subjectAltNames": [
- "string"
]
}, - "authentication": {
- "jwt": {
- "issuer": "string",
- "audiences": [
- "string"
], - "jwksUri": "string",
- "jwks": "string",
- "outputPayloadToHeader": "string",
- "outputClaimToHeaders": [
- {
- "header": "string",
- "claim": "string"
}
], - "fromHeaders": [
- {
- "name": "string",
- "prefix": "string"
}
], - "fromCookies": [
- "string"
]
}, - "rules": {
- "jwt": [
- {
- "issuer": "string",
- "audiences": [
- "string"
], - "jwksUri": "string",
- "jwks": "string",
- "outputPayloadToHeader": "string",
- "outputClaimToHeaders": [
- {
- "header": "string",
- "claim": "string"
}
], - "fromHeaders": [
- {
- "name": "string",
- "prefix": "string"
}
], - "fromCookies": [
- "string"
]
}
]
}, - "oidc": {
- "grantType": "DEFAULT_GRANT_TYPE",
- "clientId": "string",
- "clientTokenSecret": "string",
- "redirectUri": "string",
- "provider": {
- "issuer": "string",
- "authorizationEndpoint": "string",
- "tokenEndpoint": "string",
- "jwksUri": "string",
- "jwks": "string",
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}, - "authType": "DEFAULT_AUTH_TYPE",
- "authScopes": [
- "string"
], - "redirectPathMatcher": "string",
- "signoutPath": "string",
- "useRefreshToken": true
}
}, - "authorization": {
- "external": {
- "uri": "string",
- "includeRequestHeaders": [
- "string"
], - "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}, - "local": {
- "rules": [
- {
- "name": "string",
- "from": [
- {
- "jwt": {
- "iss": null,
- "sub": null,
- "other": { }
}
}
], - "to": [
- {
- "paths": [
- null
], - "methods": [
- null
]
}
]
}
]
}
}, - "routing": {
- "corsPolicy": {
- "allowOrigin": [
- "string"
], - "allowMethods": [
- "string"
], - "allowHeaders": [
- "string"
], - "exposeHeaders": [
- "string"
], - "maxAge": "string",
- "allowCredentials": true
}, - "rules": [
- {
- "match": [
- {
- "uri": {
- "exact": "string",
- "prefix": "string",
- "regex": "string"
}, - "headers": {
- "property1": {
- "exact": null,
- "prefix": null,
- "regex": null
}, - "property2": {
- "exact": null,
- "prefix": null,
- "regex": null
}
}
}
], - "modify": {
- "rewrite": {
- "uri": "string",
- "authority": "string"
}, - "headers": {
- "request": {
- "set": {
- "property1": null,
- "property2": null
}, - "add": {
- "property1": null,
- "property2": null
}, - "remove": [
- null
]
}, - "response": {
- "set": {
- "property1": null,
- "property2": null
}, - "add": {
- "property1": null,
- "property2": null
}, - "remove": [
- null
]
}
}
}, - "route": {
- "clusterDestination": {
- "clusters": [
- {
- "name": null,
- "labels": { },
- "network": null,
- "weight": null
}
]
}, - "serviceDestination": {
- "host": "string",
- "port": 0,
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": null,
- "privateKey": null,
- "caCertificates": null
}, - "secretName": "string",
- "subjectAltNames": [
- null
]
}
}
}, - "redirect": {
- "uri": "string",
- "authority": "string",
- "redirectCode": 0,
- "port": 0,
- "scheme": "string"
}, - "directResponse": {
- "status": 0,
- "body": {
- "string": "string",
- "bytes": "string"
}
}, - "disableExternalAuthorization": true,
- "extensions": {
- "kong": {
- "plugins": [
- {
- "name": null,
- "priority": null,
- "config": null,
- "pluginSource": null
}
]
}
}
}
]
}, - "rateLimiting": {
- "settings": {
- "rules": [
- {
- "dimensions": [
- {
- "remoteAddress": {
- "value": null
}, - "header": {
- "name": null,
- "value": null,
- "dontMatch": null
}
}
], - "limit": {
- "requestsPerUnit": 0,
- "unit": "UNKNOWN"
}
}
], - "failClosed": true,
- "timeout": "string"
}, - "externalService": {
- "domain": "string",
- "failClosed": true,
- "rateLimitServerUri": "string",
- "rules": [
- {
- "dimensions": [
- {
- "sourceCluster": { },
- "destinationCluster": { },
- "remoteAddress": { },
- "requestHeaders": {
- "headerName": null,
- "descriptorKey": null
}, - "headerValueMatch": {
- "headers": { },
- "descriptorValue": null,
- "dontMatch": null
}
}
]
}
], - "timeout": "string",
- "tls": {
- "mode": "DISABLED",
- "files": {
- "clientCertificate": "string",
- "privateKey": "string",
- "caCertificates": "string"
}, - "secretName": "string",
- "subjectAltNames": [
- "string"
]
}
}
}, - "transit": true,
- "trafficMode": "AUTO",
- "failoverSettings": {
- "topologyChoice": "NONE",
- "failoverPriority": [
- "string"
], - "regionalFailover": [
- {
- "from": "string",
- "to": "string"
}
]
}, - "openapi": {
- "fqn": "string",
- "validation": {
- "enabled": true,
- "allowUndefined": true,
- "pathPrefix": "string"
}
}, - "extensions": {
- "kong": {
- "plugins": [
- {
- "name": "string",
- "priority": 0,
- "config": {
- "inline": { },
- "secret": "string"
}, - "pluginSource": {
- "configMap": "string"
}
}
]
}
}
}
]
}
Download a Grafana dashboard in JSON format by providing the dashboard's name. The downloaded dashboard is intended to be uploaded to a Grafana instance. Platform operators can use each dashboard to monitor specific components of the TSB platform.
path Parameters
name required | string The name of the dashboard to download. |
Responses
Response samples
- 200
- default
{- "contentType": "string",
- "data": "string",
- "extensions": [
- {
- "@type": "string"
}
]
}
Return the cluster stats of an Istio Proxy
path Parameters
organization required | string Organization name. |
cluster required | string Cluster name. |
Request Body schema: application/jsonrequired
cluster required | string Fully-qualified name of the cluster the workload belongs to. |
outputFormat | string (GetClusterStatsRequestClusterStatsFormat) Default: "JSON" Enum: "JSON" "TEXT" Format of the cluster stats of an Istio Proxy.
|
required | object (tsbdiagnosticv2Workload) Name and namespace of a workload. |
Responses
Request samples
- Payload
{- "cluster": "string",
- "outputFormat": "JSON",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}
Response samples
- 200
- default
{- "output": "string",
- "outputFormat": "JSON"
}
Return a config dump from a workload (Istio Proxy)
path Parameters
organization required | string Organization name. |
cluster required | string Cluster name. |
Request Body schema: application/jsonrequired
object (v2GetConfigDumpRequestAll) Dump all configuration. | |
bootstrap | object (GetConfigDumpRequestBootstrap) Dump bootstrap configuration. |
cluster required | string Fully-qualified name of the cluster the workload belongs to. |
clusters | object (GetConfigDumpRequestClusters) Dump cluster configuration. |
ecds | object (GetConfigDumpRequestEcds) Dump typed extension configuration. |
endpoints | object (v2GetConfigDumpRequestEndpoints) Dump endpoint configuration. |
listeners | object (GetConfigDumpRequestListeners) Dump listener configuration. |
routes | object (GetConfigDumpRequestRoutes) Dump route configuration. |
secrets | object (v2GetConfigDumpRequestSecrets) Dump secret configuration. |
required | object (tsbdiagnosticv2Workload) Name and namespace of a workload. |
Responses
Request samples
- Payload
{- "all": {
- "includeEds": true
}, - "bootstrap": { },
- "cluster": "string",
- "clusters": { },
- "ecds": { },
- "endpoints": { },
- "listeners": { },
- "routes": { },
- "secrets": { },
- "workload": {
- "namespace": "string",
- "name": "string"
}
}
Response samples
- 200
- default
{- "output": "string"
}
Set the log levels of a workload
path Parameters
organization required | string Organization name. |
cluster required | string Cluster name. |
Request Body schema: application/jsonrequired
object (SetLoggerLevelsRequestAllLoggers) Desired level for all loggers. | |
cluster required | string Fully-qualified name of the cluster the workload belongs to. |
object (SetLoggerLevelsRequestGivenLoggers) Desired levels for given loggers. Available log levels are: trace, debug, info, warning/warn, error, critical, off. Examples: {"config": "trace", "grpc": "debug", "http": "debug", "http2": "debug"} See https://www.envoyproxy.io/docs/envoy/latest/operations/admin#post--logging for more details about loggers' naming. | |
required | object (tsbdiagnosticv2Workload) Name and namespace of a workload. |
Responses
Request samples
- Payload
{- "allLoggers": {
- "level": "string"
}, - "cluster": "string",
- "givenLoggers": {
- "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}, - "workload": {
- "namespace": "string",
- "name": "string"
}
}
Response samples
- 200
- default
{- "supportedLevels": [
- "string"
], - "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}
Return the logger levels of a workload
path Parameters
organization required | string Organization name. |
cluster required | string Cluster name. |
Request Body schema: application/jsonrequired
cluster required | string Fully-qualified name of the cluster the workload belongs to. |
required | object (tsbdiagnosticv2Workload) Name and namespace of a workload. |
Responses
Request samples
- Payload
{- "cluster": "string",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}
Response samples
- 200
- default
{- "supportedLevels": [
- "string"
], - "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}
Return the server stats of an Istio Proxy
path Parameters
organization required | string Organization name. |
cluster required | string Cluster name. |
Request Body schema: application/jsonrequired
cluster required | string Fully-qualified name of the cluster the workload belongs to. |
outputFormat | string (GetServerStatsRequestServerStatsFormat) Default: "JSON" Enum: "JSON" "TEXT" "PROMETHEUS" Format of the server stats of an Istio Proxy.
|
required | object (tsbdiagnosticv2Workload) Name and namespace of a workload. |
Responses
Request samples
- Payload
{- "cluster": "string",
- "outputFormat": "JSON",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}
Response samples
- 200
- default
{- "output": "string",
- "outputFormat": "JSON"
}
Return a stream of logs (the output of the `kubectl logs` command) of an Istio Proxy.
path Parameters
organization required | string Organization name. |
cluster required | string Cluster name. |
Request Body schema: application/jsonrequired
cluster required | string Fully-qualified name of the cluster to execute the diagnostic task in. |
follow | boolean Follow the log stream of the pod. Defaults to false. |
previous | boolean Return logs of the previous terminated container instead of the logs of the current container. Defaults to false. |
sinceSeconds | string <int64> A relative time in seconds before the current time from which to show logs. If this value precedes the time a pod was started, only logs since the pod start will be returned. If this value is in the future, no logs will be returned. |
required | object (tsbdiagnosticv2Workload) Name and namespace of a workload. |
Responses
Request samples
- Payload
{- "cluster": "string",
- "follow": true,
- "previous": true,
- "sinceSeconds": "string",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}
Response samples
- 200
- default
{- "error": {
- "code": 0,
- "message": "string",
- "details": [
- {
- "@type": "string"
}
]
}, - "result": {
- "output": "string"
}
}
Return the workload names under a given FQN resource and cluster.
path Parameters
organization required | string Organization name. |
cluster required | string Cluster name. |
Request Body schema: application/jsonrequired
cluster required | string Fully-qualified name of the cluster the workload belongs to. |
object (ListWorkloadsRequestFilter) Workloads filter. | |
pageSize | integer <int32> Optional. The maximum number of Workloads to return.
The service may return fewer than this value.
Rely on the |
pageToken | string Optional. A page token, received from a previous When paginating, all other parameters provided to |
Responses
Request samples
- Payload
{- "cluster": "string",
- "filter": {
- "namespace": "string",
- "serviceName": "string"
}, - "pageSize": 0,
- "pageToken": "string"
}
Response samples
- 200
- default
{- "workloads": [
- {
- "namespace": "string",
- "name": "string"
}
], - "nextPageToken": "string",
- "totalSize": 0
}
Return the cluster stats of an Istio Proxy
path Parameters
organization required | string Organization name. |
tenant required | string Tenant name. |
workspace required | string Workspace name. |
gatewaygroup required | string Gatewaygroup name. |
Request Body schema: application/jsonrequired
cluster required | string Fully-qualified name of the cluster the workload belongs to. |
outputFormat | string (GetClusterStatsRequestClusterStatsFormat) Default: "JSON" Enum: "JSON" "TEXT" Format of the cluster stats of an Istio Proxy.
|
required | object (tsbdiagnosticv2Workload) Name and namespace of a workload. |
Responses
Request samples
- Payload
{- "cluster": "string",
- "outputFormat": "JSON",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}
Response samples
- 200
- default
{- "output": "string",
- "outputFormat": "JSON"
}
Return a config dump from a workload (Istio Proxy)
path Parameters
organization required | string Organization name. |
tenant required | string Tenant name. |
workspace required | string Workspace name. |
gatewaygroup required | string Gatewaygroup name. |
Request Body schema: application/jsonrequired
object (v2GetConfigDumpRequestAll) Dump all configuration. | |
bootstrap | object (GetConfigDumpRequestBootstrap) Dump bootstrap configuration. |
cluster required | string Fully-qualified name of the cluster the workload belongs to. |
clusters | object (GetConfigDumpRequestClusters) Dump cluster configuration. |
ecds | object (GetConfigDumpRequestEcds) Dump typed extension configuration. |
endpoints | object (v2GetConfigDumpRequestEndpoints) Dump endpoint configuration. |
listeners | object (GetConfigDumpRequestListeners) Dump listener configuration. |
routes | object (GetConfigDumpRequestRoutes) Dump route configuration. |
secrets | object (v2GetConfigDumpRequestSecrets) Dump secret configuration. |
required | object (tsbdiagnosticv2Workload) Name and namespace of a workload. |
Responses
Request samples
- Payload
{- "all": {
- "includeEds": true
}, - "bootstrap": { },
- "cluster": "string",
- "clusters": { },
- "ecds": { },
- "endpoints": { },
- "listeners": { },
- "routes": { },
- "secrets": { },
- "workload": {
- "namespace": "string",
- "name": "string"
}
}
Response samples
- 200
- default
{- "output": "string"
}
Set the log levels of a workload
path Parameters
organization required | string Organization name. |
tenant required | string Tenant name. |
workspace required | string Workspace name. |
gatewaygroup required | string Gatewaygroup name. |
Request Body schema: application/jsonrequired
object (SetLoggerLevelsRequestAllLoggers) Desired level for all loggers. | |
cluster required | string Fully-qualified name of the cluster the workload belongs to. |
object (SetLoggerLevelsRequestGivenLoggers) Desired levels for given loggers. Available log levels are: trace, debug, info, warning/warn, error, critical, off. Examples: {"config": "trace", "grpc": "debug", "http": "debug", "http2": "debug"} See https://www.envoyproxy.io/docs/envoy/latest/operations/admin#post--logging for more details about loggers' naming. | |
required | object (tsbdiagnosticv2Workload) Name and namespace of a workload. |
Responses
Request samples
- Payload
{- "allLoggers": {
- "level": "string"
}, - "cluster": "string",
- "givenLoggers": {
- "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}, - "workload": {
- "namespace": "string",
- "name": "string"
}
}
Response samples
- 200
- default
{- "supportedLevels": [
- "string"
], - "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}
Return the logger levels of a workload
path Parameters
organization required | string Organization name. |
tenant required | string Tenant name. |
workspace required | string Workspace name. |
gatewaygroup required | string Gatewaygroup name. |
Request Body schema: application/jsonrequired
cluster required | string Fully-qualified name of the cluster the workload belongs to. |
required | object (tsbdiagnosticv2Workload) Name and namespace of a workload. |
Responses
Request samples
- Payload
{- "cluster": "string",
- "workload": {
- "namespace": "string",
- "name": "string"
}
}
Response samples
- 200
- default
{- "supportedLevels": [
- "string"
], - "loggerLevels": {
- "property1": "string",
- "property2": "string"
}
}
Return the server stats of an Istio Proxy
path Parameters
organization required | string Organization name. |
tenant required | string Tenant name. |
workspace required | string Workspace name. |
gatewaygroup required | string Gatewaygroup name. |
Request Body schema: application/jsonrequired
cluster required | string Fully-qualified name of the cluster the workload belongs to. |
outputFormat | string (GetServerStatsRequestServerStatsFormat) Default: "JSON" Enum: "JSON" "TEXT" "PROMETHEUS" Format of the server stats of an Istio Proxy.
|
required | object (tsbdiagnosticv2Workload) Name and namespace of a workload. |